diff --git a/dev-libs/boost/boost-1.55.0.recipe b/dev-libs/boost/boost-1.57.0.recipe similarity index 90% rename from dev-libs/boost/boost-1.55.0.recipe rename to dev-libs/boost/boost-1.57.0.recipe index c03c928f6..0780605a8 100644 --- a/dev-libs/boost/boost-1.55.0.recipe +++ b/dev-libs/boost/boost-1.57.0.recipe @@ -1,22 +1,22 @@ -SUMMARY="A set of libraries for the C++ programming language" +SUMMARY="A set of libraries for the C++ programming language" DESCRIPTION=" -Boost is a set of libraries for the C++ programming language that provide \ -support for tasks and structures such as linear algebra, pseudorandom number \ -generation, multithreading, image processing, regular expressions, and unit \ +Boost is a set of libraries for the C++ programming language that provide \ +support for tasks and structures such as linear algebra, pseudorandom number \ +generation, multithreading, image processing, regular expressions, and unit \ testing. It contains over eighty individual libraries. " HOMEPAGE="http://www.boost.org/" -SOURCE_URI="http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2" -CHECKSUM_SHA256="fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52" -REVISION="6" +SOURCE_URI="http://sourceforge.net/projects/boost/files/boost/$portVersion/boost_1_57_0.tar.bz2" +CHECKSUM_SHA256="910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967" +REVISION="1" LICENSE="Boost v1.0" -COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al." +COPYRIGHT="1998-2014 Beman Dawes, David Abrahams, Rene Rivera, et al." ARCHITECTURES="!x86_gcc2 x86 ?x86_64" SECONDARY_ARCHITECTURES="x86" -SOURCE_DIR="boost_1_55_0" +SOURCE_DIR="boost_1_57_0" -PATCHES="boost-1.55.0.patchset" +PATCHES="boost-1.57.0.patchset" PROVIDES=" boost$secondaryArchSuffix = $portVersion @@ -26,6 +26,7 @@ REQUIRES=" haiku$secondaryArchSuffix boost_atomic$secondaryArchSuffix == $portVersion boost_chrono$secondaryArchSuffix == $portVersion + boost_container$secondaryArchSuffix == $portVersion boost_context$secondaryArchSuffix == $portVersion boost_coroutine$secondaryArchSuffix == $portVersion boost_date_time$secondaryArchSuffix == $portVersion @@ -71,7 +72,7 @@ BUILD() --libdir=$libDir \ --includedir=$includeDir - ./b2 $jobArgs \ + ./b2 -q $jobArgs \ --without-mpi \ --enable-threads=posix \ --enable-thread-local-alloc \ @@ -86,7 +87,7 @@ BUILD() INSTALL() { - ./b2 $jobArgs \ + ./b2 -q $jobArgs \ --without-mpi \ --enable-threads=posix \ --enable-thread-local-alloc \ @@ -99,8 +100,8 @@ INSTALL() --without-python \ install - prepareInstalledDevelLibs libboost_atomic \ - libboost_chrono libboost_context libboost_coroutine \ + prepareInstalledDevelLibs libboost_atomic libboost_chrono \ + libboost_container libboost_context libboost_coroutine \ libboost_date_time libboost_filesystem libboost_iostreams \ libboost_locale libboost_log libboost_log_setup \ libboost_math_c99 libboost_math_c99f libboost_math_c99l \ @@ -114,6 +115,7 @@ INSTALL() packageEntries devel $developDir packageEntries atomic $libDir/libboost_atomic* packageEntries chrono $libDir/libboost_chrono* + packageEntries container $libDir/libboost_container* packageEntries context $libDir/libboost_context* packageEntries coroutine $libDir/libboost_coroutine* packageEntries date_time $libDir/libboost_date_time* @@ -146,6 +148,7 @@ PROVIDES_devel=" boost${secondaryArchSuffix}_devel = $portVersion devel:libboost_atomic$secondaryArchSuffix = $portVersion devel:libboost_chrono$secondaryArchSuffix = $portVersion + devel:libboost_container$secondaryArchSuffix = $portVersion devel:libboost_context$secondaryArchSuffix = $portVersion devel:libboost_coroutine$secondaryArchSuffix = $portVersion devel:libboost_date_time$secondaryArchSuffix = $portVersion @@ -182,6 +185,7 @@ REQUIRES_devel=" boost$secondaryArchSuffix == $portVersion boost_atomic$secondaryArchSuffix == $portVersion boost_chrono$secondaryArchSuffix == $portVersion + boost_container$secondaryArchSuffix == $portVersion boost_context$secondaryArchSuffix == $portVersion boost_coroutine$secondaryArchSuffix == $portVersion boost_date_time$secondaryArchSuffix == $portVersion @@ -224,6 +228,15 @@ REQUIRES_chrono=" lib:libboost_system$secondaryArchSuffix == $portVersion " +PROVIDES_container=" + boost_container$secondaryArchSuffix = $portVersion + lib:libboost_container$secondaryArchSuffix = $portVersion + " + +REQUIRES_container=" + haiku$secondaryArchSuffix + " + PROVIDES_context=" boost_context$secondaryArchSuffix = $portVersion lib:libboost_context$secondaryArchSuffix = $portVersion @@ -240,8 +253,10 @@ PROVIDES_coroutine=" REQUIRES_coroutine=" haiku$secondaryArchSuffix + lib:libboost_chrono$secondaryArchSuffix == $portVersion lib:libboost_context$secondaryArchSuffix == $portVersion lib:libboost_system$secondaryArchSuffix == $portVersion + lib:libboost_thread$secondaryArchSuffix == $portVersion " PROVIDES_date_time=" @@ -322,10 +337,14 @@ PROVIDES_log=" REQUIRES_log=" haiku$secondaryArchSuffix lib:libboost_chrono$secondaryArchSuffix == $portVersion - lib:libboost_filesystem$secondaryArchSuffix == $portVersion - lib:libboost_system$secondaryArchSuffix == $portVersion lib:libboost_date_time$secondaryArchSuffix == $portVersion + lib:libboost_filesystem$secondaryArchSuffix == $portVersion + lib:libboost_regex$secondaryArchSuffix == $portVersion + lib:libboost_system$secondaryArchSuffix == $portVersion lib:libboost_thread$secondaryArchSuffix == $portVersion + lib:libicuuc$secondaryArchSuffix + lib:libicui18n$secondaryArchSuffix + lib:libicudata$secondaryArchSuffix " PROVIDES_math=" @@ -358,6 +377,7 @@ PROVIDES_random=" REQUIRES_random=" haiku$secondaryArchSuffix + lib:libboost_system$secondaryArchSuffix == $portVersion " PROVIDES_regex=" diff --git a/dev-libs/boost/patches/boost-1.55.0.patchset b/dev-libs/boost/patches/boost-1.55.0.patchset deleted file mode 100644 index 072d6c2b6..000000000 --- a/dev-libs/boost/patches/boost-1.55.0.patchset +++ /dev/null @@ -1,469 +0,0 @@ -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 - - -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 ; - } - } --- -1.8.3.4 - - -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..899765d 100644 ---- a/boost/config/platform/haiku.hpp -+++ b/boost/config/platform/haiku.hpp -@@ -9,18 +9,26 @@ - - #define BOOST_PLATFORM "Haiku" - --#define BOOST_NO_INTRINSIC_WCHAR_T - #define BOOST_HAS_UNISTD_H -+#define GLIBC_HAVE_LONG_LONG -+#define BOOST_HAS_STDINT_H -+#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: --- -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 - - -From d94967fa8fdea2842ec02fab90df0ec4efaac685 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Thu, 9 Jan 2014 22:40:40 +0100 -Subject: filesystem: don't crash because of unsupported locale in libstdc++ - -See https://svn.boost.org/trac/boost/ticket/4688 -We do the same as on Mac OS X and assume the filesystem uses utf-8. - -diff --git a/libs/filesystem/src/path.cpp b/libs/filesystem/src/path.cpp -index c740dec..3285d39 100644 ---- a/libs/filesystem/src/path.cpp -+++ b/libs/filesystem/src/path.cpp -@@ -35,7 +35,7 @@ - #ifdef BOOST_WINDOWS_API - # include "windows_file_codecvt.hpp" - # include --#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -+#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__HAIKU__) - # include - #endif - -@@ -828,7 +828,7 @@ namespace - codecvt_facet_ptr(&std::use_facet > - (path_locale)); - --#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -+#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__HAIKU__) - - // "All BSD system functions expect their string parameters to be in UTF-8 encoding - // and nothing else." See -@@ -903,7 +903,7 @@ namespace filesystem - const path::codecvt_type& path::codecvt() - { - # if defined(BOOST_POSIX_API) && \ -- !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) -+ !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__HAIKU__)) - // A local static initialized by calling path::imbue ensures that std::locale(""), - // which may throw, is called only if path_locale and condecvt_facet will actually - // be used. Thus misconfigured environmental variables will only cause an --- -1.8.3.4 - diff --git a/dev-libs/boost/patches/boost-1.57.0.patchset b/dev-libs/boost/patches/boost-1.57.0.patchset new file mode 100644 index 000000000..acb4d4586 --- /dev/null +++ b/dev-libs/boost/patches/boost-1.57.0.patchset @@ -0,0 +1,392 @@ +From 8fc951456acdcd12315333097338ecd8453df2da Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 6 Aug 2016 22:27:19 +0200 +Subject: Import changes from 1.55.0: buildtools + + +diff --git a/tools/build/src/engine/boehm_gc/dyn_load.c b/tools/build/src/engine/boehm_gc/dyn_load.c +index 36968ba..91c0efa 100644 +--- a/tools/build/src/engine/boehm_gc/dyn_load.c ++++ b/tools/build/src/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. +@@ -216,7 +216,7 @@ 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/src/engine/boehm_gc/include/gc.h b/tools/build/src/engine/boehm_gc/include/gc.h +index cc95088..590a868 100644 +--- a/tools/build/src/engine/boehm_gc/include/gc.h ++++ b/tools/build/src/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/src/engine/boehm_gc/include/gc_config_macros.h b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h +index 66abf0b..fb61f26 100644 +--- a/tools/build/src/engine/boehm_gc/include/gc_config_macros.h ++++ b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h +@@ -45,6 +45,7 @@ + || defined(GC_AIX_THREADS) \ + || defined(GC_LINUX_THREADS) \ + || defined(GC_NETBSD_THREADS) \ ++ || defined(GC_HAIKU_THREADS) \ + || defined(GC_GNU_THREADS)) + # define _REENTRANT + /* Better late than never. This fails if system headers that */ +@@ -61,7 +62,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_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/src/engine/boehm_gc/include/private/gcconfig.h b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h +index 20f35bc..7e798a7 100644 +--- a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h ++++ b/tools/build/src/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/src/engine/boehm_gc/os_dep.c b/tools/build/src/engine/boehm_gc/os_dep.c +index bb8fa08..f61858d 100644 +--- a/tools/build/src/engine/boehm_gc/os_dep.c ++++ b/tools/build/src/engine/boehm_gc/os_dep.c +@@ -776,6 +776,15 @@ 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 + +@@ -1095,7 +1104,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) + +diff --git a/tools/build/src/engine/fileunix.c b/tools/build/src/engine/fileunix.c +index bff3a42..db9dcf9 100644 +--- a/tools/build/src/engine/fileunix.c ++++ b/tools/build/src/engine/fileunix.c +@@ -80,7 +80,7 @@ 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_MPEIX ) || defined( OS_HAIKU ) + # define NO_AR + # define HAVE_AR + #endif +diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h +index 497a5bf..b9e7297 100644 +--- a/tools/build/src/engine/jam.h ++++ b/tools/build/src/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/src/engine/jambase.c b/tools/build/src/engine/jambase.c +index b15282b..daef19e 100644 +--- a/tools/build/src/engine/jambase.c ++++ b/tools/build/src/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/system/bin ;\n", ++"CC ?= gcc ;\n", ++"C++ ?= $(CC) ;\n", ++"FORTRAN ?= \"\" ;\n", ++"LIBDIR ?= /boot/system/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/src/tools/builtin.jam b/tools/build/src/tools/builtin.jam +index d62680a..4bde8e7 100644 +--- a/tools/build/src/tools/builtin.jam ++++ b/tools/build/src/tools/builtin.jam +@@ -40,8 +40,8 @@ import convert ; + import generate ; + + +-.os-names = aix android bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf +- qnx qnxnto sgi solaris unix unixware windows ++.os-names = aix android bsd cygwin darwin freebsd haiku hpux iphone linux netbsd ++ openbsd osf qnx qnxnto sgi solaris unix unixware windows + 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 HQIKU : host-os = haiku ; + case MACOSX : host-os = darwin ; + case KFREEBSD : host-os = freebsd ; + case LINUX : host-os = linux ; +diff --git a/tools/build/src/tools/builtin.py b/tools/build/src/tools/builtin.py +index 68ddfed..d0f6649 100644 +--- a/tools/build/src/tools/builtin.py ++++ b/tools/build/src/tools/builtin.py +@@ -82,7 +82,7 @@ def variant (name, parents_or_properties, explicit_properties = []): + feature.compose ("" + name, explicit_properties.all()) + + __os_names = """ +- amiga aix bsd cygwin darwin dos emx freebsd hpux iphone linux netbsd ++ amiga aix bsd cygwin darwin dos emx freebsd haiku hpux iphone linux netbsd + openbsd osf qnx qnxnto sgi solaris sun sunos svr4 sysv ultrix unix unixware + vms windows + """.split() +diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam +index ce9be9d..cce9508 100644 +--- a/tools/build/src/tools/gcc.jam ++++ b/tools/build/src/tools/gcc.jam +@@ -1034,6 +1034,7 @@ rule setup-threading ( targets * : sources * : properties * ) + case cygwin : option = -mthreads ; + case solaris : option = -pthreads ; libs = rt ; + case beos : # No threading options. ++ case haiku : # No threading options. + 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. +diff --git a/tools/build/src/tools/gcc.py b/tools/build/src/tools/gcc.py +index 97f1e79..1fd0880 100644 +--- a/tools/build/src/tools/gcc.py ++++ b/tools/build/src/tools/gcc.py +@@ -686,6 +686,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': ++ # Haiku has no threading options, don't set anything here. ++ pass + elif host_os_name.endswith('BSD'): + flags('gcc', 'OPTIONS', ['multi'], ['-pthread']) + # there is no -lrt on BSD +diff --git a/tools/build/src/tools/python.jam b/tools/build/src/tools/python.jam +index 783b9ce..1a41a1e 100644 +--- a/tools/build/src/tools/python.jam ++++ b/tools/build/src/tools/python.jam +@@ -639,6 +639,7 @@ 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 ; +-- +2.7.0 + + +From 7330f29833a6478c960ff9234850e29bfe685f78 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 6 Aug 2016 22:27:41 +0200 +Subject: Import changes from 1.55.0: sourcecode + + +diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp +new file mode 100644 +index 0000000..5994a36 +--- /dev/null ++++ b/boost/config/platform/haiku.hpp +@@ -0,0 +1,31 @@ ++//  (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_HAS_UNISTD_H ++#define GLIBC_HAVE_LONG_LONG ++#define BOOST_HAS_STDINT_H ++#define BOOST_HASH_NO_EXTENSIONS ++ ++#define BOOST_HAS_BETHREADS ++ ++#ifndef BOOST_DISABLE_THREADS ++# define BOOST_HAS_THREADS ++#endif ++ ++// ++// thread API's not auto detected: ++// ++#define BOOST_HAS_GETTIMEOFDAY ++#define BOOST_HAS_SCHED_YIELD ++#define BOOST_HAS_PTHREAD_YIELD ++ ++// boilerplate code: ++#include +diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp +index 2dddc6a..e072c49 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__) ++// BeOS ++# 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 b26d1ff..416d7e6 100644 +--- a/boost/config/stdlib/libstdcpp3.hpp ++++ b/boost/config/stdlib/libstdcpp3.hpp +@@ -36,6 +36,7 @@ + || defined(_GLIBCXX__PTHREADS) \ + || defined(_GLIBCXX_HAS_GTHREADS) \ + || defined(_WIN32) \ ++ || defined(__HAIKU__) \ + || defined(_AIX) + // + // If the std lib has thread support turned on, then turn it on in Boost +diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp +index 1f33b1a..3670ffa 100644 +--- a/boost/thread/detail/platform.hpp ++++ b/boost/thread/detail/platform.hpp +@@ -32,7 +32,7 @@ + # define BOOST_THREAD_CYGWIN + #elif (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(BOOST_DISABLE_WIN32) + # define BOOST_THREAD_WIN32 +-#elif defined(__BEOS__) ++#elif defined(__BEOS__) || defined(__HAIKU__) + # define BOOST_THREAD_BEOS + #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) + # define BOOST_THREAD_MACOS +-- +2.7.0 + + +From d0449587d4bfe1e72338afe7df6a002873da2599 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 6 Aug 2016 22:30:52 +0200 +Subject: interprocess: disable XSI shared memory. + + +diff --git a/boost/interprocess/detail/workaround.hpp b/boost/interprocess/detail/workaround.hpp +index d0456b5..9ef1faf 100644 +--- a/boost/interprocess/detail/workaround.hpp ++++ b/boost/interprocess/detail/workaround.hpp +@@ -77,7 +77,7 @@ + #endif + + //Check for XSI shared memory objects. They are available in nearly all UNIX platforms +- #if !defined(__QNXNTO__) && !defined(__ANDROID__) ++ #if !defined(__QNXNTO__) && !defined(__ANDROID__) && !defined(__HAIKU__) + #define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS + #endif + +-- +2.7.0 + + +From d3744cdf7451f46432a494f25ab8b8c461142df5 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 6 Aug 2016 22:33:57 +0200 +Subject: filesystem: Haiku uses UTF-8 for filename like FreeBSD and Apple. + + +diff --git a/libs/filesystem/src/path.cpp b/libs/filesystem/src/path.cpp +index 784e31a..88c06b8 100644 +--- a/libs/filesystem/src/path.cpp ++++ b/libs/filesystem/src/path.cpp +@@ -36,7 +36,7 @@ + # include "windows_file_codecvt.hpp" + # include + #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ +- || defined(__FreeBSD__) || defined(__OPEN_BSD__) ++ || defined(__FreeBSD__) || defined(__OPEN_BSD__) || defined(__HAIKU__) + # include + #endif + +@@ -831,7 +831,7 @@ namespace + std::locale global_loc = std::locale(); + return std::locale(global_loc, new windows_file_codecvt); + # elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ +- || defined(__FreeBSD__) || defined(__OpenBSD__) ++ || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) + // "All BSD system functions expect their string parameters to be in UTF-8 encoding + // and nothing else." See + // http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html +-- +2.7.0 +