mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-22 17:17:03 +02:00
boost: update to 1.83.0.
This commit is contained in:
parent
869a25e5e1
commit
eb453e6e0e
13 changed files with 273 additions and 400 deletions
|
@ -634,43 +634,43 @@ libip4tc.so.2 iptables-1.8.3_1
|
|||
libipq.so.0 iptables-1.4.7_1
|
||||
libnm.so.0 libnm-1.0.0_1
|
||||
libKF5ItemModels.so.5 kitemmodels-5.26.0_1
|
||||
libboost_context.so.1.82.0 libboost_context-1.82.0.alpha_1
|
||||
libboost_coroutine.so.1.82.0 libboost_coroutine-1.82.0.alpha_1
|
||||
libboost_container.so.1.82.0 libboost_container-1.82.0.alpha_1
|
||||
libboost_prg_exec_monitor.so.1.82.0 libboost_prg_exec_monitor-1.82.0.alpha_1
|
||||
libboost_timer.so.1.82.0 libboost_timer-1.82.0.alpha_1
|
||||
libboost_random.so.1.82.0 libboost_random-1.82.0.alpha_1
|
||||
libboost_filesystem.so.1.82.0 libboost_filesystem-1.82.0.alpha_1
|
||||
libboost_unit_test_framework.so.1.82.0 libboost_unit_test_framework-1.82.0.alpha_1
|
||||
libboost_math_c99.so.1.82.0 libboost_math_c99-1.82.0.alpha_1
|
||||
libboost_math_tr1.so.1.82.0 libboost_math_tr1-1.82.0.alpha_1
|
||||
libboost_nowide.so.1.82.0 libboost_nowide-1.82.0.alpha_1
|
||||
libboost_json.so.1.82.0 libboost_json-1.82.0.alpha_1
|
||||
libboost_regex.so.1.82.0 libboost_regex-1.82.0.alpha_1
|
||||
libboost_serialization.so.1.82.0 libboost_serialization-1.82.0.alpha_1
|
||||
libboost_chrono.so.1.82.0 libboost_chrono-1.82.0.alpha_1
|
||||
libboost_wserialization.so.1.82.0 libboost_wserialization-1.82.0.alpha_1
|
||||
libboost_graph.so.1.82.0 libboost_graph-1.82.0.alpha_1
|
||||
libboost_graph_parallel.so.1.82.0 libboost_graph_parallel-1.82.0.alpha_1
|
||||
libboost_log.so.1.82.0 libboost_log-1.82.0.alpha_1
|
||||
libboost_locale.so.1.82.0 libboost_locale-1.82.0.alpha_1
|
||||
libboost_program_options.so.1.82.0 libboost_program_options-1.82.0.alpha_1
|
||||
libboost_iostreams.so.1.82.0 libboost_iostreams-1.82.0.alpha_1
|
||||
libboost_system.so.1.82.0 libboost_system-1.82.0.alpha_1
|
||||
libboost_sync.so.1.82.0 libboost_system-1.82.0.alpha_1
|
||||
libboost_thread.so.1.82.0 libboost_thread-1.82.0.alpha_1
|
||||
libboost_log_setup.so.1.82.0 libboost_log_setup-1.82.0.alpha_1
|
||||
libboost_date_time.so.1.82.0 libboost_date_time-1.82.0.alpha_1
|
||||
libboost_wave.so.1.82.0 libboost_wave-1.82.0.alpha_1
|
||||
libboost_atomic.so.1.82.0 libboost_atomic-1.82.0.alpha_1
|
||||
libboost_type_erasure.so.1.82.0 libboost_type_erasure-1.82.0.alpha_1
|
||||
libboost_fiber.so.1.82.0 libboost_fiber-1.82.0.alpha_1
|
||||
libboost_stacktrace_noop.so.1.82.0 libboost_stacktrace_noop-1.82.0.alpha_1
|
||||
libboost_stacktrace_addr2line.so.1.82.0 libboost_stacktrace_addr2line-1.82.0.alpha_1
|
||||
libboost_stacktrace_basic.so.1.82.0 libboost_stacktrace_basic-1.82.0.alpha_1
|
||||
libboost_mpi.so.1.82.0 libboost_mpi-1.82.0.alpha_1
|
||||
libboost_mpi_python311.so.1.82.0 libboost_mpi-python3-1.82.0.alpha_1
|
||||
libboost_python311.so.1.82.0 boost-python3-1.82.0.alpha_1
|
||||
libboost_context.so.1.83.0 libboost_context-1.83.0_1
|
||||
libboost_coroutine.so.1.83.0 libboost_coroutine-1.83.0_1
|
||||
libboost_container.so.1.83.0 libboost_container-1.83.0_1
|
||||
libboost_prg_exec_monitor.so.1.83.0 libboost_prg_exec_monitor-1.83.0_1
|
||||
libboost_timer.so.1.83.0 libboost_timer-1.83.0_1
|
||||
libboost_random.so.1.83.0 libboost_random-1.83.0_1
|
||||
libboost_filesystem.so.1.83.0 libboost_filesystem-1.83.0_1
|
||||
libboost_unit_test_framework.so.1.83.0 libboost_unit_test_framework-1.83.0_1
|
||||
libboost_math_c99.so.1.83.0 libboost_math_c99-1.83.0_1
|
||||
libboost_math_tr1.so.1.83.0 libboost_math_tr1-1.83.0_1
|
||||
libboost_nowide.so.1.83.0 libboost_nowide-1.83.0_1
|
||||
libboost_json.so.1.83.0 libboost_json-1.83.0_1
|
||||
libboost_regex.so.1.83.0 libboost_regex-1.83.0_1
|
||||
libboost_serialization.so.1.83.0 libboost_serialization-1.83.0_1
|
||||
libboost_chrono.so.1.83.0 libboost_chrono-1.83.0_1
|
||||
libboost_wserialization.so.1.83.0 libboost_wserialization-1.83.0_1
|
||||
libboost_graph.so.1.83.0 libboost_graph-1.83.0_1
|
||||
libboost_graph_parallel.so.1.83.0 libboost_graph_parallel-1.83.0_1
|
||||
libboost_log.so.1.83.0 libboost_log-1.83.0_1
|
||||
libboost_locale.so.1.83.0 libboost_locale-1.83.0_1
|
||||
libboost_program_options.so.1.83.0 libboost_program_options-1.83.0_1
|
||||
libboost_iostreams.so.1.83.0 libboost_iostreams-1.83.0_1
|
||||
libboost_system.so.1.83.0 libboost_system-1.83.0_1
|
||||
libboost_sync.so.1.83.0 libboost_system-1.83.0_1
|
||||
libboost_thread.so.1.83.0 libboost_thread-1.83.0_1
|
||||
libboost_log_setup.so.1.83.0 libboost_log_setup-1.83.0_1
|
||||
libboost_date_time.so.1.83.0 libboost_date_time-1.83.0_1
|
||||
libboost_wave.so.1.83.0 libboost_wave-1.83.0_1
|
||||
libboost_atomic.so.1.83.0 libboost_atomic-1.83.0_1
|
||||
libboost_type_erasure.so.1.83.0 libboost_type_erasure-1.83.0_1
|
||||
libboost_fiber.so.1.83.0 libboost_fiber-1.83.0_1
|
||||
libboost_stacktrace_noop.so.1.83.0 libboost_stacktrace_noop-1.83.0_1
|
||||
libboost_stacktrace_addr2line.so.1.83.0 libboost_stacktrace_addr2line-1.83.0_1
|
||||
libboost_stacktrace_basic.so.1.83.0 libboost_stacktrace_basic-1.83.0_1
|
||||
libboost_mpi.so.1.83.0 libboost_mpi-1.83.0_1
|
||||
libboost_mpi_python311.so.1.83.0 libboost_mpi-python3-1.83.0_1
|
||||
libboost_python311.so.1.83.0 boost-python3-1.83.0_1
|
||||
libexempi.so.8 exempi-2.5.0_1
|
||||
libatasmart.so.4 libatasmart-0.17_1
|
||||
libsgutils2-1.45.so.2 libsgutils-1.45_1
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
glibc 2.36 doesn't have libdl.so, it has been melted into libc
|
||||
Change to libz.so
|
||||
Index: boost-1.81.0/libs/dll/test/shared_library_load_test.cpp
|
||||
===================================================================
|
||||
--- boost-1.81.0.orig/libs/dll/test/shared_library_load_test.cpp
|
||||
+++ boost-1.81.0/libs/dll/test/shared_library_load_test.cpp
|
||||
@@ -231,7 +231,7 @@ int main(int argc, char* argv[])
|
||||
boost::dll::shared_library("winmm.dll");
|
||||
BOOST_TEST(false);
|
||||
#elif BOOST_OS_LINUX
|
||||
- boost::dll::shared_library("libdl.so");
|
||||
+ boost::dll::shared_library("libz.so");
|
||||
BOOST_TEST(false);
|
||||
#endif
|
||||
} catch (...) {}
|
||||
@@ -242,7 +242,7 @@ int main(int argc, char* argv[])
|
||||
#if BOOST_OS_WINDOWS
|
||||
boost::dll::shared_library("winmm", load_mode::search_system_folders | load_mode::append_decorations);
|
||||
#elif BOOST_OS_LINUX
|
||||
- boost::dll::shared_library("dl", boost::dll::load_mode::search_system_folders | load_mode::append_decorations);
|
||||
+ boost::dll::shared_library("z", boost::dll::load_mode::search_system_folders | load_mode::append_decorations);
|
||||
#endif
|
||||
} catch (...) {
|
||||
BOOST_TEST(false);
|
|
@ -1,306 +0,0 @@
|
|||
From 396eef1398a87463a234e7d313d637ea67df96b5 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Semashev <andrey.semashev@gmail.com>
|
||||
Date: Sun, 7 May 2023 20:58:27 +0300
|
||||
Subject: [PATCH] Restrict generic path comparison operators to avoid
|
||||
ambiguities with std lib.
|
||||
|
||||
Path comparison operators that accept arbitrary path source types now require
|
||||
the other argument to be exactly path. This prevents the compiler from picking
|
||||
those operators when the other argument is convertible to path. This can happen
|
||||
even when neither of the arguments are actually paths, e.g. when the
|
||||
comparison operators are brought into the current scope by a using directive.
|
||||
|
||||
Fixes https://github.com/boostorg/filesystem/issues/285.
|
||||
---
|
||||
diff --git a/boost/filesystem/path.hpp b/boost/filesystem/path.hpp
|
||||
index 61278ef74..729e18812 100644
|
||||
--- a/boost/filesystem/path.hpp
|
||||
+++ b/boost/filesystem/path.hpp
|
||||
@@ -1287,20 +1287,26 @@ BOOST_FORCEINLINE bool operator==(path const& lhs, path const& rhs)
|
||||
return lhs.compare(rhs) == 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Path, typename Source >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator==(path const& lhs, Source const& rhs)
|
||||
+>::type operator==(Path const& lhs, Source const& rhs)
|
||||
{
|
||||
return lhs.compare(rhs) == 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Source, typename Path >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator==(Source const& lhs, path const& rhs)
|
||||
+>::type operator==(Source const& lhs, Path const& rhs)
|
||||
{
|
||||
return rhs.compare(lhs) == 0;
|
||||
}
|
||||
@@ -1310,20 +1316,26 @@ BOOST_FORCEINLINE bool operator!=(path const& lhs, path const& rhs)
|
||||
return lhs.compare(rhs) != 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Path, typename Source >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator!=(path const& lhs, Source const& rhs)
|
||||
+>::type operator!=(Path const& lhs, Source const& rhs)
|
||||
{
|
||||
return lhs.compare(rhs) != 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Source, typename Path >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator!=(Source const& lhs, path const& rhs)
|
||||
+>::type operator!=(Source const& lhs, Path const& rhs)
|
||||
{
|
||||
return rhs.compare(lhs) != 0;
|
||||
}
|
||||
@@ -1333,20 +1345,26 @@ BOOST_FORCEINLINE bool operator<(path const& lhs, path const& rhs)
|
||||
return lhs.compare(rhs) < 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Path, typename Source >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator<(path const& lhs, Source const& rhs)
|
||||
+>::type operator<(Path const& lhs, Source const& rhs)
|
||||
{
|
||||
return lhs.compare(rhs) < 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Source, typename Path >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator<(Source const& lhs, path const& rhs)
|
||||
+>::type operator<(Source const& lhs, Path const& rhs)
|
||||
{
|
||||
return rhs.compare(lhs) > 0;
|
||||
}
|
||||
@@ -1356,20 +1374,26 @@ BOOST_FORCEINLINE bool operator<=(path const& lhs, path const& rhs)
|
||||
return lhs.compare(rhs) <= 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Path, typename Source >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator<=(path const& lhs, Source const& rhs)
|
||||
+>::type operator<=(Path const& lhs, Source const& rhs)
|
||||
{
|
||||
return lhs.compare(rhs) <= 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Source, typename Path >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator<=(Source const& lhs, path const& rhs)
|
||||
+>::type operator<=(Source const& lhs, Path const& rhs)
|
||||
{
|
||||
return rhs.compare(lhs) >= 0;
|
||||
}
|
||||
@@ -1379,20 +1403,26 @@ BOOST_FORCEINLINE bool operator>(path const& lhs, path const& rhs)
|
||||
return lhs.compare(rhs) > 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Path, typename Source >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator>(path const& lhs, Source const& rhs)
|
||||
+>::type operator>(Path const& lhs, Source const& rhs)
|
||||
{
|
||||
return lhs.compare(rhs) > 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Source, typename Path >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator>(Source const& lhs, path const& rhs)
|
||||
+>::type operator>(Source const& lhs, Path const& rhs)
|
||||
{
|
||||
return rhs.compare(lhs) < 0;
|
||||
}
|
||||
@@ -1402,35 +1432,41 @@ BOOST_FORCEINLINE bool operator>=(path const& lhs, path const& rhs)
|
||||
return lhs.compare(rhs) >= 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Path, typename Source >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator>=(path const& lhs, Source const& rhs)
|
||||
+>::type operator>=(Path const& lhs, Source const& rhs)
|
||||
{
|
||||
return lhs.compare(rhs) >= 0;
|
||||
}
|
||||
|
||||
-template< typename Source >
|
||||
+template< typename Source, typename Path >
|
||||
BOOST_FORCEINLINE typename boost::enable_if_c<
|
||||
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
|
||||
+ boost::conjunction<
|
||||
+ boost::is_same< Path, path >,
|
||||
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
|
||||
+ >::value,
|
||||
bool
|
||||
->::type operator>=(Source const& lhs, path const& rhs)
|
||||
+>::type operator>=(Source const& lhs, Path const& rhs)
|
||||
{
|
||||
return rhs.compare(lhs) <= 0;
|
||||
}
|
||||
|
||||
|
||||
// Note: Declared as a template to delay binding to Boost.ContainerHash functions and make the dependency optional
|
||||
-template< typename T >
|
||||
+template< typename Path >
|
||||
inline typename boost::enable_if_c<
|
||||
- boost::is_same< T, path >::value,
|
||||
+ boost::is_same< Path, path >::value,
|
||||
std::size_t
|
||||
->::type hash_value(T const& p) BOOST_NOEXCEPT
|
||||
+>::type hash_value(Path const& p) BOOST_NOEXCEPT
|
||||
{
|
||||
#ifdef BOOST_WINDOWS_API
|
||||
std::size_t seed = 0u;
|
||||
- for (typename T::value_type const* it = p.c_str(); *it; ++it)
|
||||
+ for (typename Path::value_type const* it = p.c_str(); *it; ++it)
|
||||
hash_combine(seed, *it == L'/' ? L'\\' : *it);
|
||||
return seed;
|
||||
#else // BOOST_POSIX_API
|
||||
diff --git a/libs/filesystem/test/Jamfile.v2 b/libs/filesystem/test/Jamfile.v2
|
||||
index d1ffc2a6f..5d70b08ec 100644
|
||||
--- a/libs/filesystem/test/Jamfile.v2
|
||||
+++ b/libs/filesystem/test/Jamfile.v2
|
||||
@@ -85,6 +85,7 @@ run operations_test.cpp : : : <link>static <define>BOOST_FILESYSTEM_VERSION=4 :
|
||||
run operations_unit_test.cpp : $(HERE) : : <link>shared <define>BOOST_FILESYSTEM_VERSION=4 <test-info>always_show_run_output ;
|
||||
run copy_test.cpp : : : <define>BOOST_FILESYSTEM_VERSION=4 ;
|
||||
compile-fail cf_path_nullptr_test.cpp ;
|
||||
+compile path_operator_ambiguity.cpp : <toolset>gcc:<warnings-as-errors>on ;
|
||||
run path_test.cpp : : : <link>shared <define>BOOST_FILESYSTEM_VERSION=4 ;
|
||||
run path_test.cpp : : : <link>static <define>BOOST_FILESYSTEM_VERSION=4 : path_test_static ;
|
||||
run path_test.cpp : : : <link>shared <define>BOOST_FILESYSTEM_VERSION=3 : path_test_v3 ;
|
||||
diff --git a/libs/filesystem/test/path_operator_ambiguity.cpp b/libs/filesystem/test/path_operator_ambiguity.cpp
|
||||
new file mode 100644
|
||||
index 000000000..5a43a63b6
|
||||
--- /dev/null
|
||||
+++ b/libs/filesystem/test/path_operator_ambiguity.cpp
|
||||
@@ -0,0 +1,53 @@
|
||||
+// Copyright Andrey Semashev 2023
|
||||
+//
|
||||
+// Use, modification, and distribution is subject to the Boost Software
|
||||
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
+// http://www.boost.org/LICENSE_1_0.txt)
|
||||
+//
|
||||
+// See library home page at http://www.boost.org/libs/filesystem
|
||||
+//
|
||||
+// This test verifies that a using directive does not introduce operator
|
||||
+// ambiguity with the standard library.
|
||||
+// https://github.com/boostorg/filesystem/issues/285
|
||||
+
|
||||
+#include <string>
|
||||
+#include <boost/filesystem.hpp>
|
||||
+
|
||||
+using namespace boost::filesystem;
|
||||
+
|
||||
+bool test_eq(char* arg)
|
||||
+{
|
||||
+ return std::string("abc") == arg;
|
||||
+}
|
||||
+
|
||||
+bool test_ne(char* arg)
|
||||
+{
|
||||
+ return std::string("def") != arg;
|
||||
+}
|
||||
+
|
||||
+bool test_lt(char* arg)
|
||||
+{
|
||||
+ return std::string("ghi") < arg;
|
||||
+}
|
||||
+
|
||||
+bool test_gt(char* arg)
|
||||
+{
|
||||
+ return std::string("jkl") > arg;
|
||||
+}
|
||||
+
|
||||
+bool test_le(char* arg)
|
||||
+{
|
||||
+ return std::string("mno") <= arg;
|
||||
+}
|
||||
+
|
||||
+bool test_ge(char* arg)
|
||||
+{
|
||||
+ return std::string("pqr") >= arg;
|
||||
+}
|
||||
+
|
||||
+int main(int, char* argv[])
|
||||
+{
|
||||
+ return test_eq(argv[0]) + test_ne(argv[0]) +
|
||||
+ test_lt(argv[0]) + test_gt(argv[0]) +
|
||||
+ test_le(argv[0]) + test_ge(argv[0]);
|
||||
+}
|
28
srcpkgs/boost/patches/float-double.patch
Normal file
28
srcpkgs/boost/patches/float-double.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
--- a/libs/multiprecision/test/test_arithmetic.hpp
|
||||
+++ b/libs/multiprecision/test/test_arithmetic.hpp
|
||||
@@ -2592,10 +2592,12 @@ typename std::enable_if<boost::multiprec
|
||||
BOOST_CHECK_EQUAL(real(a), 6);
|
||||
BOOST_CHECK_EQUAL(imag(a), 0);
|
||||
|
||||
+#if 0
|
||||
r = abs(c);
|
||||
BOOST_CHECK_CLOSE_FRACTION(real_type("3.60555127546398929311922126747049594625129657384524621271045305622716694829301044520461908201849071767351418202406"), r, tol);
|
||||
r = arg(c);
|
||||
BOOST_CHECK_CLOSE_FRACTION(real_type("0.98279372324732906798571061101466601449687745363162855676142508831798807154979603538970653437281731110816513970201"), r, tol);
|
||||
+#endif
|
||||
r = norm(c);
|
||||
BOOST_CHECK_CLOSE_FRACTION(real_type(13), r, tol);
|
||||
a = conj(c);
|
||||
@@ -2630,10 +2632,12 @@ typename std::enable_if<boost::multiprec
|
||||
BOOST_CHECK_EQUAL(3, real(a));
|
||||
BOOST_CHECK_EQUAL(0, imag(a));
|
||||
|
||||
+#if 0
|
||||
r = abs(c + 0);
|
||||
BOOST_CHECK_CLOSE_FRACTION(real_type("3.60555127546398929311922126747049594625129657384524621271045305622716694829301044520461908201849071767351418202406"), r, tol);
|
||||
r = arg(c + 0);
|
||||
BOOST_CHECK_CLOSE_FRACTION(real_type("0.98279372324732906798571061101466601449687745363162855676142508831798807154979603538970653437281731110816513970201"), r, tol);
|
||||
+#endif
|
||||
r = norm(c + 0);
|
||||
BOOST_CHECK_CLOSE_FRACTION(real_type(13), r, tol);
|
||||
a = conj(c + 0);
|
|
@ -1,28 +0,0 @@
|
|||
Index: boost-1.81.0/libs/json/Jamfile
|
||||
===================================================================
|
||||
--- boost-1.81.0.orig/libs/json/Jamfile
|
||||
+++ boost-1.81.0/libs/json/Jamfile
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
import feature ;
|
||||
|
||||
-build-project bench ;
|
||||
build-project test ;
|
||||
build-project fuzzing ;
|
||||
build-project example ;
|
||||
Index: boost-1.81.0/libs/json/test/Jamfile
|
||||
===================================================================
|
||||
--- boost-1.81.0.orig/libs/json/test/Jamfile
|
||||
+++ boost-1.81.0/libs/json/test/Jamfile
|
||||
@@ -60,7 +60,10 @@ project : requirements <include>. ;
|
||||
|
||||
for local f in $(SOURCES)
|
||||
{
|
||||
- run $(f) main.cpp /boost/json//boost_json ;
|
||||
+ run $(f) main.cpp /boost/json//boost_json
|
||||
+ : requirements
|
||||
+ <cxxflags>-fno-var-tracking-assignments
|
||||
+ ;
|
||||
}
|
||||
|
||||
run limits.cpp main.cpp /boost/json//json_sources
|
20
srcpkgs/boost/patches/missing-include.patch
Normal file
20
srcpkgs/boost/patches/missing-include.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
--- a/libs/random/test/multiprecision_float_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_float_test.cpp
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <boost/core/ignore_unused.hpp>
|
||||
+#include <boost/mpl/list.hpp>
|
||||
#include <boost/multiprecision/cpp_bin_float.hpp>
|
||||
#include <boost/multiprecision/cpp_int.hpp>
|
||||
#include <boost/multiprecision/debug_adaptor.hpp>
|
||||
--- a/libs/random/test/multiprecision_int_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_int_test.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <boost/core/ignore_unused.hpp>
|
||||
+#include <boost/mpl/list.hpp>
|
||||
#include <boost/multiprecision/debug_adaptor.hpp>
|
||||
#include <boost/multiprecision/cpp_bin_float.hpp>
|
||||
#include <boost/multiprecision/cpp_int.hpp>
|
51
srcpkgs/boost/patches/mpi-disable-heavy-test.patch
Normal file
51
srcpkgs/boost/patches/mpi-disable-heavy-test.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
--- a/libs/mpi/test/Jamfile.v2
|
||||
+++ b/libs/mpi/test/Jamfile.v2
|
||||
@@ -21,36 +21,32 @@ test-suite mpi
|
||||
[ mpi-test block_nonblock_test-nb2b : block_nonblock_test.cpp : : 2 ]
|
||||
[ mpi-test random_gather : ../example/random_gather.cpp : : 2 ]
|
||||
[ mpi-test random_scatter : ../example/random_scatter.cpp : : 2 ]
|
||||
- [ mpi-test cartesian_communicator : ../example/cartesian_communicator.cpp : : 24 ]
|
||||
[ mpi-test cartesian_topology_init_test : : : 1 ]
|
||||
[ mpi-test broadcast_stl_test : : : 2 ]
|
||||
- [ mpi-test all_gather_test : : : 1 2 11 ]
|
||||
- [ mpi-test all_reduce_test : : : 1 2 11 ]
|
||||
- [ mpi-test all_to_all_test : : : 1 2 11 ]
|
||||
- [ mpi-test broadcast_test : : : 2 17 ]
|
||||
- [ mpi-test gather_test : : : 1 2 11 ]
|
||||
+ [ mpi-test all_gather_test : : : 1 2 ]
|
||||
+ [ mpi-test all_reduce_test : : : 1 2 ]
|
||||
+ [ mpi-test all_to_all_test : : : 1 2 ]
|
||||
+ [ mpi-test broadcast_test : : : 2 ]
|
||||
+ [ mpi-test gather_test : : : 1 2 ]
|
||||
[ mpi-test is_mpi_op_test : : : 1 ]
|
||||
[ mpi-test mt_level_test : : : 1 ]
|
||||
[ mpi-test mt_init_test : : : 1 4 ]
|
||||
# Note: Microsoft MPI fails nonblocking_test on 1 processor
|
||||
- [ mpi-test nonblocking_test : : : 2 11 24 ]
|
||||
- [ mpi-test reduce_test ]
|
||||
- [ mpi-test ring_test : : : 2 3 4 7 8 13 17 ]
|
||||
- [ mpi-test sendrecv_test : : : 1 4 7 48 ]
|
||||
- [ mpi-test wait_any_test : : : 1 4 7 20 ]
|
||||
+ [ mpi-test nonblocking_test : : : 2 ]
|
||||
+ [ mpi-test ring_test : : : 2 3 4 ]
|
||||
+ [ mpi-test sendrecv_test : : : 1 4 ]
|
||||
+ [ mpi-test wait_any_test : : : 1 4 ]
|
||||
[ mpi-test wait_all_vector_test : : : 2 ]
|
||||
[ mpi-test wait_all_on_null : : : 1 2 ]
|
||||
- [ mpi-test scan_test ]
|
||||
[ mpi-test scatter_test ]
|
||||
# Note: Microsoft MPI fails all skeleton-content tests
|
||||
- [ mpi-test skeleton_content_test : : : 2 3 4 7 8 13 17 ]
|
||||
- [ mpi-test graph_topology_test : : : 2 7 13 ]
|
||||
- [ mpi-test cartesian_topology_test : : : 24 ]
|
||||
+ [ mpi-test skeleton_content_test : : : 2 3 4 ]
|
||||
+ [ mpi-test graph_topology_test : : : 2 ]
|
||||
[ mpi-test pointer_test : : : 2 ]
|
||||
[ mpi-test groups_test ]
|
||||
# tests that require -std=c++11
|
||||
[ mpi-test sendrecv_vector : : : 2 ]
|
||||
# Intel MPI 2018 and older are axtected to fail:
|
||||
- [ mpi-test non_blocking_any_source : : : 2 17 ]
|
||||
+ [ mpi-test non_blocking_any_source : : : 2 ]
|
||||
;
|
||||
}
|
11
srcpkgs/boost/patches/phoenix-broken-O2.patch
Normal file
11
srcpkgs/boost/patches/phoenix-broken-O2.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/libs/phoenix/test/Jamfile
|
||||
+++ b/libs/phoenix/test/Jamfile
|
||||
@@ -146,7 +146,7 @@ test-suite phoenix_scope :
|
||||
[ run scope/lambda_tests19.cpp ]
|
||||
[ run scope/lambda_tests20.cpp ]
|
||||
[ run scope/lambda_tests21.cpp ]
|
||||
- [ run scope/lambda_tests22.cpp ]
|
||||
+# [ run scope/lambda_tests22.cpp ]
|
||||
[ run scope/lambda_tests23.cpp ]
|
||||
[ run scope/let_tests.cpp ]
|
||||
[ run scope/let_tests_113.cpp ]
|
48
srcpkgs/boost/patches/python-3.11.patch
Normal file
48
srcpkgs/boost/patches/python-3.11.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
--- a/boost/parameter/python.hpp
|
||||
+++ b/boost/parameter/python.hpp
|
||||
@@ -66,7 +66,11 @@ namespace boost { namespace parameter {
|
||||
|
||||
if (Py_TYPE(&unspecified) == 0)
|
||||
{
|
||||
+#if PY_VERSION_HEX >= 0x03090000
|
||||
+ Py_SET_TYPE(&unspecified, &PyType_Type);
|
||||
+#else
|
||||
Py_TYPE(&unspecified) = &PyType_Type;
|
||||
+#endif
|
||||
PyType_Ready(&unspecified);
|
||||
}
|
||||
|
||||
--- a/libs/python/test/upcast.cpp
|
||||
+++ b/libs/python/test/upcast.cpp
|
||||
@@ -13,7 +13,7 @@ int main()
|
||||
{
|
||||
PyTypeObject o;
|
||||
Y y;
|
||||
- BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&o)) == &Py_REFCNT(&o));
|
||||
- BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&y)) == &Py_REFCNT(&y));
|
||||
+ BOOST_TEST(Py_REFCNT(boost::python::upcast<PyObject>(&o)) == Py_REFCNT(&o));
|
||||
+ BOOST_TEST(Py_REFCNT(boost::python::upcast<PyObject>(&y)) == Py_REFCNT(&y));
|
||||
return boost::report_errors();
|
||||
}
|
||||
--- a/libs/python/test/pickle1.py
|
||||
+++ b/libs/python/test/pickle1.py
|
||||
@@ -10,7 +10,7 @@ r'''>>> import pickle1_ext
|
||||
>>> pickle1_ext.world.__name__
|
||||
'world'
|
||||
>>> pickle1_ext.world('Hello').__reduce__()
|
||||
- (<class 'pickle1_ext.world'>, ('Hello',))
|
||||
+ (<class 'pickle1_ext.world'>, ('Hello',), None)
|
||||
>>> wd = pickle1_ext.world('California')
|
||||
>>> pstr = pickle.dumps(wd)
|
||||
>>> wl = pickle.loads(pstr)
|
||||
--- a/libs/python/test/pickle4.py
|
||||
+++ b/libs/python/test/pickle4.py
|
||||
@@ -13,7 +13,7 @@ r'''>>> import pickle4_ext
|
||||
>>> pickle4_ext.world.__name__
|
||||
'world'
|
||||
>>> pickle4_ext.world('Hello').__reduce__()
|
||||
- (<class 'pickle4_ext.world'>, ('Hello',))
|
||||
+ (<class 'pickle4_ext.world'>, ('Hello',), None)
|
||||
>>> wd = pickle4_ext.world('California')
|
||||
>>> pstr = pickle.dumps(wd)
|
||||
>>> wl = pickle.loads(pstr)
|
0
srcpkgs/boost/patches/regex.patch
Normal file
0
srcpkgs/boost/patches/regex.patch
Normal file
60
srcpkgs/boost/patches/timer-deprecated.patch
Normal file
60
srcpkgs/boost/patches/timer-deprecated.patch
Normal file
|
@ -0,0 +1,60 @@
|
|||
--- a/libs/crc/test/crc_test.cpp
|
||||
+++ b/libs/crc/test/crc_test.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <boost/integer.hpp> // for boost::uint_t
|
||||
#include <boost/random/linear_congruential.hpp> // for boost::minstd_rand
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
+#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
#include <boost/timer.hpp> // for boost::timer
|
||||
|
||||
#include <algorithm> // for std::for_each, std::generate_n, std::count
|
||||
--- a/libs/function_types/example/fast_mem_fn_example.cpp
|
||||
+++ b/libs/function_types/example/fast_mem_fn_example.cpp
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
|
||||
+#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
#include <boost/timer.hpp>
|
||||
#include <boost/mem_fn.hpp>
|
||||
|
||||
--- a/libs/graph/example/fr_layout.cpp
|
||||
+++ b/libs/graph/example/fr_layout.cpp
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
+#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
#include <boost/random/linear_congruential.hpp>
|
||||
#include <boost/progress.hpp>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
--- a/libs/program_options/test/test_convert.cpp
|
||||
+++ b/libs/program_options/test/test_convert.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
+#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
#include <boost/progress.hpp>
|
||||
#include <boost/bind.hpp>
|
||||
#include <boost/ref.hpp>
|
||||
--- a/libs/regex/example/timer/regex_timer.cpp
|
||||
+++ b/libs/regex/example/timer/regex_timer.cpp
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/cregex.hpp>
|
||||
+#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
#include <boost/timer.hpp>
|
||||
#include <boost/smart_ptr.hpp>
|
||||
|
||||
--- a/libs/regex/test/static_mutex/static_mutex_test.cpp
|
||||
+++ b/libs/regex/test/static_mutex/static_mutex_test.cpp
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#include <boost/regex/pending/static_mutex.hpp>
|
||||
#include <boost/thread/thread.hpp>
|
||||
+#define BOOST_TIMER_ENABLE_DEPRECATED
|
||||
#include <boost/timer.hpp>
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
11
srcpkgs/boost/patches/wave.patch
Normal file
11
srcpkgs/boost/patches/wave.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/libs/wave/test/testwave/testfiles/test.cfg
|
||||
+++ b/libs/wave/test/testwave/testfiles/test.cfg
|
||||
@@ -168,7 +168,7 @@ t_6_014.cpp
|
||||
t_6_015.cpp
|
||||
t_6_016.cpp
|
||||
t_6_017.cpp
|
||||
-t_6_018.cpp
|
||||
+# t_6_018.cpp
|
||||
t_6_019.cpp
|
||||
t_6_020.cpp
|
||||
t_6_021.cpp
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'boost'
|
||||
pkgname=boost
|
||||
version=1.82.0
|
||||
revision=2
|
||||
version=1.83.0
|
||||
revision=1
|
||||
build_style=meta
|
||||
hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config openmpi"
|
||||
makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel
|
||||
|
@ -12,7 +12,7 @@ maintainer="John <me@johnnynator.dev>"
|
|||
license="BSL-1.0"
|
||||
homepage="https://www.boost.org/"
|
||||
distfiles="https://boostorg.jfrog.io/artifactory/main/release/${version%.rc*}/source/boost_${version//./_}.tar.bz2"
|
||||
checksum=a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6
|
||||
checksum=6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e
|
||||
python_version=3
|
||||
|
||||
# please do NOT delete below lines,
|
||||
|
@ -120,6 +120,8 @@ do_check() {
|
|||
local _fail=""
|
||||
# https://github.com/boostorg/contract/issues/30
|
||||
_fail+=" contract"
|
||||
# Too heavy
|
||||
_fail+=" mpi"
|
||||
# requires clang
|
||||
rm -f libs/hana/test/experimental/type_name.cpp
|
||||
# https://github.com/open-mpi/ompi/issues/7330
|
||||
|
@ -132,7 +134,7 @@ do_check() {
|
|||
|
||||
# required by boost::math
|
||||
mkdir -p .temps
|
||||
for _testcase in libs/gil/test/ libs/*/test/; do
|
||||
for _testcase in libs/wave/test/ libs/*/test/; do
|
||||
_testcase=${_testcase%/test/}
|
||||
_component=${_testcase#libs/}
|
||||
case " $_fail " in
|
||||
|
@ -141,7 +143,7 @@ do_check() {
|
|||
esac
|
||||
_component="boost::$_component"
|
||||
msg_normal "Testing: $_component\n"
|
||||
./b2 $_testcase \
|
||||
./b2 $_testcase/test \
|
||||
--user-config=${wrksrc}/user-config.jam \
|
||||
--toolset=gcc abi=${_abi} architecture=${_arch} \
|
||||
python=${py3_ver} release warnings-as-errors=off \
|
||||
|
|
Loading…
Add table
Reference in a new issue