Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/meta-pkgs/boost boost: avoid NetBSD specific compile e...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e377e9d7a3a1
branches:  trunk
changeset: 438719:e377e9d7a3a1
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Wed Sep 09 06:38:52 2020 +0000

description:
boost: avoid NetBSD specific compile errors in boost::process

diffstat:

 meta-pkgs/boost/distinfo                                                 |   4 +-
 meta-pkgs/boost/patches/patch-boost_process_detail_posix_handles.hpp     |  30 ++++++++++
 meta-pkgs/boost/patches/patch-boost_process_detail_posix_is__running.hpp |  20 ++++++
 3 files changed, 53 insertions(+), 1 deletions(-)

diffs (76 lines):

diff -r 3f7f140b4dcb -r e377e9d7a3a1 meta-pkgs/boost/distinfo
--- a/meta-pkgs/boost/distinfo  Wed Sep 09 01:31:45 2020 +0000
+++ b/meta-pkgs/boost/distinfo  Wed Sep 09 06:38:52 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.131 2020/06/19 13:02:38 ryoon Exp $
+$NetBSD: distinfo,v 1.132 2020/09/09 06:38:52 tnn Exp $
 
 SHA1 (boost_1_73_0.tar.bz2) = 6d6ed02b29c860fd21b274fc4e1f820855e765e9
 RMD160 (boost_1_73_0.tar.bz2) = 3cd711ac0f6ee60d63f5f77df4957beaa6e0bf3d
@@ -20,6 +20,8 @@
 SHA1 (patch-boost_math_special__functions_log1p.hpp) = df6fd088da736a4640663b64841383432f1a1201
 SHA1 (patch-boost_math_tools_config.hpp) = 9d7ef331414526057a6ac1a0ba1af815f017dfc3
 SHA1 (patch-boost_numeric_ublas_storage.hpp) = 282b5a3b5d09216ded14fae166169d64db72590e
+SHA1 (patch-boost_process_detail_posix_handles.hpp) = 2841be73b01d4949cc1f6ac9a16e59a30f1bc882
+SHA1 (patch-boost_process_detail_posix_is__running.hpp) = cc9084735774bd33c5ff6ff936a039fa30f989dd
 SHA1 (patch-boost_property__tree_detail_xml__parser__read__rapidxml.hpp) = 3499fcc37e72396d23a9fce0f1c97891adf12a9f
 SHA1 (patch-boost_regex_config.hpp) = 6b752c7c23168c591cd391739c7a4539bef44c12
 SHA1 (patch-boost_stacktrace_detail_collect__unwind.ipp) = a5922dffd929f596b6e7d71b11f32d17e0bbd806
diff -r 3f7f140b4dcb -r e377e9d7a3a1 meta-pkgs/boost/patches/patch-boost_process_detail_posix_handles.hpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/meta-pkgs/boost/patches/patch-boost_process_detail_posix_handles.hpp      Wed Sep 09 06:38:52 2020 +0000
@@ -0,0 +1,30 @@
+$NetBSD: patch-boost_process_detail_posix_handles.hpp,v 1.1 2020/09/09 06:38:52 tnn Exp $
+
+dirfd(3) on NetBSD is implemented as a macro and cannot use namespace prefix.
+
+--- boost/process/detail/posix/handles.hpp.orig        2020-04-22 13:35:49.000000000 +0000
++++ boost/process/detail/posix/handles.hpp
+@@ -31,7 +31,11 @@ inline std::vector<native_handle_type> g
+     else
+         ec.clear();
+ 
++#if defined(__NetBSD__)
++    auto my_fd = (dir.get())->dd_fd;
++#else
+     auto my_fd = ::dirfd(dir.get());
++#endif
+ 
+     struct ::dirent * ent_p;
+ 
+@@ -115,7 +119,11 @@ struct limit_handles_ : handler_base_ext
+             return;
+         }
+ 
++#if defined(__NetBSD__)
++        auto my_fd = (dir)->dd_fd;
++#else
+         auto my_fd = ::dirfd(dir);
++#endif
+         struct ::dirent * ent_p;
+ 
+         while ((ent_p = readdir(dir)) != nullptr)
diff -r 3f7f140b4dcb -r e377e9d7a3a1 meta-pkgs/boost/patches/patch-boost_process_detail_posix_is__running.hpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/meta-pkgs/boost/patches/patch-boost_process_detail_posix_is__running.hpp  Wed Sep 09 06:38:52 2020 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-boost_process_detail_posix_is__running.hpp,v 1.1 2020/09/09 06:38:52 tnn Exp $
+
+Cannot use static asserts on WIFEXITED() & friends because the
+internal _W_INT macro uses (void*) which is not allowed in constexprs.
+
+--- boost/process/detail/posix/is_running.hpp.orig     2020-04-22 13:35:49.000000000 +0000
++++ boost/process/detail/posix/is_running.hpp
+@@ -17,10 +17,12 @@ namespace boost { namespace process { na
+ // This bit arrangement of status codes is not guaranteed by POSIX, but (according to comments in
+ // the glibc <bits/waitstatus.h> header) is the same across systems in practice.
+ constexpr int still_active = 0x017f;
++#if !defined(__NetBSD__)
+ static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
+ static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
+ static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
+ static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
++#endif
+ 
+ inline bool is_running(int code)
+ {



Home | Main Index | Thread Index | Old Index