diff --git a/dev-libs/boost/boost-1.88.0.ebuild b/dev-libs/boost/boost-1.88.0.ebuild index acab980f32963..0ac724b61c97d 100644 --- a/dev-libs/boost/boost-1.88.0.ebuild +++ b/dev-libs/boost/boost-1.88.0.ebuild @@ -28,8 +28,7 @@ REQUIRED_USE=" python? ( ${PYTHON_REQUIRED_USE} ) test-full? ( test ) " -# Restricted for bug #954810 (network access), will be fixed shortly -RESTRICT="!test? ( test ) test" +RESTRICT="!test? ( test )" RDEPEND=" bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) @@ -50,6 +49,9 @@ PATCHES=( "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch "${FILESDIR}"/${PN}-1.87.0-process-error-alpha.patch + "${FILESDIR}"/${PN}-1.88.0-beast-network-sandbox.patch + "${FILESDIR}"/${PN}-1.88.0-bind-no-Werror.patch + "${FILESDIR}"/${PN}-1.88.0-yap-cstdint.patch ) create_user-config.jam() { @@ -246,6 +248,8 @@ multilib_src_test() { local libs_excluded=( # fails to use std::reverse_copy "algorithm" + # is_invocable.cpp:35:58: error: static assertion failed: (std::is_invocable() == boost::callable_traits::is_invocable()) + "callable_traits" # test output comparison failure "config" # "C++03 support was deprecated in Boost.Chrono 1.82" ?? diff --git a/dev-libs/boost/files/boost-1.88.0-beast-network-sandbox.patch b/dev-libs/boost/files/boost-1.88.0-beast-network-sandbox.patch new file mode 100644 index 0000000000000..4d42b8fea1ffb --- /dev/null +++ b/dev-libs/boost/files/boost-1.88.0-beast-network-sandbox.patch @@ -0,0 +1,33 @@ +Delete a test case that tries to fail to connect to an +unconnectable address, but instead fails because network-sandbox +prevents the connection. + +Bug: https://bugs.gentoo.org/954810 + +--- boost_1_88_0/libs/beast/test/beast/core/basic_stream.cpp~ 2025-04-03 13:37:23.000000000 +0200 ++++ boost_1_88_0/libs/beast/test/beast/core/basic_stream.cpp 2025-04-27 22:42:50.705597311 +0200 +@@ -1014,24 +1014,6 @@ public: + // + + { +- // normal timeout +- // Requires timeout happen before ECONNREFUSED +- stream_type s(ioc); +- auto const ep = net::ip::tcp::endpoint( +- #if 1 +- // This address _should_ be unconnectible +- net::ip::make_address("72.5.65.111"), 1); +- #else +- // On Travis ECONNREFUSED happens before the timeout +- net::ip::make_address("127.0.0.1"), 1); +- #endif +- s.expires_after(std::chrono::seconds(0)); +- s.async_connect(ep, connect_handler{error::timeout}); +- ioc.run_for(std::chrono::seconds(1)); +- ioc.restart(); +- } +- +- { + // stream destroyed + { + stream_type s(ioc); diff --git a/dev-libs/boost/files/boost-1.88.0-bind-no-Werror.patch b/dev-libs/boost/files/boost-1.88.0-bind-no-Werror.patch new file mode 100644 index 0000000000000..2ebd7e4026307 --- /dev/null +++ b/dev-libs/boost/files/boost-1.88.0-bind-no-Werror.patch @@ -0,0 +1,28 @@ +Prevent test failure due to: + +bind_dm3_test.cpp: In function 'int main()': +bind_dm3_test.cpp:39:17: error: possibly dangling reference to a temporary [-Werror=dangling-reference] + 39 | int const & x = boost::bind( &pair_type::first, _1 )( pair ); + | ^ +bind_dm3_test.cpp:39:32: note: 'boost::_bi::bind_t >, boost::_bi::list > >' temporary created here + 39 | int const & x = boost::bind( &pair_type::first, _1 )( pair ); + | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ +cc1plus: all warnings being treated as errors + +This was seemingly fixed before in commit: +https://github.com/boostorg/bind/commit/8729fbdbfa124291612bc011a7d639d8701de0c2 +but either it was not fixed properly or regressed in gcc-15. + +Bug: https://bugs.gentoo.org/954810 + +--- boost_1_88_0/libs/bind/test/Jamfile.v2~ 2025-04-03 13:37:23.000000000 +0200 ++++ boost_1_88_0/libs/bind/test/Jamfile.v2 2025-04-28 01:23:11.942535523 +0200 +@@ -19,7 +19,7 @@ project + : requirements + + msvc:on +- gcc:on ++ gcc:off + clang:on + + gcc:$(gcc-flags) diff --git a/dev-libs/boost/files/boost-1.88.0-yap-cstdint.patch b/dev-libs/boost/files/boost-1.88.0-yap-cstdint.patch new file mode 100644 index 0000000000000..c7602f4110435 --- /dev/null +++ b/dev-libs/boost/files/boost-1.88.0-yap-cstdint.patch @@ -0,0 +1,22 @@ +Building tests with gcc-15 fails with: + +operators_unary.cpp: In function 'int main()': +operators_unary.cpp:30:14: error: 'uint32_t' was not declared in this scope + 30 | term x{{2u}}; + | ^~~~~~~~ + +Bug: https://bugs.gentoo.org/954810 + +diff --git boost_1_88_0/libs/yap/test/operators_unary.cpp~ boost_1_88_0/libs/yap/test/operators_unary.cpp +index c65aead..25a6b2f 100644 +--- boost_1_88_0/libs/yap/test/operators_unary.cpp~ ++++ boost_1_88_0/libs/yap/test/operators_unary.cpp +@@ -8,7 +8,7 @@ + #include + + #include +- ++#include + + template + using term = boost::yap::terminal;