mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-libs/boost: fix network sandbox failure & more gcc-15 fallout
Fixes for some previosuly undetected test fallout: - beast: delete a test that fails with network-sandbox - bind: disable -Werror for gcc-15 - callable_traits: fails with gcc-15 - yap: add <cstdint> for gcc-15 Closes: https://bugs.gentoo.org/954810 Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com> Part-of: https://github.com/gentoo/gentoo/pull/41818 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
6ea620d747
commit
6343cf3dd0
@@ -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<Callable, Args...>() == boost::callable_traits::is_invocable<Callable, Args...>())
|
||||
"callable_traits"
|
||||
# test output comparison failure
|
||||
"config"
|
||||
# "C++03 support was deprecated in Boost.Chrono 1.82" ??
|
||||
|
||||
@@ -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);
|
||||
28
dev-libs/boost/files/boost-1.88.0-bind-no-Werror.patch
Normal file
28
dev-libs/boost/files/boost-1.88.0-bind-no-Werror.patch
Normal file
@@ -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<const int&, boost::_mfi::dm<int, std::pair<int, int> >, boost::_bi::list<boost::arg<1> > >' 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
|
||||
|
||||
<toolset>msvc:<warnings-as-errors>on
|
||||
- <toolset>gcc:<warnings-as-errors>on
|
||||
+ <toolset>gcc:<warnings-as-errors>off
|
||||
<toolset>clang:<warnings-as-errors>on
|
||||
|
||||
<toolset>gcc:<cxxflags>$(gcc-flags)
|
||||
22
dev-libs/boost/files/boost-1.88.0-yap-cstdint.patch
Normal file
22
dev-libs/boost/files/boost-1.88.0-yap-cstdint.patch
Normal file
@@ -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<uint32_t> 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 <boost/core/lightweight_test.hpp>
|
||||
|
||||
#include <sstream>
|
||||
-
|
||||
+#include <cstdint>
|
||||
|
||||
template<typename T>
|
||||
using term = boost::yap::terminal<boost::yap::expression, T>;
|
||||
Reference in New Issue
Block a user