From bedbddc6a2679d848a7fb6262bae93a9c1101e8c Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 May 2014 10:15:31 +0200 Subject: [PATCH 1/6] Add recipe for haikuwebkit 1.3.1. --- .../haikuwebkit/haikuwebkit-1.3.1.recipe | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 haiku-libs/haikuwebkit/haikuwebkit-1.3.1.recipe diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.3.1.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.3.1.recipe new file mode 100644 index 000000000..8f4f94b61 --- /dev/null +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.3.1.recipe @@ -0,0 +1,112 @@ +SUMMARY="Open source web browser engine" +DESCRIPTION=" +WebKit is an open source web browser engine. WebKit is also the name of the \ +Mac OS X system framework version of the engine that's used by Safari, \ +Dashboard, Mail, and many other OS X applications. WebKit's HTML and \ +JavaScript code began as a branch of the KHTML and KJS libraries from KDE. +" +HOMEPAGE="http://www.webkit.org/" +COPYRIGHT="1998-2014 Apple Inc., Google Inc., et al" +LICENSE=" + GNU LGPL v2 + GNU LGPL v2.1 + MIT + " +SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="a1992fd1001d85d431b469addf62451eccd8d491c14a82b1a4fd478c731aa41d" +SRC_FILENAME="haikuwebkit-$portVersion.tar.gz" +REVISION="1" +ARCHITECTURES="x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + + +if [ $effectiveTargetArchitecture == x86_64 ]; then + PATCHES="haikuwebkit-1.2.5.patchset" +fi + +PROVIDES=" + haikuwebkit$secondaryArchSuffix = $portVersion + lib:libWebKit$secondaryArchSuffix = $portVersion + cmd:jsc$secondaryArchSuffix + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libicuuc$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libxslt$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + haiku_devel >= $haikuVersion + devel:libicuuc$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libavcodec$secondaryArchSuffix + devel:libexecinfo$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:pkg_config + cmd:flex + cmd:bison + cmd:gcc$secondaryArchSuffix + cmd:gperf + cmd:ld$secondaryArchSuffix + cmd:m4 + cmd:make + cmd:perl + cmd:python + cmd:cmake + cmd:ruby + " + +SOURCE_DIR="webkit-$portVersion" + +BUILD() +{ + export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig" + Tools/Scripts/build-webkit --haiku --no-webkit2 \ + --cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix" +} + +INSTALL() +{ + cd WebKitBuild/Release + make install + + rm $developLibDir/* + prepareInstalledDevelLibs libWebKit + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + haikuwebkit${secondaryArchSuffix}_devel = $portVersion + devel:libjavascriptcore$secondaryArchSuffix = $portVersion + devel:libwebcore$secondaryArchSuffix = $portVersion + devel:libWebKit$secondaryArchSuffix = $portVersion + devel:libwtf$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + haikuwebkit$secondaryArchSuffix == $portVersion base + " From ddbd5bcb91bd7764b01408372c75567d83af0f86 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 May 2014 10:18:54 +0200 Subject: [PATCH 2/6] libedit: hybrid support. --- .../libedit/libedit-2012_06_01_3.0.recipe | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/dev-libs/libedit/libedit-2012_06_01_3.0.recipe b/dev-libs/libedit/libedit-2012_06_01_3.0.recipe index e1d3ac50c..7663a3d7a 100644 --- a/dev-libs/libedit/libedit-2012_06_01_3.0.recipe +++ b/dev-libs/libedit/libedit-2012_06_01_3.0.recipe @@ -12,26 +12,27 @@ SRC_URI="http://www.thrysoee.dk/editline/libedit-20120601-3.0.tar.gz" CHECKSUM_SHA256="51f0f4b4a97b7ebab26e7b5c2564c47628cdb3042fd8ba8d0605c719d2541918" REVISION="1" ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" PATCHES="libedit-2012_06_01_3.0.patch" PROVIDES=" - libedit = $portVersion - lib:libedit = 0.0.41 compat >= 0 + libedit$secondaryArchSuffix = $portVersion + lib:libedit$secondaryArchSuffix = 0.0.41 compat >= 0 " REQUIRES=" - haiku >= $haikuVersion - lib:libncurses + haiku$secondaryArchSuffix >= $haikuVersion + lib:libncurses$secondaryArchSuffix " BUILD_REQUIRES=" - devel:libncurses + devel:libncurses$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku_devel >= $haikuVersion + haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:aclocal cmd:autoreconf - cmd:gcc - cmd:ld + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix cmd:libtoolize cmd:make cmd:sed @@ -63,9 +64,9 @@ INSTALL() # ----- devel package ------------------------------------------------------- PROVIDES_devel=" - libedit_devel = $portVersion - devel:libedit = 0.0.41 compat >= 0 + libedit${secondaryArchSuffix}_devel = $portVersion + devel:libedit$secondaryArchSuffix = 0.0.41 compat >= 0 " REQUIRES_devel=" - libedit == $portVersion base + libedit$secondaryArchSuffix == $portVersion base " From 57fb59495f8947dd732893ed09ae05f8db0cfd93 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 May 2014 10:19:23 +0200 Subject: [PATCH 3/6] ffmpeg: turn 0.11 into valid recipe. * Still doesn't build on gcc4.8 (same inline asm problems as 0.10) --- media-video/ffmpeg/ffmpeg-0.11.1.recipe | 160 +++++++++++++++++++++--- 1 file changed, 144 insertions(+), 16 deletions(-) diff --git a/media-video/ffmpeg/ffmpeg-0.11.1.recipe b/media-video/ffmpeg/ffmpeg-0.11.1.recipe index 7012ca25f..8fc9a25b2 100644 --- a/media-video/ffmpeg/ffmpeg-0.11.1.recipe +++ b/media-video/ffmpeg/ffmpeg-0.11.1.recipe @@ -1,33 +1,161 @@ +SUMMARY="Audio and video recording, conversion, and streaming library" DESCRIPTION=" FFmpeg is a complete, cross-platform solution to record, convert and stream \ audio and video. It includes libavcodec - the leading audio/video codec library. " HOMEPAGE="http://www.ffmpeg.org" +LICENSE=" + GNU LGPL v2.1 + GNU GPL v2 + " +COPYRIGHT=" + 2000-2003 Fabrice Bellard + 2003-2012 the FFmpeg developers + " SRC_URI="http://www.ffmpeg.org/releases/ffmpeg-0.11.1.tar.bz2" CHECKSUM_MD5="ff8cb914f657e164dd60ea1008b555a8" REVISION="1" -STATUS_HAIKU="stable" -DEPEND="media-libs/libogg >= 1.3.0 - media-libs/speex >= 1.2rc1 - media-libs/libtheora >= 1.1.0 - media-libs/libvorbis >= 1.3.2 - media-libs/libvpx >= 1.0.0" +ARCHITECTURES="x86" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + ffmpeg$secondaryArchSuffix = $portVersion compat >= 0.11 + lib:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53 + lib:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53 + lib:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2 + lib:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53 + lib:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51 + lib:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0 + lib:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2 + " +if [ -z "$secondaryArchSuffix" ]; then + PROVIDES="$PROVIDES + cmd:ffmpeg = $portVersion compat >= 0.11 + cmd:ffprobe = $portVersion compat >= 0.11 + cmd:ffserver = $portVersion compat >= 0.11 + " +fi + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libbz2$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libspeex$secondaryArchSuffix + lib:libtheoradec$secondaryArchSuffix + lib:libtheoraenc$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + lib:libvorbisenc$secondaryArchSuffix + lib:libvpx$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " +BUILD_REQUIRES=" + devel:libbz2$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libspeex$secondaryArchSuffix + devel:libtheora$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + devel:libvpx$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:awk + cmd:make + cmd:perl + cmd:pkg_config + cmd:texi2html + cmd:yasm + " + +GLOBAL_WRITABLE_FILES=" + settings/ffserver.conf + " + +PATCH() +{ + # patch hard-coded config file path + sed -i "s,/etc/ffserver.conf,$sysconfDir/ffserver.conf," \ + ffserver.c \ + doc/ffserver.texi + + # patch hard-coded paths to perl + sed -i "s,/usr/bin/perl,$portPackageLinksDir/cmd~perl/bin/perl," \ + Doxyfile \ + doc/texi2pod.pl +} + BUILD() { - cd ffmpeg-0.11.1 - ./configure --prefix=`finddir B_COMMON_DIRECTORY` --disable-debug --enable-shared \ - --enable-libvorbis --enable-libspeex --enable-libtheora --enable-libvpx \ - --datadir=`finddir B_COMMON_DATA_DIRECTORY` - make + # not an auto tools configure + ./configure \ + --prefix=$prefix \ + --bindir=$binDir \ + --datadir=$dataDir/$portName \ + --incdir=$includeDir \ + --libdir=$libDir \ + --shlibdir=$libDir \ + --mandir=$manDir \ + --disable-debug \ + --enable-shared \ + --enable-libvorbis \ + --enable-libspeex \ + --enable-libtheora \ + --enable-libvpx + make $jobArgs } INSTALL() { - cd ffmpeg-0.11.1 make install + + rm $binDir/ffprobe + # TODO: Determine and fix what is wrong with ffprobe! The executable + # seems to be broken. The NEEDED entries in the dynamic section look + # weird and the runtime loader fails relocating with "Operation not + # allowed". + + prepareInstalledDevelLibs \ + libavcodec \ + libavdevice \ + libavfilter \ + libavformat \ + libavutil \ + libswresample \ + libswscale + fixPkgconfig + + # include the documented ffserver.conf + mkdir -p $docDir + cp doc/ffserver.conf $docDir + + # devel package + packageEntries devel \ + $developDir + + # Remove stuff we don't need in the secondary architecture base package. + if [ -n "$secondaryArchSuffix" ]; then + rm -rf $prefix/bin + rm -rf $documentationDir + fi } -LICENSE="GNU LGPL v2.1 - GNU GPL v2" -COPYRIGHT="2000-2003 Fabrice Bellard - 2003-2012 the FFmpeg developers" +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + ffmpeg${secondaryArchSuffix}_devel = $portVersion compat >= 0.11 + devel:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53 + devel:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53 + devel:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2 + devel:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53 + devel:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51 + devel:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0 + devel:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2 + " +REQUIRES_devel=" + ffmpeg$secondaryArchSuffix == $portVersion + " From eb50a4e9211efd9f2b692ed7438f772a0702e334 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 May 2014 10:20:49 +0200 Subject: [PATCH 4/6] libclaw: various fixes. --- dev-libs/libclaw/libclaw-1.7.4.recipe | 26 ++++++-- .../libclaw/patches/libclaw-1.7.4.patchset | 61 ++++++++++++++++++- 2 files changed, 81 insertions(+), 6 deletions(-) diff --git a/dev-libs/libclaw/libclaw-1.7.4.recipe b/dev-libs/libclaw/libclaw-1.7.4.recipe index ddac2e5b2..b9c8b138b 100644 --- a/dev-libs/libclaw/libclaw-1.7.4.recipe +++ b/dev-libs/libclaw/libclaw-1.7.4.recipe @@ -33,12 +33,20 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" libclaw$secondaryArchSuffix = $portVersion - lib:libclaw$secondaryArchSuffix + lib:libclaw_application$secondaryArchSuffix + lib:libclaw_configuration_file$secondaryArchSuffix + lib:libclaw_dynamic_library$secondaryArchSuffix + lib:libclaw_graphic$secondaryArchSuffix + lib:libclaw_logger$secondaryArchSuffix + lib:libclaw_net$secondaryArchSuffix + lib:libclaw_tween$secondaryArchSuffix cmd:claw_config " REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion + lib:libstdc++$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix lib:libpng$secondaryArchSuffix lib:libz$secondaryArchSuffix " @@ -48,15 +56,15 @@ BUILD_REQUIRES=" devel:libjpeg$secondaryArchSuffix devel:libpng$secondaryArchSuffix devel:libz$secondaryArchSuffix + devel:libintl$secondaryArchSuffix boost_devel${secondaryArchSuffix} " BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix - cmd:cmake + cmd:cmake >= 3.0 cmd:make - cmd:gettext " PATCHES="libclaw-$portVersion.patchset" @@ -70,6 +78,10 @@ INSTALL() { make install + prepareInstalledDevelLibs libclaw_application libclaw_configuration_file \ + libclaw_dynamic_library libclaw_graphic libclaw_logger libclaw_net \ + libclaw_tween + packageEntries devel $developDir $libDir/libclaw/ } @@ -79,7 +91,13 @@ TEST() { PROVIDES_devel=" libclaw${secondaryArchSuffix}_devel = $portVersion - devel:libclaw$secondaryArchSuffix + devel:libclaw_application$secondaryArchSuffix + devel:libclaw_configuration_file$secondaryArchSuffix + devel:libclaw_dynamic_library$secondaryArchSuffix + devel:libclaw_graphic$secondaryArchSuffix + devel:libclaw_logger$secondaryArchSuffix + devel:libclaw_net$secondaryArchSuffix + devel:libclaw_tween$secondaryArchSuffix " REQUIRES_devel=" diff --git a/dev-libs/libclaw/patches/libclaw-1.7.4.patchset b/dev-libs/libclaw/patches/libclaw-1.7.4.patchset index 23b771b53..9d5527911 100644 --- a/dev-libs/libclaw/patches/libclaw-1.7.4.patchset +++ b/dev-libs/libclaw/patches/libclaw-1.7.4.patchset @@ -1,4 +1,4 @@ -From 3741d051e648f729859cb3957be8cfb35a3263c1 Mon Sep 17 00:00:00 2001 +From fa045ed22d1276b0c7deae6f5ca5cf71a58dbe3d Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 5 Apr 2014 18:04:49 +0200 Subject: Add missing include. @@ -20,7 +20,7 @@ index 16761ab..bc471b0 100644 1.8.3.4 -From 5e3860a46838f92828846b2f8408ea2a458ae9b8 Mon Sep 17 00:00:00 2001 +From f8da4cf7165d68763faa5f3955c79b2f1fff7e32 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 5 Apr 2014 18:09:50 +0200 Subject: Fix installation paths for Haiku. @@ -87,3 +87,60 @@ index f0973ac..8de90bd 100644 -- 1.8.3.4 + +From 5850bb81673005cf0101b5470749792989a380eb Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sun, 6 Apr 2014 14:34:30 +0200 +Subject: Fix claw-config to do the right thing. + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 66607b0..89f0d4e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,19 +28,20 @@ if(SVN_ENTRIES) + endif(SVN_ENTRIES) + + if (HAIKU) +-set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/develop/headers/" ) +-set( CLAW_INSTALLDIR_DOC data/doc/libclaw${CLAW_VERSION_MAJOR}/ ) +-set( CLAW_TRANSLATIONS_INSTALL_DIR "data/locale" ) +-set( CLAW_INSTALLDIR_SOURCE develop/headers/claw/ ) ++ set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/develop/headers/${CMAKE_HAIKU_SECONDARY_ARCH}" ) ++ set( CLAW_INSTALLDIR_DOC data/doc/libclaw${CLAW_VERSION_MAJOR}/ ) ++ set( CLAW_TRANSLATIONS_INSTALL_DIR "data/locale" ) ++ set( CLAW_INSTALLDIR_SOURCE develop/headers/${CMAKE_HAIKU_SECONDARY_ARCH}/claw/ ) ++ set( CLAW_INSTALLDIR_LIB lib/${CMAKE_HAIKU_SECONDARY_ARCH}/ ) + else() +-set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include/" ) +-set( CLAW_INSTALLDIR_DOC share/doc/libclaw${CLAW_VERSION_MAJOR}/ ) +-set( CLAW_TRANSLATIONS_INSTALL_DIR "share/locale" ) +-set( CLAW_INSTALLDIR_SOURCE include/claw/ ) ++ set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include/" ) ++ set( CLAW_INSTALLDIR_DOC share/doc/libclaw${CLAW_VERSION_MAJOR}/ ) ++ set( CLAW_TRANSLATIONS_INSTALL_DIR "share/locale" ) ++ set( CLAW_INSTALLDIR_SOURCE include/claw/ ) ++ set( CLAW_INSTALLDIR_LIB lib/ ) + endif() + + set( CLAW_CODE_DIR claw/code/ ) +-set( CLAW_INSTALLDIR_LIB lib/ ) + set( CLAW_EXECUTABLE_DIR bin/ ) + + set( CLAW_LIBRARIES +diff --git a/claw-config.in b/claw-config.in +index 73b2b10..c0a8fa5 100755 +--- a/claw-config.in ++++ b/claw-config.in +@@ -140,7 +140,7 @@ while test $# -gt 0; do + echo -I$CLAW_INCLUDE_DIRECTORY + ;; + --libs) +- libdirs="-L${exec_prefix}/lib " ++ libdirs="-L${exec_prefix}/@CLAW_INSTALLDIR_LIB@ " + + echo -n "$libdirs" + echo $(print_libraries) +-- +1.8.3.4 + From bff90a2b8407656f02a0bc4b4461e98be13f5c1d Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 May 2014 10:21:44 +0200 Subject: [PATCH 5/6] llvm: add TEST rule. --- sys-devel/llvm/llvm-3.4.recipe | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys-devel/llvm/llvm-3.4.recipe b/sys-devel/llvm/llvm-3.4.recipe index ed74c990b..e2eb42455 100644 --- a/sys-devel/llvm/llvm-3.4.recipe +++ b/sys-devel/llvm/llvm-3.4.recipe @@ -88,3 +88,8 @@ INSTALL() { make install } + +TEST() +{ + make check +} From fe96b245165d3ae3f1e92dfe65e09310461b5b02 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 1 May 2014 14:09:06 +0200 Subject: [PATCH 6/6] Add recipe for XAMOS. --- dev-lang/xamos/patches/xamos-0.29.patchset | 81 ++++++++++++++++++++++ dev-lang/xamos/xamos-0.29.recipe | 55 +++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 dev-lang/xamos/patches/xamos-0.29.patchset create mode 100644 dev-lang/xamos/xamos-0.29.recipe diff --git a/dev-lang/xamos/patches/xamos-0.29.patchset b/dev-lang/xamos/patches/xamos-0.29.patchset new file mode 100644 index 000000000..d02174797 --- /dev/null +++ b/dev-lang/xamos/patches/xamos-0.29.patchset @@ -0,0 +1,81 @@ +From f02982020ebc693e0f1c6f10523fa54282a42cce Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Thu, 1 May 2014 13:52:57 +0200 +Subject: Fix build on gcc2, add Haiku makefile. + + +diff --git a/src/GameEngineWrapper.cpp b/src/GameEngineWrapper.cpp +index d3099a8..854d8fb 100644 +--- a/src/GameEngineWrapper.cpp ++++ b/src/GameEngineWrapper.cpp +@@ -2416,7 +2416,7 @@ bool GameEngineWrapper::sdlinit() + #endif + + // Set the window caption (patch - do not use Unicode on Amiga-like systems which do not support it): +-#if defined(USESDL) && !defined(AMIGOID) ++#if defined(USESDL) && !defined(AMIGOID) && __GNUC__ > 2 + SDL_WM_SetCaption( "XAMOS alpha 0.29 \u00a9 2012 Mequa Innovations", NULL ); // \u00a9 + #endif + #if defined(USESDL) && defined(AMIGOID) +diff --git a/src/GameEngineWrapper.h b/src/GameEngineWrapper.h +index 60f27c7..c9f2c67 100644 +--- a/src/GameEngineWrapper.h ++++ b/src/GameEngineWrapper.h +@@ -46,6 +46,9 @@ using namespace boost; + + #if defined(USESDL) && !defined(USEBOOST) + // Deprecated: ++#if __GNUC__ <= 2 ++#include ++#else + #include + + // TODO - allow hash_map for other compilers besides G++ +@@ -54,6 +57,7 @@ using namespace __gnu_cxx; + // Added - fix for hash_map using std::string: + namespace __gnu_cxx //std + { ++#endif + template<> struct hash< std::string > + { + size_t operator()( const std::string& x ) const +@@ -61,8 +65,10 @@ namespace __gnu_cxx //std + return hash< const char* >()( x.c_str() ); + } + }; ++#if __GNUC__ > 2 + } + #endif ++#endif + + // Added - detect all Amiga-like systems: + #if !defined(AMIGOID) && (defined(__AROS__) || defined(__MORPHOS__) || defined(__amigaos__) || defined (__amigaos4__)) +diff --git a/src/Makefile_haiku b/src/Makefile_haiku +new file mode 100644 +index 0000000..25e31e6 +--- /dev/null ++++ b/src/Makefile_haiku +@@ -0,0 +1,20 @@ ++CC=g++ ++ ++CFLAGS=-c -Wall -pedantic -Wno-deprecated -O3 -D USESDL ++LDFLAGS=-lSDL_image -lSDL_gfx -lSDL_mixer -ljpeg -lpng -lvorbisfile -lvorbis -logg -lSDL_ttf -lfreetype -lz -lSDL -lGL -lGLU ++ ++SOURCES=main.cpp XAMOS.cpp SDL_collide.cpp Console.cpp AMALDebugTest.cpp PrintStream.cpp AMALBank.cpp AMALEnvGen.cpp AMALParser.cpp AMALInterpreter.cpp AMALCompiler.cpp AmalPrograms.cpp Timer.cpp AMOS_Sprite.cpp MequaScript.cpp AMOS_System.cpp GameEngineWrapper.cpp Mytype.cpp Mytypearray.cpp TheTokens.cpp Parser.cpp Dumper.cpp Interpreter.cpp CommandWrapper.cpp ActiveObject.cpp ++OBJECTS=$(SOURCES:.cpp=.o) ++EXECUTABLE=../XAMOS ++ ++all: $(SOURCES) $(EXECUTABLE) ++ ++$(EXECUTABLE): $(OBJECTS) ++ $(CC) $(OBJECTS) -o $@ $(LDFLAGS) ++ ++.cpp.o: ++ $(CC) $(CFLAGS) $< -o $@ ++ ++clean: ++ rm -rf $(EXECUTABLE) *.o ++ +-- +1.8.3.4 + diff --git a/dev-lang/xamos/xamos-0.29.recipe b/dev-lang/xamos/xamos-0.29.recipe new file mode 100644 index 000000000..0f9ae89dd --- /dev/null +++ b/dev-lang/xamos/xamos-0.29.recipe @@ -0,0 +1,55 @@ +SUMMARY="Cross-platform AMOS BASIC reimplementation" +DESCRIPTION=" +This project is a complete re-write of jAMOS in C++ using SDL libraries and +(optional) Boost headers. + +This initial release is run-only and does not feature an editor at this stage. +However, it is compatible with almost all programs created with the latest +jAMOS editor. All jAMOS examples (without AMAL) are running in XAMOS, often +with a serious speed boost over the Java original, particularly on low-end +platforms. +" +HOMEPAGE="http://sourceforge.net/projects/xamos" +SRC_URI="http://sourceforge.net/projects/xamos/files/XAMOS_src.zip" +CHECKSUM_SHA256="f559794ed7a443f00a21b3c0050e8ee70a9d1340ad41e46a5f87f5238bc7479e" +ARCHITECTURES="x86_gcc2" +LICENSE="BSD (2-clause)" +COPYRIGHT="2012 Mequa Innovations" +REVISION="1" + +PROVIDES=" + xamos = $portVersion +" + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + devel:libsdl + devel:sdl_image + devel:sdl_mixer + devel:sdl_ttf + devel:sdl_gfx + devel:libglu + devel:libjpeg + devel:libpng + devel:libvorbisfile + devel:libogg + devel:libfreetype + devel:libz + " + +BUILD_PREREQUIRES=" + cmd:make + cmd:gcc + " + +SOURCE_DIR="XAMOS" +PATCHES="xamos-$portVersion.patchset" + +BUILD() { + cd src + make -f Makefile_aros +} + +INSTALL() { + false +}