commit:     301f5e6332309bfe2bdc10aea941bbe0bd9a16cb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 10:57:58 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 10:57:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=301f5e63

dev-libs/boost: fix build with libcxx

No revbump as:
1. Didn't build with libcxx anyway;
2. Mixing libcxx and libstdc++ isn't supported (suppose built Boost
with libstdc++ & tried to use libcxx in an application) so no
need to worry about that case, although doubt things would work
enough that you'd get to the point where this caused a problem.

Closes: https://bugs.gentoo.org/869401
Thanks-to: Peter Dimov <pdimov <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/boost/boost-1.80.0.ebuild                 |  1 +
 .../boost/files/boost-1.80.0-unary-function.patch  | 27 ++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/dev-libs/boost/boost-1.80.0.ebuild 
b/dev-libs/boost/boost-1.80.0.ebuild
index e0c8fcaf0060..d70b29fc1bf3 100644
--- a/dev-libs/boost/boost-1.80.0.ebuild
+++ b/dev-libs/boost/boost-1.80.0.ebuild
@@ -51,6 +51,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-1.80.0-fix-mips1-transition.patch
        # (upstreamed)
        "${FILESDIR}"/${PN}-1.80.0-unordered-fix.patch
+       "${FILESDIR}"/${PN}-1.80.0-unary-function.patch
 )
 
 python_bindings_needed() {

diff --git a/dev-libs/boost/files/boost-1.80.0-unary-function.patch 
b/dev-libs/boost/files/boost-1.80.0-unary-function.patch
new file mode 100644
index 000000000000..7941d7c66395
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.80.0-unary-function.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/869401
+https://github.com/boostorg/config/commit/f0af4a9184457939b89110795ae2d293582c5f66
+https://github.com/boostorg/container_hash/issues/24
+
+From: jzmaddock <[email protected]>
+Date: Mon, 11 Jul 2022 18:26:07 +0100
+Subject: [PATCH] The std lib unary/binary_function base classes are
+ deprecated/removed from libcpp15. Fixes
+ https://github.com/boostorg/container_hash/issues/24.
+
+--- a/boost/config/stdlib/libcpp.hpp
++++ b/boost/config/stdlib/libcpp.hpp
+@@ -168,4 +168,13 @@
+ #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+ #endif
+ 
++#if _LIBCPP_VERSION >= 15000
++//
++// Unary function is now deprecated in C++11 and later:
++//
++#if __cplusplus >= 201103L
++#define BOOST_NO_CXX98_FUNCTION_BASE
++#endif
++#endif
++
+ //  --- end ---
+

Reply via email to