From ae6d8c6a1397ef170bbc66c9c7cb8d2488d49ea0 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 14 Oct 2017 11:49:07 +0200 Subject: [PATCH] boost165: use wait4 from libbsd. --- dev-libs/boost/boost165-1.65.1.recipe | 4 +- dev-libs/boost/patches/boost-1.65.1.patchset | 104 ++++++++----------- 2 files changed, 44 insertions(+), 64 deletions(-) diff --git a/dev-libs/boost/boost165-1.65.1.recipe b/dev-libs/boost/boost165-1.65.1.recipe index 12f17e8a0..2baaa0855 100644 --- a/dev-libs/boost/boost165-1.65.1.recipe +++ b/dev-libs/boost/boost165-1.65.1.recipe @@ -8,7 +8,7 @@ testing. It contains over eighty individual libraries. HOMEPAGE="http://www.boost.org/" SOURCE_URI="https://dl.bintray.com/boostorg/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2" CHECKSUM_SHA256="9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81" -REVISION="1" +REVISION="2" LICENSE="Boost v1.0" COPYRIGHT="1998-2017 Beman Dawes, David Abrahams, Rene Rivera, et al." SOURCE_DIR="boost_${portVersion//./_}" @@ -98,7 +98,7 @@ PROVIDES_devel=" " REQUIRES_devel=" - haiku$secondaryArchSuffix + haiku$secondaryArchSuffix >= r1~alpha4_pm_hrev51470 boost165$secondaryArchSuffix == $portVersion " diff --git a/dev-libs/boost/patches/boost-1.65.1.patchset b/dev-libs/boost/patches/boost-1.65.1.patchset index beabf9dca..5838012f4 100644 --- a/dev-libs/boost/patches/boost-1.65.1.patchset +++ b/dev-libs/boost/patches/boost-1.65.1.patchset @@ -1,4 +1,4 @@ -From c7f9f38a4d00df9501dd4d01559984158b39e75f Mon Sep 17 00:00:00 2001 +From 847dbc2803cdf64610ed4cdf36574a07aef374b5 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 @@ -130,10 +130,10 @@ index ee6474b..d2bc86d 100644 vms windows """.split() -- -2.13.1 +2.14.2 -From 75c20f5a9b35349804fa20a6b70823964bf24cc1 Mon Sep 17 00:00:00 2001 +From 3ce44dbce12c8c8ccaaf544ec28aeed1255b854e 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 @@ -153,69 +153,49 @@ index 1f33b1a..3670ffa 100644 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) # define BOOST_THREAD_MACOS -- -2.13.1 +2.14.2 -From b4f27c1394b7b55cd8df82858f53ded8fe6b12f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 31 Dec 2016 11:23:58 +0100 -Subject: replace wait4 by waitpid for Haiku - - -diff --git a/tools/build/src/engine/execunix.c b/tools/build/src/engine/execunix.c -index a4c73ea..1c5606a 100644 ---- a/tools/build/src/engine/execunix.c -+++ b/tools/build/src/engine/execunix.c -@@ -525,7 +525,11 @@ void exec_wait() - close_streams( i, ERR ); - - /* Reap the child and release resources. */ -+#ifdef __HAIKU__ -+ while ( ( pid = waitpid( cmdtab[ i ].pid, &status, 0 ) ) == -1 ) -+#else - while ( ( pid = wait4( cmdtab[ i ].pid, &status, 0, &cmd_usage ) ) == -1 ) -+#endif - if ( errno != EINTR ) - break; - if ( pid != cmdtab[ i ].pid ) --- -2.13.1 - - -From e6e1242e63aa6fe6d125fb982b23c6ec1069c64b Mon Sep 17 00:00:00 2001 +From 4622b1ba7c6141478a00aec5d529d148e9832305 Mon Sep 17 00:00:00 2001 From: Jerome Duval -Date: Fri, 15 Sep 2017 22:35:19 +0200 -Subject: Haiku dladdr() has no const for the first parameter... +Date: Sat, 14 Oct 2017 11:47:09 +0200 +Subject: Haiku needs bsd and _BSD_SOURCE. -diff --git a/boost/stacktrace/detail/frame_unwind.ipp b/boost/stacktrace/detail/frame_unwind.ipp -index d4e7973..be468df 100644 ---- a/boost/stacktrace/detail/frame_unwind.ipp -+++ b/boost/stacktrace/detail/frame_unwind.ipp -@@ -84,7 +84,8 @@ std::string to_string(const frame* frames, std::size_t size) { - std::string frame::name() const { - #if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__) - ::Dl_info dli; -- const bool dl_ok = !!::dladdr(addr_, &dli); -+ // Some of the libc headers miss `const` in `dladdr(const void*, Dl_info*)` -+ const bool dl_ok = !!::dladdr(const_cast(addr_), &dli); - if (dl_ok && dli.dli_sname) { - return boost::core::demangle(dli.dli_sname); - } -diff --git a/boost/stacktrace/detail/location_from_symbol.hpp b/boost/stacktrace/detail/location_from_symbol.hpp -index d20b0d6..e54e7e8 100644 ---- a/boost/stacktrace/detail/location_from_symbol.hpp -+++ b/boost/stacktrace/detail/location_from_symbol.hpp -@@ -28,7 +28,8 @@ public: - explicit location_from_symbol(const void* addr) BOOST_NOEXCEPT - : dli_() - { -- if (!::dladdr(addr, &dli_)) { -+ // Some of the libc headers miss `const` in `dladdr(const void*, Dl_info*)` -+ if (!::dladdr(const_cast(addr), &dli_)) { - dli_.dli_fname = 0; - } - } +diff --git a/tools/build/src/engine/build.jam b/tools/build/src/engine/build.jam +index e711c08..f81e349 100644 +--- a/tools/build/src/engine/build.jam ++++ b/tools/build/src/engine/build.jam +@@ -583,6 +583,11 @@ if $(OS) = VMS + { + --defs += VMS ; + } ++if $(OS) = HAIKU ++{ ++ --defs += _BSDSOURCE ; ++ --libs += -lbsd ; ++} + --defs += YYSTACKSIZE=5000 ; + + if $(with-python) +diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh +index 1d0dcc8..30d74f1 100755 +--- a/tools/build/src/engine/build.sh ++++ b/tools/build/src/engine/build.sh +@@ -148,6 +148,13 @@ case $BOOST_JAM_TOOLSET in + BOOST_JAM_OS="NT" + ;; + ++ *haiku*) ++ BOOST_JAM_CC=cc ++ BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM -D_BSD_SOURCE -lbsd" ++ BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE -D_BSD_SOURCE -lbsd" ++ BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC -D_BSD_SOURCE -lbsd" ++ ;; ++ + *) + BOOST_JAM_CC=gcc + esac -- -2.13.1 +2.14.2