From b6f2841c926164f963f61542637351bd1dfd7510 Mon Sep 17 00:00:00 2001 From: Artur Jamro Date: Sun, 5 Jan 2014 13:09:08 +0000 Subject: [PATCH 01/13] Added recipe for Resource Edit (moved from Haiku Tree) --- haiku-apps/resourceedit/resourceedit-1.recipe | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 haiku-apps/resourceedit/resourceedit-1.recipe diff --git a/haiku-apps/resourceedit/resourceedit-1.recipe b/haiku-apps/resourceedit/resourceedit-1.recipe new file mode 100644 index 000000000..ec122a826 --- /dev/null +++ b/haiku-apps/resourceedit/resourceedit-1.recipe @@ -0,0 +1,52 @@ +DESCRIPTION=" +Application predestined for editing resources. Resources are files put \ +directly in binary ones that the application can always access them. +" +SUMMARY="Resource editor" +HOMEPAGE="https://github.com/Mrowqa/ResourceEdit" # change! +LICENSE="MIT" +COPYRIGHT="2012-2013 Tri-Edge AI" +SRC_URI="git+https://github.com/Mrowqa/ResourceEdit.git#06dd78d51830330e93ad305e42897027a8feca55" # change! +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" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86 ?x86_64" + +PROVIDES=" + resourceedit$secondaryArchSuffix = $portVersion + app:resourceedit$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:mkdepend + " + +BUILD() +{ + make +} + +INSTALL() +{ + # supports"x86" architecture only + mkdir $appsDir + cp objects.x86-gcc4-release/ResourceEdit $appsDir + addAppDeskbarSymlink $appsDir/ResourceEdit +} From b254bda3763945557162854c1b713908b461fd06 Mon Sep 17 00:00:00 2001 From: Artur Jamro Date: Sun, 5 Jan 2014 16:47:13 +0000 Subject: [PATCH 02/13] ResourceEdit recipe: marked as broken on x86 and provided better description --- haiku-apps/resourceedit/resourceedit-1.recipe | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/haiku-apps/resourceedit/resourceedit-1.recipe b/haiku-apps/resourceedit/resourceedit-1.recipe index ec122a826..a5441c57b 100644 --- a/haiku-apps/resourceedit/resourceedit-1.recipe +++ b/haiku-apps/resourceedit/resourceedit-1.recipe @@ -1,6 +1,6 @@ DESCRIPTION=" -Application predestined for editing resources. Resources are files put \ -directly in binary ones that the application can always access them. +This is an editor for resource files (.rsrc), binary files that get compiled \ +into an application and can then be accessed by that application. " SUMMARY="Resource editor" HOMEPAGE="https://github.com/Mrowqa/ResourceEdit" # change! @@ -9,7 +9,7 @@ COPYRIGHT="2012-2013 Tri-Edge AI" SRC_URI="git+https://github.com/Mrowqa/ResourceEdit.git#06dd78d51830330e93ad305e42897027a8feca55" # change! REVISION="1" -ARCHITECTURES="x86 ?x86_64" +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. @@ -17,7 +17,7 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then else ARCHITECTURES="$ARCHITECTURES !x86_gcc2" fi -SECONDARY_ARCHITECTURES="x86 ?x86_64" +SECONDARY_ARCHITECTURES="!x86 ?x86_64" PROVIDES=" resourceedit$secondaryArchSuffix = $portVersion From 78eb0531fab1d267db04a6257addb7778df24cf0 Mon Sep 17 00:00:00 2001 From: Artur Jamro Date: Sun, 5 Jan 2014 20:13:05 +0000 Subject: [PATCH 03/13] ResourceEdit recipe: moved repository to HaikuArchives --- haiku-apps/resourceedit/resourceedit-1.recipe | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/haiku-apps/resourceedit/resourceedit-1.recipe b/haiku-apps/resourceedit/resourceedit-1.recipe index a5441c57b..c43426917 100644 --- a/haiku-apps/resourceedit/resourceedit-1.recipe +++ b/haiku-apps/resourceedit/resourceedit-1.recipe @@ -3,10 +3,10 @@ This is an editor for resource files (.rsrc), binary files that get compiled \ into an application and can then be accessed by that application. " SUMMARY="Resource editor" -HOMEPAGE="https://github.com/Mrowqa/ResourceEdit" # change! +HOMEPAGE="https://github.com/HaikuArchives/ResourceEdit" LICENSE="MIT" COPYRIGHT="2012-2013 Tri-Edge AI" -SRC_URI="git+https://github.com/Mrowqa/ResourceEdit.git#06dd78d51830330e93ad305e42897027a8feca55" # change! +SRC_URI="git+https://github.com/HaikuArchives/ResourceEdit.git#1873c33591e2d2ccb3dccb692c175e9f10a0e450" # change! REVISION="1" ARCHITECTURES="!x86 ?x86_64" From 533b7a0ccba00585bb4803df57ec1d73df4265df Mon Sep 17 00:00:00 2001 From: Artur Jamro Date: Sun, 5 Jan 2014 20:28:14 +0000 Subject: [PATCH 04/13] ResourceEdit recipe: cosmetic patch --- haiku-apps/resourceedit/resourceedit-1.recipe | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/haiku-apps/resourceedit/resourceedit-1.recipe b/haiku-apps/resourceedit/resourceedit-1.recipe index c43426917..2e227b4bc 100644 --- a/haiku-apps/resourceedit/resourceedit-1.recipe +++ b/haiku-apps/resourceedit/resourceedit-1.recipe @@ -6,7 +6,7 @@ SUMMARY="Resource editor" HOMEPAGE="https://github.com/HaikuArchives/ResourceEdit" LICENSE="MIT" COPYRIGHT="2012-2013 Tri-Edge AI" -SRC_URI="git+https://github.com/HaikuArchives/ResourceEdit.git#1873c33591e2d2ccb3dccb692c175e9f10a0e450" # change! +SRC_URI="git+https://github.com/HaikuArchives/ResourceEdit.git#1873c33591e2d2ccb3dccb692c175e9f10a0e450" REVISION="1" ARCHITECTURES="!x86 ?x86_64" @@ -45,7 +45,7 @@ BUILD() INSTALL() { - # supports"x86" architecture only + # supports "x86" architecture only mkdir $appsDir cp objects.x86-gcc4-release/ResourceEdit $appsDir addAppDeskbarSymlink $appsDir/ResourceEdit From ed4bfc0f680ede9f0c3e2b998995956ab3826791 Mon Sep 17 00:00:00 2001 From: Ed Robbins Date: Tue, 7 Jan 2014 15:52:48 +0000 Subject: [PATCH 05/13] Update swi_prolog recipe for PM. (and small fix for gmp) --- dev-lang/swi_prolog/swi_prolog-6.2.0.recipe | 74 ++++++++++++++++----- dev-libs/gmp/gmp-5.1.1.recipe | 2 +- 2 files changed, 59 insertions(+), 17 deletions(-) diff --git a/dev-lang/swi_prolog/swi_prolog-6.2.0.recipe b/dev-lang/swi_prolog/swi_prolog-6.2.0.recipe index d88c003b4..057f43d91 100644 --- a/dev-lang/swi_prolog/swi_prolog-6.2.0.recipe +++ b/dev-lang/swi_prolog/swi_prolog-6.2.0.recipe @@ -1,32 +1,74 @@ -DESCRIPTION="SWI Prolog. Stable and free standard Prolog implementation" +SUMMARY="SWI Prolog. Stable and free standard Prolog implementation" +DESCRIPTION=" +SWI-Prolog is an open source implementation of the programming language Prolog, \ +commonly used for teaching and semantic web applications. It has a rich set of \ +features, libraries for constraint logic programming, multithreading, unit \ +testing, GUI, interfacing to Java, ODBC and others, literate programming, a web \ +server, SGML, RDF, RDFS, developer tools (including an IDE with a GUI debugger \ +and GUI profiler), and extensive documentation. +" HOMEPAGE="http://www.swi-prolog.org/" SRC_URI="http://www.swi-prolog.org/download/stable/src/pl-6.2.0.tar.gz" CHECKSUM_MD5="969ed2e00b7afc1537fbf19d667333c5" +LICENSE=" + GNU LGPL v2.1 + SWI-Prolog + " +COPYRIGHT="1985-2012, University of Amsterdam, VU University Amsterdam" REVISION="1" -STATUS_HAIKU="stable" -DEPEND="dev-libs/gmp >= 5.0.5 - sys-libs/readline >= 6.2" +ARCHITECTURES="x86_gcc2" +SECONDARY_ARCHITECTURES="x86" +SOURCE_DIR="pl-6.2.0" +PATCHES="swi_prolog-6.2.0.patch" + +PROVIDES=" + swi_prolog$secondaryArchSuffix = $portVersion + cmd:swipl$secondaryArchSuffix + cmd:swipl_rc$secondaryArchSuffix + cmd:swipl_ld$secondaryArchSuffix + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libgmp$secondaryArchSuffix >= 10 + lib:libreadline$secondaryArchSuffix >= 6 + lib:libncurses$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libreadline$secondaryArchSuffix >= 6 + devel:libgmp$secondaryArchSuffix >= 10 + devel:libncurses$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize + cmd:autoreconf + cmd:make + " + BUILD() { - cd pl-6.2.0/src - libtoolize -fci - autoreconf - LDFLAGS=-L/boot/common/lib CFLAGS=-I/boot/common/include ./configure --prefix=$(finddir B_COMMON_DIRECTORY) - make + cd src + libtoolize -fci + autoreconf + LDFLAGS="-L/system/lib -L/system/develop/lib" CFLAGS="-I/system/develop/include -I/system/include" ./configure $configureDirArgs + #runConfigure ./configure + make } INSTALL() { - cd pl-6.2.0/src - make install + cd src + make install } TEST() { - cd pl-6.2.0/src - make check + cd src + make check } -LICENSE="GNU LGPL v2.1 - SWI-Prolog" -COPYRIGHT="1985-2012, University of Amsterdam, VU University Amsterdam" + diff --git a/dev-libs/gmp/gmp-5.1.1.recipe b/dev-libs/gmp/gmp-5.1.1.recipe index 5301d1a1e..9318d8286 100644 --- a/dev-libs/gmp/gmp-5.1.1.recipe +++ b/dev-libs/gmp/gmp-5.1.1.recipe @@ -7,7 +7,7 @@ except the ones implied by the available memory in the machine GMP runs on \ (operand dimension limit is 2^(32)-1 bits on 32-bit machines and 2^37 bits on \ 64-bit machines). GMP has a rich set of functions, and the functions have a \ regular interface. The basic interface is for C but wrappers exist for other \ -languages including Ada, C++, C#, OCaml, Perl, PHP, and Python. \ +languages including Ada, C++, C#, OCaml, Perl, PHP, and Python. " HOMEPAGE="http://gmplib.org/" SRC_URI="ftp://ftp.gmplib.org/pub/gmp-5.1.1/gmp-5.1.1.tar.xz" From e035f6fc18e0c4b94bbbd9600c1703b8f76bbc3d Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 7 Jan 2014 23:14:20 +0100 Subject: [PATCH 06/13] VCMI: get it to build. Fix boost to not try using XSI shared memory as we don't support that. Fix VCMI to link to libnetwork where it uses it. Now failing at install because there is no 'make install'. Will write a manual copy of relevant files to the package later. --- dev-libs/boost/boost-1.55.0.recipe | 2 +- dev-libs/boost/patches/boost-1.55.0.patch | 352 ------------------ dev-libs/boost/patches/boost-1.55.0.patchset | 29 +- dev-libs/boost/patches/type_traits.patch | 35 -- .../vcmi/patches/vcmi_x86-0.94.patchset | 31 -- games-strategy/vcmi/vcmi-0.94.recipe | 2 +- 6 files changed, 28 insertions(+), 423 deletions(-) delete mode 100644 dev-libs/boost/patches/boost-1.55.0.patch delete mode 100644 dev-libs/boost/patches/type_traits.patch delete mode 100644 games-strategy/vcmi/patches/vcmi_x86-0.94.patchset diff --git a/dev-libs/boost/boost-1.55.0.recipe b/dev-libs/boost/boost-1.55.0.recipe index 9afde98a2..24170220b 100644 --- a/dev-libs/boost/boost-1.55.0.recipe +++ b/dev-libs/boost/boost-1.55.0.recipe @@ -8,7 +8,7 @@ testing. It contains over eighty individual libraries. HOMEPAGE="http://www.boost.org/" SRC_URI="http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2" CHECKSUM_MD5="d6eef4b4cacb2183f2bf265a5a03a354" -REVISION="2" +REVISION="3" LICENSE="Boost v1.0" COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al." ARCHITECTURES="x86 ?x86_64" diff --git a/dev-libs/boost/patches/boost-1.55.0.patch b/dev-libs/boost/patches/boost-1.55.0.patch deleted file mode 100644 index c2c63d404..000000000 --- a/dev-libs/boost/patches/boost-1.55.0.patch +++ /dev/null @@ -1,352 +0,0 @@ -diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp -new file mode 100644 -index 0000000..1b15c7e ---- /dev/null -+++ b/boost/config/platform/haiku.hpp -@@ -0,0 +1,27 @@ -+//  (C) Copyright John Maddock 2001. -+//  Use, modification and distribution are subject to the -+//  Boost Software License, Version 1.0. (See accompanying file -+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -+ -+//  See http://www.boost.org for most recent version. -+ -+//  Haiku specific config options: -+ -+#define BOOST_PLATFORM "Haiku" -+ -+#define BOOST_NO_INTRINSIC_WCHAR_T -+#define BOOST_HAS_UNISTD_H -+ -+#define BOOST_HAS_BETHREADS -+ -+#ifndef BOOST_DISABLE_THREADS -+# define BOOST_HAS_THREADS -+#endif -+ -+// -+// thread API's not auto detected: -+// -+#define BOOST_HAS_GETTIMEOFDAY -+ -+// boilerplate code: -+#include -diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp -index 2af61d2..5052d85 100644 ---- a/boost/config/select_platform_config.hpp -+++ b/boost/config/select_platform_config.hpp -@@ -41,6 +41,10 @@ - // win32: - # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" - -+#elif defined(__HAIKU__) -+// Haiku -+# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" -+ - #elif defined(__BEOS__) - // BeOS - # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" -diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp -index 976ab76..66bc96d 100644 ---- a/boost/config/stdlib/libstdcpp3.hpp -+++ b/boost/config/stdlib/libstdcpp3.hpp -@@ -36,7 +36,8 @@ - || defined(_GLIBCXX__PTHREADS) \ - || defined(_GLIBCXX_HAS_GTHREADS) \ - || defined(_WIN32) \ -- || defined(_AIX) -+ || defined(_AIX) \ -+ || defined(__HAIKU__) - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT -diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp -index 1f33b1a..1b8917c 100644 ---- a/boost/thread/detail/platform.hpp -+++ b/boost/thread/detail/platform.hpp -@@ -34,6 +34,8 @@ - # define BOOST_THREAD_WIN32 - #elif defined(__BEOS__) - # define BOOST_THREAD_BEOS -+#elif defined(__HAIKU__) -+# define BOOST_THREAD_BEOS - #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) - # define BOOST_THREAD_MACOS - //# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000) -diff --git a/tools/build/v2/engine/boehm_gc/dyn_load.c b/tools/build/v2/engine/boehm_gc/dyn_load.c -index 36968ba..e725bdc 100644 ---- a/tools/build/v2/engine/boehm_gc/dyn_load.c -+++ b/tools/build/v2/engine/boehm_gc/dyn_load.c -@@ -64,7 +64,7 @@ static int (*GC_has_static_roots)(const char *, void *, size_t); - !defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \ - !(defined(FREEBSD) && defined(__ELF__)) && \ - !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \ -- !defined(DARWIN) && !defined(CYGWIN32) -+ !defined(DARWIN) && !defined(CYGWIN32) !(defined(HAIKU) - --> We only know how to find data segments of dynamic libraries for the - --> above. Additional SVR4 variants might not be too - --> hard to add. -@@ -82,6 +82,10 @@ static int (*GC_has_static_roots)(const char *, void *, size_t); - # define ELFSIZE ARCH_ELFSIZE - #endif - -+#if defined(HAIKU) -+ -+#endif -+ - #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ - (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ - (defined(NETBSD) && defined(__ELF__)) || defined(HURD) -@@ -216,7 +220,8 @@ void GC_register_dynamic_libraries() - - #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ - (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ -- (defined(NETBSD) && defined(__ELF__)) || defined(HURD) -+ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || \ -+ defined(HAIKU) - - - #ifdef USE_PROC_FOR_LIBRARIES -diff --git a/tools/build/v2/engine/boehm_gc/include/gc.h b/tools/build/v2/engine/boehm_gc/include/gc.h -index cc95088..590a868 100644 ---- a/tools/build/v2/engine/boehm_gc/include/gc.h -+++ b/tools/build/v2/engine/boehm_gc/include/gc.h -@@ -494,7 +494,7 @@ GC_API void * GC_malloc_atomic_ignore_off_page(size_t lb); - /* of compilers. */ - /* This may also be desirable if it is possible but expensive to */ - /* retrieve the call chain. */ --#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \ -+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \ - || defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS) - # define GC_ADD_CALLER - # if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -diff --git a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h -index 66abf0b..797eddd 100644 ---- a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h -+++ b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h -@@ -45,7 +45,8 @@ - || defined(GC_AIX_THREADS) \ - || defined(GC_LINUX_THREADS) \ - || defined(GC_NETBSD_THREADS) \ -- || defined(GC_GNU_THREADS)) -+ || defined(GC_GNU_THREADS)) \ -+ || defined(GC_HAIKU_THREADS) - # define _REENTRANT - /* Better late than never. This fails if system headers that */ - /* depend on this were previously included. */ -@@ -62,6 +63,7 @@ - # if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \ - defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \ - defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \ -+ defined(GC_HAIKU_THREADS) || \ - defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \ - defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \ - (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \ -diff --git a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h -index 20f35bc..7e798a7 100644 ---- a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h -+++ b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h -@@ -215,6 +215,11 @@ - # define BEOS - # define mach_type_known - # endif -+# if defined(__HAIKU__) && defined(_X86_) -+# define I386 -+# define HAIKU -+# define mach_type_known -+# endif - # if defined(LINUX) && (defined(i386) || defined(__i386__)) - # define I386 - # define mach_type_known -@@ -1014,6 +1019,13 @@ - extern int etext[]; - # define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) - # endif -+# ifdef HAIKU -+# define OS_TYPE "HAIKU" -+# include -+# define GETPAGESIZE() B_PAGE_SIZE -+ extern int etext[]; -+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) -+# endif - # ifdef SOLARIS - # define OS_TYPE "SOLARIS" - extern int _etext[], _end[]; -diff --git a/tools/build/v2/engine/boehm_gc/os_dep.c b/tools/build/v2/engine/boehm_gc/os_dep.c -index bb8fa08..a7edf72 100644 ---- a/tools/build/v2/engine/boehm_gc/os_dep.c -+++ b/tools/build/v2/engine/boehm_gc/os_dep.c -@@ -777,6 +777,16 @@ ptr_t GC_get_main_stack_base(void){ - # endif /* BEOS */ - - -+# ifdef HAIKU -+# include -+ptr_t GC_get_main_stack_base(void){ -+ thread_info th; -+ get_thread_info(find_thread(NULL),&th); -+ return th.stack_end; -+} -+# endif /* HAIKU */ -+ -+ - # ifdef OS2 - - ptr_t GC_get_main_stack_base(void) -@@ -1095,7 +1105,7 @@ ptr_t GC_get_main_stack_base(void) - - #endif /* FREEBSD_STACKBOTTOM */ - --#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \ -+#if !defined(BEOS) && !defined(HAIKU) && !defined(AMIGA) && !defined(MSWIN32) \ - && !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \ - && !defined(CYGWIN32) - -@@ -1154,7 +1164,7 @@ ptr_t GC_get_main_stack_base(void) - # endif /* STACKBOTTOM */ - } - --# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */ -+# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !HAIKU, !NOSYS, !ECOS */ - - #if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE) - -diff --git a/tools/build/v2/engine/fileunix.c b/tools/build/v2/engine/fileunix.c -index bff3a42..1f60be2 100644 ---- a/tools/build/v2/engine/fileunix.c -+++ b/tools/build/v2/engine/fileunix.c -@@ -80,7 +80,10 @@ struct ar_hdr /* archive file member header - printable ascii */ - }; - #endif - --#if defined( OS_QNX ) || defined( OS_BEOS ) || defined( OS_MPEIX ) -+# if defined( OS_QNX ) || \ -+ defined( OS_BEOS ) || \ -+ defined( OS_HAIKU ) || \ -+ defined( OS_MPEIX ) - # define NO_AR - # define HAVE_AR - #endif -diff --git a/tools/build/v2/engine/jam.h b/tools/build/v2/engine/jam.h -index 86ad0e8..7c0bb69 100644 ---- a/tools/build/v2/engine/jam.h -+++ b/tools/build/v2/engine/jam.h -@@ -125,6 +125,11 @@ - #define OS_BEOS - #define NO_VFORK - #endif -+#ifdef __HAIKU__ -+ #define unix -+ #define OSMINOR "OS=HAIKU" -+ #define OS_HAIKU -+#endif - #ifdef __bsdi__ - #define OSMINOR "OS=BSDI" - #define OS_BSDI -diff --git a/tools/build/v2/engine/jambase.c b/tools/build/v2/engine/jambase.c -index b15282b..5a127a1 100644 ---- a/tools/build/v2/engine/jambase.c -+++ b/tools/build/v2/engine/jambase.c -@@ -548,6 +548,18 @@ char *jambase[] = { - "NOARSCAN ?= true ;\n", - "STDHDRS ?= /boot/develop/headers/posix ;\n", - "}\n", -+"else if $(OS) = HAIKU\n", -+"{\n", -+"BINDIR ?= /boot/common/bin ;\n", -+"CC ?= gcc ;\n", -+"C++ ?= $(CC) ;\n", -+"FORTRAN ?= \"\" ;\n", -+"LIBDIR ?= /boot/common/lib ;\n", -+"LINK ?= gcc ;\n", -+"LINKLIBS ?= -lnetwork ;\n", -+"NOARSCAN ?= true ;\n", -+"STDHDRS ?= /boot/develop/headers/posix ;\n", -+"}\n", - "else if $(OS) = BEOS\n", - "{\n", - "BINDIR ?= /boot/apps ;\n", -diff --git a/tools/build/v2/tools/builtin.jam b/tools/build/v2/tools/builtin.jam -index 176de13..1c3466f 100644 ---- a/tools/build/v2/tools/builtin.jam -+++ b/tools/build/v2/tools/builtin.jam -@@ -41,7 +41,7 @@ import generate ; - - - .os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf -- qnx qnxnto sgi solaris unix unixware windows -+ qnx qnxnto sgi solaris unix unixware windows haiku - elf # Not actually an OS -- used for targeting bare metal where object - # format is ELF. This catches both -elf and -eabi gcc targets and well - # as other compilers targeting ELF. It is not clear how often we need -@@ -76,6 +76,7 @@ local rule default-host-os ( ) - case COHERENT : host-os = unix ; - case DRAGONFLYBSD : host-os = bsd ; - case IRIX : host-os = sgi ; -+ case HAIKU : host-os = haiku ; - case MACOSX : host-os = darwin ; - case KFREEBSD : host-os = freebsd ; - case LINUX : host-os = linux ; -diff --git a/tools/build/v2/tools/builtin.py b/tools/build/v2/tools/builtin.py -index 35c1a40..c430fad 100644 ---- a/tools/build/v2/tools/builtin.py -+++ b/tools/build/v2/tools/builtin.py -@@ -103,6 +103,7 @@ def default_host_os(): - elif host_os == 'MACOSX': host_os = 'darwin' - elif host_os == 'KFREEBSD': host_os = 'freebsd' - elif host_os == 'LINUX': host_os = 'linux' -+ elif host_os == 'HAIKU': host_os = 'haiku' - else: host_os = 'unix' - return host_os.lower() - -diff --git a/tools/build/v2/tools/gcc.jam b/tools/build/v2/tools/gcc.jam -index ef90f05..2de76cf 100644 ---- a/tools/build/v2/tools/gcc.jam -+++ b/tools/build/v2/tools/gcc.jam -@@ -1029,10 +1029,11 @@ rule setup-threading ( targets * : sources * : properties * ) - case cygwin : option = -mthreads ; - case solaris : option = -pthreads ; libs = rt ; - case beos : # No threading options. -+ case haiku : option = ; - case *bsd : option = -pthread ; # There is no -lrt on BSD. - case sgi : # gcc on IRIX does not support multi-threading. - case darwin : # No threading options. -- case * : option = -pthread ; libs = rt ; -+ case * : option = -pthreads ; libs = rt ; - } - - if $(option) -diff --git a/tools/build/v2/tools/gcc.py b/tools/build/v2/tools/gcc.py -index c2f3b02..4f60d22 100644 ---- a/tools/build/v2/tools/gcc.py -+++ b/tools/build/v2/tools/gcc.py -@@ -677,6 +677,9 @@ elif bjam.variable('UNIX'): - elif host_os_name == 'BeOS': - # BeOS has no threading options, don't set anything here. - pass -+ elif host_os_name == 'Haiku': -+ flags('gcc', 'OPTIONS', ['multi'], ['-lroot']) -+ # there is no -lrt on HAIKU - elif host_os_name.endswith('BSD'): - flags('gcc', 'OPTIONS', ['multi'], ['-pthread']) - # there is no -lrt on BSD -diff --git a/tools/build/v2/tools/python.jam b/tools/build/v2/tools/python.jam -index d48bb78..070f5d2 100644 ---- a/tools/build/v2/tools/python.jam -+++ b/tools/build/v2/tools/python.jam -@@ -639,13 +639,14 @@ local rule system-library-dependencies ( target-os ) - case qnx* : return ; - case darwin : return ; - case windows : return ; -+ case haiku : return ; - - case hpux : return rt ; - case *bsd : return pthread gcc:util ; - - case aix : return pthread dl ; - -- case * : return pthread dl -+ case * : return ; pthread dl - gcc:util linux:util ; - } - } diff --git a/dev-libs/boost/patches/boost-1.55.0.patchset b/dev-libs/boost/patches/boost-1.55.0.patchset index 899f987a2..ac31f484a 100644 --- a/dev-libs/boost/patches/boost-1.55.0.patchset +++ b/dev-libs/boost/patches/boost-1.55.0.patchset @@ -1,4 +1,4 @@ -From f194ab93c5c29020d5f0f4915b1f554645986587 Mon Sep 17 00:00:00 2001 +From c0848cd5528c0623d360be34004a411955ce6c98 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Sun, 22 Dec 2013 10:01:12 -0800 Subject: applying patch boost-1.55.0.patch @@ -360,14 +360,14 @@ index d48bb78..070f5d2 100644 1.8.3.4 -From 0d11043b05a45a1bc8091387ba45f1fe41fe2e55 Mon Sep 17 00:00:00 2001 +From 03631bc8fb6cff21669ca0cb87188c2c3b0d4928 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Sun, 22 Dec 2013 10:01:23 -0800 Subject: applying patch type_traits.patch diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp -index 1b15c7e..9a3becd 100644 +index 1b15c7e..899765d 100644 --- a/boost/config/platform/haiku.hpp +++ b/boost/config/platform/haiku.hpp @@ -9,18 +9,26 @@ @@ -401,3 +401,26 @@ index 1b15c7e..9a3becd 100644 -- 1.8.3.4 + +From f2a0265af90e6c7bac9b7627fd0049f7479e5ab3 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 7 Jan 2014 21:49:28 +0100 +Subject: We don't have XSI shared memory, so don't try to use it. + + +diff --git a/boost/interprocess/detail/workaround.hpp b/boost/interprocess/detail/workaround.hpp +index 6ce2ea1..3b303eb 100644 +--- a/boost/interprocess/detail/workaround.hpp ++++ b/boost/interprocess/detail/workaround.hpp +@@ -73,7 +73,7 @@ + #endif + + //Check for XSI shared memory objects. They are available in nearly all UNIX platforms +- #if !defined(__QNXNTO__) ++ #if !defined(__QNXNTO__) && !defined(__HAIKU__) + #define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS + #endif + +-- +1.8.3.4 + diff --git a/dev-libs/boost/patches/type_traits.patch b/dev-libs/boost/patches/type_traits.patch deleted file mode 100644 index 02b4a07cb..000000000 --- a/dev-libs/boost/patches/type_traits.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp -index 1b15c7e..9a3becd 100644 ---- a/boost/config/platform/haiku.hpp -+++ b/boost/config/platform/haiku.hpp -@@ -9,18 +9,29 @@ - - #define BOOST_PLATFORM "Haiku" - --#define BOOST_NO_INTRINSIC_WCHAR_T -+//#define BOOST_NO_INTRINSIC_WCHAR_T - #define BOOST_HAS_UNISTD_H -+#define BOOST_NO_AUTO_PTR -+#define GLIBC_HAVE_LONG_LONG -+#define BOOST_HAS_STDINT_H -+//#define BOOST_NOT_STD_WSTRING -+#define BOOST_HASH_NO_EXTENSIONS - - #define BOOST_HAS_BETHREADS - - #ifndef BOOST_DISABLE_THREADS - # define BOOST_HAS_THREADS - #endif -+#define BOOST_NO_CXX11_HDR_TYPE_TRAITS -+#define BOOST_NO_CXX11_ATOMIC_SMART_PTR -+#define BOOST_NO_CXX11_STATIC_ASSERT -+#define BOOST_NO_CXX11_VARIADIC_MACROS - - // - // thread API's not auto detected: - // -+#define BOOST_HAS_SCHED_YIELD -+#define BOOST_HAS_PTHREAD_YIELD - #define BOOST_HAS_GETTIMEOFDAY - - // boilerplate code: diff --git a/games-strategy/vcmi/patches/vcmi_x86-0.94.patchset b/games-strategy/vcmi/patches/vcmi_x86-0.94.patchset deleted file mode 100644 index d91ffc3d8..000000000 --- a/games-strategy/vcmi/patches/vcmi_x86-0.94.patchset +++ /dev/null @@ -1,31 +0,0 @@ -From fc69e8dc4e2287cef93857a29d80b8930b90baa9 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 5 Jan 2014 23:14:13 +0100 -Subject: Support thread renaming. - - -diff --git a/lib/CThreadHelper.cpp b/lib/CThreadHelper.cpp -index 3774c4b..b0aca56 100644 ---- a/lib/CThreadHelper.cpp -+++ b/lib/CThreadHelper.cpp -@@ -3,6 +3,8 @@ - - #ifdef _WIN32 - #include -+#elif defined(__HAIKU__) -+ #include - #elif !defined(__APPLE__) - #include - #endif -@@ -80,6 +82,8 @@ void setThreadName(const std::string &name) - //not supported - #endif - -+#elif defined(__HAIKU__) -+ rename_thread(find_thread(NULL), name.c_str()); - #elif defined(__linux__) - prctl(PR_SET_NAME, name.c_str(), 0, 0, 0); - #endif --- -1.8.3.4 - diff --git a/games-strategy/vcmi/vcmi-0.94.recipe b/games-strategy/vcmi/vcmi-0.94.recipe index 83d5c7bd6..00924d1c6 100644 --- a/games-strategy/vcmi/vcmi-0.94.recipe +++ b/games-strategy/vcmi/vcmi-0.94.recipe @@ -18,7 +18,7 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then fi SECONDARY_ARCHITECTURES="x86" -PATCHES="vcmi-0.94.patchset" +#PATCHES="vcmi-0.94.patchset" PROVIDES=" vcmi$secondaryArchSuffix = $portVersion " From d04b116121b940afe5967e5b2117e2ac5fb2ec61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 8 Jan 2014 20:44:04 +0000 Subject: [PATCH 07/13] haikuwebkit: build fix for x86_64 --- .../haikuwebkit/haikuwebkit-1.2.2.recipe | 2 ++ .../patches/haikuwebkit-1.2.2.patchset | 31 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 haiku-libs/haikuwebkit/patches/haikuwebkit-1.2.2.patchset diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.2.2.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.2.2.recipe index 18b0d46d8..99a768da3 100644 --- a/haiku-libs/haikuwebkit/haikuwebkit-1.2.2.recipe +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.2.2.recipe @@ -23,6 +23,8 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then fi SECONDARY_ARCHITECTURES="x86" +PATCHES="haikuwebkit-1.2.2.patchset" + PROVIDES=" haikuwebkit$secondaryArchSuffix = $portVersion lib:libWebKit$secondaryArchSuffix = $portVersion diff --git a/haiku-libs/haikuwebkit/patches/haikuwebkit-1.2.2.patchset b/haiku-libs/haikuwebkit/patches/haikuwebkit-1.2.2.patchset new file mode 100644 index 000000000..766eefe2c --- /dev/null +++ b/haiku-libs/haikuwebkit/patches/haikuwebkit-1.2.2.patchset @@ -0,0 +1,31 @@ +From 8a3edba7aa5d5d96531bac23172e924e8619c71d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= +Date: Tue, 7 Jan 2014 21:19:15 +0000 +Subject: Haiku: defines cpu options only for x86 + + +diff --git a/Source/cmake/OptionsHaiku.cmake b/Source/cmake/OptionsHaiku.cmake +index fe1ffa8..1135b4c 100644 +--- a/Source/cmake/OptionsHaiku.cmake ++++ b/Source/cmake/OptionsHaiku.cmake +@@ -176,10 +176,13 @@ if (CMAKE_BUILD_TYPE STREQUAL release AND CMAKE_COMPILER_IS_GNUCC AND UNIX AND N + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS}") + endif () + +-# i686 is the official requirement for Haiku, let's try to keep this working for everyone +-# Moreover, our stack isn't 16-byte aligned so this avoid crashes where gcc would otherwise use SSE2 instructions. +-set(CMAKE_C_FLAGS "-march=i686 ${CMAKE_C_FLAGS}") +-set(CMAKE_CXX_FLAGS "-march=i686 ${CMAKE_CXX_FLAGS}") ++string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR) ++if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "x86") ++ # i686 is the official requirement for Haiku, let's try to keep this working for everyone ++ # Moreover, our stack isn't 16-byte aligned so this avoid crashes where gcc would otherwise use SSE2 instructions. ++ set(CMAKE_C_FLAGS "-march=i686 ${CMAKE_C_FLAGS}") ++ set(CMAKE_CXX_FLAGS "-march=i686 ${CMAKE_CXX_FLAGS}") ++endif () + + if (WTF_USE_TILED_BACKING_STORE) + add_definitions(-DWTF_USE_ACCELERATED_COMPOSITING=1) +-- +1.8.3.4 + From 7d19e6a9e2585cb5761adbd7e2d84375cf437843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 8 Jan 2014 20:52:17 +0000 Subject: [PATCH 08/13] cmake: enable x86_64 --- dev-util/cmake/cmake-2.8.11.2.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-util/cmake/cmake-2.8.11.2.recipe b/dev-util/cmake/cmake-2.8.11.2.recipe index 4067e923e..13aaf7bcd 100644 --- a/dev-util/cmake/cmake-2.8.11.2.recipe +++ b/dev-util/cmake/cmake-2.8.11.2.recipe @@ -12,7 +12,7 @@ COPYRIGHT="2002-2013 Kitware, Inc., Insight Consortium, All rights reserved." SRC_URI="http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz" CHECKSUM_MD5="6f5d7b8e7534a5d9e1a7664ba63cf882" REVISION="7" -ARCHITECTURES="x86_gcc2 x86 ?x86_64" +ARCHITECTURES="x86_gcc2 x86 x86_64" PROVIDES=" cmake = $portVersion compat >= 2.8 From fe43a1097cf0b2e9f201b1aeeac8964dc159b6db Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 8 Jan 2014 23:41:04 +0100 Subject: [PATCH 09/13] VCMI: get it to actually build and install things to the right places. --- .../vcmi/patches/vcmi-0.94.patchset | 56 +++++++++++++++++++ games-strategy/vcmi/vcmi-0.94.recipe | 17 ++++-- 2 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 games-strategy/vcmi/patches/vcmi-0.94.patchset diff --git a/games-strategy/vcmi/patches/vcmi-0.94.patchset b/games-strategy/vcmi/patches/vcmi-0.94.patchset new file mode 100644 index 000000000..72ca005b8 --- /dev/null +++ b/games-strategy/vcmi/patches/vcmi-0.94.patchset @@ -0,0 +1,56 @@ +From b5923cc7d6a06a08421e439e4c5de353ae2bcd77 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 7 Jan 2014 23:02:10 +0100 +Subject: Link to libnetwork, since we use sockets. + + +diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt +index 2110879..d1fed38 100644 +--- a/server/CMakeLists.txt ++++ b/server/CMakeLists.txt +@@ -19,6 +19,10 @@ endif() + + target_link_libraries(vcmiserver vcmi ${Boost_LIBRARIES} ${RT_LIB} ${DL_LIB}) + ++if (HAIKU) ++ target_link_libraries(vcmiserver network) ++endif() ++ + if (NOT APPLE) # Already inside vcmiclient bundle + install(TARGETS vcmiserver DESTINATION ${BIN_DIR}) + endif() +-- +1.8.3.4 + + +From 8f2e997081b524b6f97a124df1abed2ec18b23a7 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Wed, 8 Jan 2014 21:14:51 +0100 +Subject: Support for renaming threads. + + +diff --git a/lib/CThreadHelper.cpp b/lib/CThreadHelper.cpp +index 3774c4b..b0aca56 100644 +--- a/lib/CThreadHelper.cpp ++++ b/lib/CThreadHelper.cpp +@@ -3,6 +3,8 @@ + + #ifdef _WIN32 + #include ++#elif defined(__HAIKU__) ++ #include + #elif !defined(__APPLE__) + #include + #endif +@@ -80,6 +82,8 @@ void setThreadName(const std::string &name) + //not supported + #endif + ++#elif defined(__HAIKU__) ++ rename_thread(find_thread(NULL), name.c_str()); + #elif defined(__linux__) + prctl(PR_SET_NAME, name.c_str(), 0, 0, 0); + #endif +-- +1.8.3.4 + diff --git a/games-strategy/vcmi/vcmi-0.94.recipe b/games-strategy/vcmi/vcmi-0.94.recipe index 00924d1c6..5cefcd55e 100644 --- a/games-strategy/vcmi/vcmi-0.94.recipe +++ b/games-strategy/vcmi/vcmi-0.94.recipe @@ -18,14 +18,19 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then fi SECONDARY_ARCHITECTURES="x86" -#PATCHES="vcmi-0.94.patchset" +PATCHES="vcmi-0.94.patchset" PROVIDES=" vcmi$secondaryArchSuffix = $portVersion + cmd:vcmibuilder + cmd:vcmiclient + cmd:vcmiserver + lib:libminizip$secondaryArchSuffix + lib:libvcmi$secondaryArchSuffix " REQUIRES=" - haiku >= $haikuVersion - lib:libSDL$secondaryArchSuffix + haiku$secondaryArchSuffix >= $haikuVersion + lib:libSDL_1.2$secondaryArchSuffix lib:libsdl_mixer$secondaryArchSuffix lib:libsdl_image$secondaryArchSuffix lib:libsdl_ttf$secondaryArchSuffix @@ -64,13 +69,17 @@ BUILD() { mkdir -p build cd build - cmake .. + cmake .. -DDATA_DIR=$relativeDataDir/vcmi -DCMAKE_INSTALL_PREFIX=$prefix \ + -DLIB_DIR=$relativeLibDir make $jobArgs } INSTALL() { + cd build make install + + rm -r $prefix/share # desktop file and png icons we don't care about } COPYRIGHT="2005-2013 VCMI Team" From c818c7ed3af77d88cbbd6c7b0a15bcdede28fd07 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Wed, 8 Jan 2014 20:49:07 -0800 Subject: [PATCH 10/13] Updated libtool to 2.4.2 --- sys-devel/libtool/libtool-2.4.2.recipe | 92 ++++++++++++++++--- .../2.4.2/adjust_config_for_packaging.patch | 17 ++++ .../2.4.2/remove_help2man_dependency.patch | 21 +++++ 3 files changed, 116 insertions(+), 14 deletions(-) create mode 100644 sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch create mode 100644 sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch diff --git a/sys-devel/libtool/libtool-2.4.2.recipe b/sys-devel/libtool/libtool-2.4.2.recipe index a81f7819f..3796cd4ad 100644 --- a/sys-devel/libtool/libtool-2.4.2.recipe +++ b/sys-devel/libtool/libtool-2.4.2.recipe @@ -1,32 +1,96 @@ -DESCRIPTION="libtool - a generic library support script" -HOMEPAGE="http://www.gnu.org/software/libtool" +SUMMARY="A generic library support script" +DESCRIPTION=" + GNU libtool is a set of shell scripts to automatically configure UNIX + architectures to build shared libraries in a generic fashion. + " +HOMEPAGE="http://www.gnu.org/software/libtool" +COPYRIGHT="2004-2010 Free Software Foundation, Inc." +LICENSE="GNU GPL v2" SRC_URI="ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz" CHECKSUM_MD5="d2f3b7d4627e69e13514a40e72a24d50" REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PATCHES=" + 2.4.2/adjust_config_for_packaging.patch + 2.4.2/remove_help2man_dependency.patch + " + +PROVIDES=" + libtool = $portVersion compat >= 2.4 + cmd:libtool = $portVersion compat >= 2.4 + cmd:libtoolize = $portVersion compat >= 2.4 + devel:libltdl = 7.3.0 compat >= 7 + " +REQUIRES=" + haiku >= $haikuVersion + libtool_libltdl == $portVersion base + cmd:aclocal + cmd:automake + cmd:sed + cmd:tar + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf >= 2.62 + cmd:autoheader >= 2.62 + cmd:gcc + cmd:ld + cmd:make + cmd:nm + cmd:ranlib + cmd:sed + " + + BUILD() { - cd libtool-2.4.2 ./bootstrap - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \ - --infodir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/info \ - --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - make + SED='sed' NM='nm' LD=ld runConfigure ./configure \ + --with-gnu-ld + make $jobArgs + # Desperate move to remove the absolute paths from libtool. For some reason + # only for the C++ compiler those are set (not for the C compiler). In + # openSuse libtool doesn't have those variables set either, but building + # according to their libroot.spec produces a libtool that has them set as + # well. My guess is that one has to build libtool without a C++ compiler + # installed to get that result. + sed -i -e 's@^predep_objects=".*"$@predep_objects=""'@ \ + -e 's@^postdep_objects=".*"$@postdep_objects=""'@ \ + -e 's@^postdeps=".*"$@postdeps=""'@ \ + -e 's@^compiler_lib_search_path=".*"$@compiler_lib_search_path=""'@ \ + -e 's@^compiler_lib_search_dirs=".*"$@compiler_lib_search_dirs=""'@ \ + libtool } INSTALL() { - cd libtool-2.4.2 make install + prepareInstalledDevelLibs libltdl + + # libltdl package + packageEntries libltdl \ + $libDir/libltdl* + + # main package + rmdir $libDir } TEST() { - cd libtool-2.4.2 make check } -LICENSE="GNU GPL v2" -COPYRIGHT="2004-2011 Free Software Foundation, Inc." +# ----- libltdl package ------------------------------------------------------- + +SUMMARY_libltdl="The libtool libltdl library" +PROVIDES_libltdl=" + libtool_libltdl = $portVersion compat >= 2.4 + lib:libltdl = 7.3.0 compat >= 7 + " +REQUIRES_libltdl=" + haiku >= $haikuVersion + " diff --git a/sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch b/sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch new file mode 100644 index 000000000..c0c492015 --- /dev/null +++ b/sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch @@ -0,0 +1,17 @@ +Adjust haiku configuration of upstream libtool for packaging. + +diff -ruwN libtool-2.4.2/libltdl/m4/libtool.m4 libtool-2.4.2_haiku/libltdl/m4/libtool.m4 +--- libtool-2.4.2/libltdl/m4/libtool.m4 2010-09-22 10:41:19.021233664 +0200 ++++ libtool-2.4.2_haiku/libltdl/m4/libtool.m4 2013-04-27 21:00:11.784859136 +0200 +@@ -2473,8 +2473,9 @@ + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes +- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' +- hardcode_into_libs=yes ++ sys_lib_search_path_spec='/boot/common/non-packaged/lib /boot/common/develop/lib /boot/common/lib /boot/system/develop/lib' ++ sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/common/non-packaged/lib /boot/common/lib /boot/system/lib' ++ hardcode_into_libs=no + ;; + + hpux9* | hpux10* | hpux11*) diff --git a/sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch b/sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch new file mode 100644 index 000000000..4b3a62fce --- /dev/null +++ b/sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch @@ -0,0 +1,21 @@ +diff --git a/Makefile.am b/Makefile.am +index 268b399..a8236c1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -328,16 +328,6 @@ $(srcdir)/doc/notes.txt: $(srcdir)/doc/notes.texi + $(MAKEINFO) --no-headers $(MAKEINFOFLAGS) -o notes.txt notes.texi + + dist_man1_MANS = $(srcdir)/doc/libtool.1 $(srcdir)/doc/libtoolize.1 +-MAINTAINERCLEANFILES += $(dist_man1_MANS) +-update_mans = \ +- PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ +- $(HELP2MAN) --output=$@ +-$(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh +- $(update_mans) --help-option=--help-all libtool +-$(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in +- $(update_mans) libtoolize +- +- + ## ------------- ## + ## Installation. ## + ## ------------- ## From 2ee13dc205b3a846e61b6cedf845c6f4fe0f5dac Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Thu, 9 Jan 2014 00:10:43 -0800 Subject: [PATCH 11/13] Remove libpng-1.5.13 which hadn't been fully converted to a working recipe, and update libpng to 1.6.8 --- media-libs/libpng/libpng-1.5.12.recipe | 2 +- media-libs/libpng/libpng-1.5.13.recipe | 33 ----------- media-libs/libpng/libpng-1.6.8.recipe | 81 ++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 34 deletions(-) delete mode 100644 media-libs/libpng/libpng-1.5.13.recipe create mode 100644 media-libs/libpng/libpng-1.6.8.recipe diff --git a/media-libs/libpng/libpng-1.5.12.recipe b/media-libs/libpng/libpng-1.5.12.recipe index 82bca83a2..d5a71e263 100644 --- a/media-libs/libpng/libpng-1.5.12.recipe +++ b/media-libs/libpng/libpng-1.5.12.recipe @@ -28,10 +28,10 @@ REQUIRES=" lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libz$secondaryArchSuffix >= 1.0.4 " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:aclocal cmd:autoconf cmd:automake diff --git a/media-libs/libpng/libpng-1.5.13.recipe b/media-libs/libpng/libpng-1.5.13.recipe deleted file mode 100644 index 99bfdb083..000000000 --- a/media-libs/libpng/libpng-1.5.13.recipe +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION="Portable Network Graghpics library" -HOMEPAGE="http://www.libpng.org" -SRC_URI="http://prdownloads.sourceforge.net/libpng/libpng-1.5.13.tar.gz?download" -CHECKSUM_MD5="9c5a584d4eb5fe40d0f1bc2090112c65" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" -BUILD() -{ - cd libpng-1.5.13 - libtoolize --force --copy - ./autogen.sh - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - make -} - -INSTALL() -{ - cd libpng-1.5.13 - make install -} - -TEST() -{ - cd libpng-1.5.13 - make test -} - -COPYRIGHT="1998-2012 Glenn Randers-Pehrson - 1996-1997 Andreas Dilger - 1995-1996 Guy Eric Schalnat, Group 42, Inc." -LICENSE="LibPNG" diff --git a/media-libs/libpng/libpng-1.6.8.recipe b/media-libs/libpng/libpng-1.6.8.recipe new file mode 100644 index 000000000..b768b365d --- /dev/null +++ b/media-libs/libpng/libpng-1.6.8.recipe @@ -0,0 +1,81 @@ +SUMMARY="Portable Network Graphics library" +DESCRIPTION=" +libpng is the official PNG reference library. It supports almost all PNG \ +features, is extensible, and has been extensively tested for over 17 years +" +HOMEPAGE="http://www.libpng.org" +COPYRIGHT=" + 1998-2013 Glenn Randers-Pehrson + 1996-1997 Andreas Dilger + 1995-1996 Guy Eric Schalnat, Group 42, Inc. + " +LICENSE="LibPNG" +SRC_URI="http://prdownloads.sourceforge.net/libpng/libpng-1.6.8.tar.gz" +CHECKSUM_MD5="29b7065906e2551508a0d7eacd19174e" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + libpng$secondaryArchSuffix = $portVersion compat >= 1.6 + lib:libpng$secondaryArchSuffix = 16.8.0 compat >= 16 + lib:libpng16$secondaryArchSuffix = 16.8.0 compat >= 16 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libz$secondaryArchSuffix >= 1.0.4 + " +BUILD_PREREQUIRES=" + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtool >= 2.4.2 + cmd:make + " + +BUILD() +{ + aclocal + libtoolize --force --copy --install + aclocal + autoconf + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLibs libpng libpng16 + fixPkgconfig + + # devel package + packageEntries devel \ + $binDir \ + $developDir \ + $manDir/man3 +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + libpng${secondaryArchSuffix}_devel = $portVersion compat >= 1.6 + cmd:libpng_config$secondaryArchSuffix = $portVersion compat >= 1.6 + cmd:libpng16_config$secondaryArchSuffix = $portVersion compat >= 1.6 + cmd:pngfix$secondaryArchSuffix = $portVersion compat >= 1.6 + cmd:png_fix_itxt$secondaryArchSuffix = $portVersion compat >= 1.6 + devel:libpng$secondaryArchSuffix = 16.8.0 compat >= 16 + devel:libpng16$secondaryArchSuffix = 16.8.0 compat >= 16 + " +REQUIRES_devel=" + libpng$secondaryArchSuffix == $portVersion base + haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix + " From 0c872da455d2302fd001e31f4bef8526cfded792 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Thu, 9 Jan 2014 00:13:43 -0800 Subject: [PATCH 12/13] Add support for secondaryArchSuffix to yab, though it still fails to build --- haiku-apps/yab/yab-1.7.recipe | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/haiku-apps/yab/yab-1.7.recipe b/haiku-apps/yab/yab-1.7.recipe index f31cbf46b..580637ebe 100644 --- a/haiku-apps/yab/yab-1.7.recipe +++ b/haiku-apps/yab/yab-1.7.recipe @@ -12,26 +12,30 @@ LICENSE="Artistic COPYRIGHT="1995-2006 Marc-Oliver Ihm (yabasic) 2006-2009 Jan Bungeroth (yab improvements)" -ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" +SECONDARY_ARCHITECTURE="!x86_gcc2 !x86" #SOURCE_DIR="yab-$portVersion" PROVIDES=" - cmd:yab + yab$secondaryArchSuffix = $portVersion + cmd:yab$secondaryArchSuffix " REQUIRES=" - haiku >= $haikuVersion + haiku$secondaryArchSuffix >= $haikuVersion + lib:ncurses$secondaryArchSuffix " BUILD_REQUIRES=" - haiku_devel >= $haikuVersion + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libncurses$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:bison cmd:flex - cmd:gcc + cmd:gcc$secondaryArchSuffix cmd:make cmd:mkdepend cmd:perl From c82a01055ab3df3d9f4eb115671f2890f856c73a Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Thu, 9 Jan 2014 01:25:56 -0800 Subject: [PATCH 13/13] Initial recipe for squirrel --- dev-lang/squirrel/squirrel-3.0.4.recipe | 74 +++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 dev-lang/squirrel/squirrel-3.0.4.recipe diff --git a/dev-lang/squirrel/squirrel-3.0.4.recipe b/dev-lang/squirrel/squirrel-3.0.4.recipe new file mode 100644 index 000000000..e7f133e8e --- /dev/null +++ b/dev-lang/squirrel/squirrel-3.0.4.recipe @@ -0,0 +1,74 @@ +SUMMARY="A light-weight scripting language" +DESCRIPTION=" +Squirrel is a light weight programming language featuring higher-order \ +functions, classes/inheritance, delegation, tail recursion, generators, \ +cooperative threads, exception handling, reference counting and garbage \ +collection on demand. C-like syntax. +" +HOMEPAGE="http://www.squirrel-lang.org" +SRC_URI="https://squirrel.googlecode.com/files/squirrel_3_0_4_stable.tar.gz" +CHECKSUM_MD5="e75feaed79c203d027708e2067ca1dcc" +LICENSE="MIT" +COPYRIGHT="2004-2013 Alberto Demichelis" +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" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86 ?x86_64" + +PROVIDES=" + squirrel$secondaryArchSuffix = $portVersion + cmd:sq$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:make + cmd:gcc$secondaryArchSuffix + " + +SOURCE_DIR="SQUIRREL3" + +BUILD() +{ + make $jobArgs +} + +INSTALL() +{ + mkdir -p $binDir + cp -r bin/* $binDir + + mkdir -p $includeDir + cp -r include/* $includeDir + + mkdir -p $developDocDir + cp -r doc/* $developDocDir + + mkdir -p $libDir + cp -r lib/* $develLibDir + + rm -rf $libDir + + packageEntries devel \ + $developDir +} + +PROVIDES_devel=" + libsquirrel${secondaryArchSuffix}_devel = $portVersion + devel:libsquirrel$secondaryArchSuffix = $portVersion + devel:libsqstdlib$secondaryArchSuffix = $portVersion + " + +REQUIRES_devel=" + squirrel$secondaryArchSuffix == $portVersion base + "