From 909a983aa24520f13ea8654910de3ed7fada0f26 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 28 Jan 2017 15:23:23 +0100 Subject: [PATCH] xaos: fix x86_64 build. * disable cffe on x86_64 which only builds on i386. * depends on libgsl instead. --- haiku-apps/xaos/patches/xaos-3.4.patchset | 170 +++++++++++++++++++--- haiku-apps/xaos/xaos-3.4.recipe | 52 ++++--- 2 files changed, 186 insertions(+), 36 deletions(-) diff --git a/haiku-apps/xaos/patches/xaos-3.4.patchset b/haiku-apps/xaos/patches/xaos-3.4.patchset index 648e56b46..233ab9b4d 100644 --- a/haiku-apps/xaos/patches/xaos-3.4.patchset +++ b/haiku-apps/xaos/patches/xaos-3.4.patchset @@ -1,4 +1,4 @@ -From aa4a5127a0d1a0b3b81de73eb65d41f9e592e82e Mon Sep 17 00:00:00 2001 +From 2da9ae191566cee555b74494f52f650f4fecfaa5 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:06:37 +0300 Subject: Haiku: add support to configure @@ -17,10 +17,10 @@ index 38ff586..931222d 100644 if test "$win32_driver_test" = yes; then win32_driver=no -- -2.2.2 +2.10.2 -From 7890610393ac8627173cf1552f51095ce72d16d0 Mon Sep 17 00:00:00 2001 +From c745bbd005aec60aafb5d7f0f2d0e3c4acf87a9e Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:07:27 +0300 Subject: Haiku: replace __BEOS__ with __HAIKU__ @@ -53,10 +53,10 @@ index 8553574..28b8dbf 100644 #ifdef __POWERPC__ # define SLOWCACHESYNC -- -2.2.2 +2.10.2 -From 4ca84e137cc980f8808b28deadd8368c94137700 Mon Sep 17 00:00:00 2001 +From 1689da8ff5983ed4556b76f792a0c29e781aa349 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:08:40 +0300 Subject: Haiku: add missing resource file @@ -686,10 +686,10 @@ literal 0 HcmV?d00001 -- -2.2.2 +2.10.2 -From 9610901c27a5952cb00e03a6260cbe7a7b822b65 Mon Sep 17 00:00:00 2001 +From 65921b1d1f1e9bf2aceb34f89f4cac9d044330c0 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:12:48 +0300 Subject: Haiku: add missing includes @@ -753,10 +753,10 @@ index 57882f6..7fe1436 100644 #include "XaoSWindow.h" #include "XaoSDirectWindow.h" -- -2.2.2 +2.10.2 -From 203f66d1669158e089564df2a0d88ccccc764dcf Mon Sep 17 00:00:00 2001 +From bab379bdbe734527cf365f7b6eb3f49234fafcb8 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:13:31 +0300 Subject: Haiku: replace mwbres with xres @@ -776,10 +776,10 @@ index bbcac17..3ad574a 100644 clean: rm -f $(TLIB) -- -2.2.2 +2.10.2 -From 4d7b16ec12d7c2cd25a4d76b0ea044a70bf40760 Mon Sep 17 00:00:00 2001 +From 22f0ec430251b17c4803908744868463e972361b Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:15:05 +0300 Subject: Haiku: fix duplicate type qualifiers @@ -852,10 +852,10 @@ index 16ff1fb..0293b33 100644 return mFontHeight.ascent + mFontHeight.descent + mFontHeight.leading; } -- -2.2.2 +2.10.2 -From 126762116c74e86dd5e05b4c0e2fdfd3a0836954 Mon Sep 17 00:00:00 2001 +From a4e46814862ae952468b9c7ea3bc05e2a2d5cb60 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:15:49 +0300 Subject: Haiku: comment out XaoSMenu::EnableDisable for now as it crashes XaoS @@ -884,10 +884,10 @@ index ba830f6..b30fbce 100644 void XaoSMenu::AddToList(XaoSMenu *m) { -- -2.2.2 +2.10.2 -From 6e776ac97be5d7ce357b7ad345376501d06f3f26 Mon Sep 17 00:00:00 2001 +From 288000c8f3034b109ce3377c543995caee1645fb Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:16:34 +0300 Subject: Fix png.c for compatibility with libpng >= 1.5 @@ -1029,10 +1029,10 @@ index ef2ecb3..26f2e8c 100644 +} #endif -- -2.2.2 +2.10.2 -From 1c66696b54286c72183b8c5db26b1b94f043c117 Mon Sep 17 00:00:00 2001 +From 24af71516ca293282c773219581df075aea4e7c6 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Fri, 20 Mar 2015 15:18:04 +0300 Subject: Fix multiple definition of globaluih link error @@ -1065,5 +1065,139 @@ index f49ec81..4f202fc 100644 {"-delay", P_NUMBER, &delaytime, "Delay screen updates (milliseconds)"}, -- -2.2.2 +2.10.2 + + +From a7fa4442f585954d6bd4fa234ef18404455d62c3 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 28 Jan 2017 14:33:55 +0100 +Subject: fix some warnings and errors on gcc5 + + +diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.cpp b/src/ui/ui-drv/BeOS/XaoSApplication.cpp +index 9b82fd2..753b36d 100644 +--- a/src/ui/ui-drv/BeOS/XaoSApplication.cpp ++++ b/src/ui/ui-drv/BeOS/XaoSApplication.cpp +@@ -17,6 +17,7 @@ + + #include + #include ++#include + + #include + #include +@@ -120,7 +121,7 @@ void XaoSApplication::InstallMimeTypes() + + BBitmap xpfsmall(BRect(0, 0, B_MINI_ICON - 1, B_MINI_ICON - 1), B_COLOR_8_BIT); + xpfsmall.SetBits(pResource, xpfsmall.BitsLength(),0,B_COLOR_8_BIT); +- delete pResource; ++ free(pResource); + + + pResource = resources.FindResource('ICON', (int32) 0, &length); +@@ -130,7 +131,7 @@ void XaoSApplication::InstallMimeTypes() + } + BBitmap xpflarge(BRect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON - 1), B_COLOR_8_BIT); + xpflarge.SetBits(pResource, xpflarge.BitsLength(),0,B_COLOR_8_BIT); +- delete pResource; ++ free(pResource); + + pResource = resources.FindResource((type_code) 'MICN', (int32) 1, &length); + if (!pResource) { +@@ -140,7 +141,7 @@ void XaoSApplication::InstallMimeTypes() + + BBitmap xafsmall(BRect(0, 0, B_MINI_ICON - 1, B_MINI_ICON - 1), B_COLOR_8_BIT); + xafsmall.SetBits(pResource, xafsmall.BitsLength(),0,B_COLOR_8_BIT); +- delete pResource; ++ free(pResource); + + + pResource = resources.FindResource('ICON', (int32) 1, &length); +@@ -150,7 +151,7 @@ void XaoSApplication::InstallMimeTypes() + } + BBitmap xaflarge(BRect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON - 1), B_COLOR_8_BIT); + xaflarge.SetBits(pResource, xpflarge.BitsLength(),0,B_COLOR_8_BIT); +- delete pResource; ++ free(pResource); + mime.SetType("image/x-xaos-position"); + mime.GetShortDescription(name); + if (!mime.IsInstalled() || strcmp(name,xpfdesc)) { +@@ -366,7 +367,7 @@ XaoSApplication::ReadyToRun(void) + } + } + +-long ++status_t + XaoSApplication::MainThread(void *data) + { + XaoSApplication *pApp = (XaoSApplication *)data; +@@ -412,7 +413,7 @@ XaoSApplication::MakeSplashBitmap(void) + // Unflatten the resource. + BMessage archived; + status_t status = archived.Unflatten((const char *)pResource); +- delete pResource; ++ free(pResource); + if (status != B_NO_ERROR) { + return 0; + } +diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.h b/src/ui/ui-drv/BeOS/XaoSApplication.h +index 6521069..f56d8e8 100644 +--- a/src/ui/ui-drv/BeOS/XaoSApplication.h ++++ b/src/ui/ui-drv/BeOS/XaoSApplication.h +@@ -49,7 +49,7 @@ private: + void InstallMimeTypes (void); + + // Auxiliary methods. +- static long MainThread (void *data); ++ static status_t MainThread (void *data); + BBitmap *MakeSplashBitmap (void); + + // Data members. +diff --git a/src/ui/ui-drv/BeOS/XaoSDirectScreen.h b/src/ui/ui-drv/BeOS/XaoSDirectScreen.h +index 7461590..c8b45a8 100644 +--- a/src/ui/ui-drv/BeOS/XaoSDirectScreen.h ++++ b/src/ui/ui-drv/BeOS/XaoSDirectScreen.h +@@ -18,6 +18,7 @@ + #ifndef XAOSDIRECTSCREEN_H + #define XAOSDIRECTSCREEN_H + ++#include + #include + #include + #include "XaoSEvent.h" +diff --git a/src/ui/ui-drv/BeOS/be_possitionio.cpp b/src/ui/ui-drv/BeOS/be_possitionio.cpp +index 0e0bf10..14bf199 100644 +--- a/src/ui/ui-drv/BeOS/be_possitionio.cpp ++++ b/src/ui/ui-drv/BeOS/be_possitionio.cpp +@@ -3,6 +3,7 @@ + Hopefully IO is not the major problem in replaying XaoS files :)*/ + #include + #include ++#include + #include "xio.h" + struct bfile { + BPositionIO *f; +diff --git a/src/ui/ui-drv/BeOS/ui_be.cpp b/src/ui/ui-drv/BeOS/ui_be.cpp +index 7fe1436..94d23cc 100644 +--- a/src/ui/ui-drv/BeOS/ui_be.cpp ++++ b/src/ui/ui-drv/BeOS/ui_be.cpp +@@ -24,6 +24,7 @@ + + #include + #include ++#include + #include + #include + +@@ -91,7 +92,7 @@ static char *gpFractalBuffers[2] = // fractal buffers + static int gCurrentBuffer; + + extern int be_noalert; +-extern struct ui_driver be_driver, be_direct_driver, be_screen_driver; ++extern "C" struct ui_driver be_driver, be_direct_driver, be_screen_driver; + static int color8bit = 0; // parameters settable from command line + static int bitmap = 0; + static int truecolor = 0; +-- +2.10.2 diff --git a/haiku-apps/xaos/xaos-3.4.recipe b/haiku-apps/xaos/xaos-3.4.recipe index 9da6788f7..a7a535c3e 100644 --- a/haiku-apps/xaos/xaos-3.4.recipe +++ b/haiku-apps/xaos/xaos-3.4.recipe @@ -23,18 +23,41 @@ Thomas Marsh and Jan Hubicka, and it is currently maintained by Zoltan Kovacs \ and J.B. Langston. Countless other improvements have been contributed by \ volunteers around the world. You can help improve XaoS, too." HOMEPAGE="http://xaos.sf.net" -SOURCE_URI="https://github.com/xaos-project/XaoS/archive/release-$portVersion.zip" -CHECKSUM_SHA256="7b2a802c638ed880a86db4b2feccc7fc949599916329b799807758dca61d6eb8" -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" -REVISION="1" LICENSE="GNU GPL v2" COPYRIGHT="2008 GNU XaoS Contributors" +REVISION="1" +SOURCE_URI="https://github.com/xaos-project/XaoS/archive/release-$portVersion.zip" +CHECKSUM_SHA256="7b2a802c638ed880a86db4b2feccc7fc949599916329b799807758dca61d6eb8" +SOURCE_DIR="XaoS-release-$portVersion" +PATCHES="xaos-$portVersion.patchset" + +ARCHITECTURES="x86_gcc2 ?x86 x86_64" PROVIDES=" xaos app:XaoS = $portVersion " +REQUIRES=" + lib:libgsl$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + " +if [ $effectiveTargetArchitecture == x86_64 ]; then + REQUIRES+=" + lib:libgsl$secondaryArchSuffix + " +fi +BUILD_REQUIRES=" + devel:libgsl$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + " +if [ $effectiveTargetArchitecture == x86_64 ]; then + BUILD_REQUIRES+=" + devel:libgsl$secondaryArchSuffix + " +fi BUILD_PREREQUIRES=" haiku_devel cmd:gcc @@ -42,24 +65,17 @@ BUILD_PREREQUIRES=" cmd:make cmd:nasm " -BUILD_REQUIRES=" - devel:libiconv$secondaryArchSuffix - devel:libintl$secondaryArchSuffix - " - -REQUIRES=" - lib:libiconv$secondaryArchSuffix - lib:libintl$secondaryArchSuffix - " - -SOURCE_DIR="XaoS-release-$portVersion" - -PATCHES="xaos-$portVersion.patchset" BUILD() { libtoolize --force --copy --install - LDFLAGS="-lintl -liconv" sh configure + ldflags="-lintl -liconv" + configureFlags= + if [ $effectiveTargetArchitecture == x86_64 ]; then + ldflags="$ldflags -lstdc++" + configureFlags=--disable-cffe + fi + LDFLAGS=$ldflags sh configure $configureFlags make $jobArgs }