git: e8fba4b05398 - main - devel/boost*: update to 1.85.0 release (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Thu, 03 Oct 2024 10:27:19 UTC
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e8fba4b053986074dff7a167fdc4ff83d480a3b6

commit e8fba4b053986074dff7a167fdc4ff83d480a3b6
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2024-10-02 22:16:13 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2024-10-03 10:24:50 +0000

    devel/boost*: update to 1.85.0 release (+)
    
    With hat:       office
    Changelog:      https://www.boost.org/users/history/version_1_85_0.html
    
    Sponsored by:   Future Crew, LLC
---
 devel/boost-all/common.mk                          |   2 +-
 devel/boost-all/distinfo                           |   6 +-
 .../files/patch-boost-1.85.0-bcp-filesystem        | 188 ++++++++++
 .../files/patch-boost-1.85.0-container-aliasing    | 408 +++++++++++++++++++++
 .../files/patch-boost-1.85.0-python-numpy-2        |  26 ++
 ...atch-boost_math_cstdfloat_cstdfloat__limits.hpp |  11 -
 ...atch-boost_signals2_detail_signal__template.hpp | 126 -------
 ...bs_context_src_asm_jump__i386__sysv__elf__gas.S |  19 -
 ...bs_context_src_asm_make__i386__sysv__elf__gas.S |  19 -
 devel/boost-libs/pkg-plist                         | 301 ++++++++++-----
 devel/boost_build/Makefile                         |   4 +-
 devel/boost_build/distinfo                         |   6 +-
 devel/boost_build/pkg-plist                        |   7 -
 13 files changed, 834 insertions(+), 289 deletions(-)

diff --git a/devel/boost-all/common.mk b/devel/boost-all/common.mk
index 1b73846d5816..6aa5feb3c671 100644
--- a/devel/boost-all/common.mk
+++ b/devel/boost-all/common.mk
@@ -15,7 +15,7 @@ MASTER_SITES=	https://boostorg.jfrog.io/artifactory/main/release/${PORTVERSION}/
 USES+=		tar:bzip2
 
 BOOST_MAJOR_VER=1
-BOOST_MINOR_VER=84
+BOOST_MINOR_VER=85
 BOOST_PATCH_VER=0
 BOOST_RC_VER=
 BOOST_SHARED_LIB_VER=${BOOST_MAJOR_VER}.${BOOST_MINOR_VER}.${BOOST_PATCH_VER}
diff --git a/devel/boost-all/distinfo b/devel/boost-all/distinfo
index 4a0c5b6b1706..975009873ea8 100644
--- a/devel/boost-all/distinfo
+++ b/devel/boost-all/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1702987429
-SHA256 (boost_1_84_0.tar.bz2) = cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454
-SIZE (boost_1_84_0.tar.bz2) = 123110547
+TIMESTAMP = 1717930966
+SHA256 (boost_1_85_0.tar.bz2) = 7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617
+SIZE (boost_1_85_0.tar.bz2) = 124015250
diff --git a/devel/boost-libs/files/patch-boost-1.85.0-bcp-filesystem b/devel/boost-libs/files/patch-boost-1.85.0-bcp-filesystem
new file mode 100644
index 000000000000..0d6e5d566c49
--- /dev/null
+++ b/devel/boost-libs/files/patch-boost-1.85.0-bcp-filesystem
@@ -0,0 +1,188 @@
+https://bugs.gentoo.org/932240
+https://github.com/boostorg/bcp/commit/cd21e9b4a749a77c24facf2da44f01e032c40842
+
+From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001
+From: Andrey Semashev <andrey.semashev@gmail.com>
+Date: Sun, 24 Mar 2024 14:49:18 +0300
+Subject: [PATCH] Remove usage of deprecated and removed Boost.Filesystem APIs.
+
+---
+ add_dependent_lib.cpp |  5 +++--
+ add_path.cpp          | 30 +++++++++++++++---------------
+ bcp_imp.hpp           |  1 +
+ copy_path.cpp         |  8 ++++----
+ file_types.cpp        |  2 +-
+ 5 files changed, 24 insertions(+), 22 deletions(-)
+
+diff --git tools/bcp/add_dependent_lib.cpp tools/bcp/add_dependent_lib.cpp
+index 4852914..521b70d 100644
+--- tools/bcp/add_dependent_lib.cpp
++++ tools/bcp/add_dependent_lib.cpp
+@@ -15,6 +15,7 @@
+ #include "bcp_imp.hpp"
+ #include "fileview.hpp"
+ #include <boost/regex.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/filesystem/exception.hpp>
+ #include <iostream>
+@@ -43,12 +44,12 @@ static void init_library_scanner(const fs::path& p, bool cvs_mode, const std::st
+    //
+    // Don't add files created by build system:
+    //
+-   if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
++   if((p.filename() == "bin") || (p.filename() == "bin-stage"))
+       return; 
+    //
+    // Don't add version control directories:
+    //
+-   if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
++   if((p.filename() == "CVS") || (p.filename() == ".svn"))
+       return; 
+    //
+    // don't add directories not under version control:
+diff --git tools/bcp/add_path.cpp tools/bcp/add_path.cpp
+index 8a1fee3..747bb8c 100644
+--- tools/bcp/add_path.cpp
++++ tools/bcp/add_path.cpp
+@@ -15,6 +15,7 @@
+ #include "bcp_imp.hpp"
+ #include "fileview.hpp"
+ #include <boost/regex.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/filesystem/exception.hpp>
+ #include <iostream>
+@@ -24,8 +25,7 @@ void bcp_implementation::add_path(const fs::path& p)
+ {
+    if (m_excluded.find(p) != m_excluded.end())
+       return;
+-   fs::path normalized_path = p;
+-    normalized_path.normalize();
++   fs::path normalized_path = p.lexically_normal();
+    if(fs::exists(m_boost_path / normalized_path))
+    {
+       if(fs::is_directory(m_boost_path / normalized_path))
+@@ -45,12 +45,12 @@ void bcp_implementation::add_directory(const fs::path& p)
+    //
+    // Don't add files created by build system:
+    //
+-   if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
++   if((p.filename() == "bin") || (p.filename() == "bin-stage"))
+       return; 
+    //
+    // Don't add version control directories:
+    //
+-   if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
++   if((p.filename() == "CVS") || (p.filename() == ".svn"))
+       return; 
+    //
+    // don't add directories not under version control:
+@@ -180,7 +180,7 @@ void bcp_implementation::add_file(const fs::path& p)
+          {
+             // only concatonate if it's a relative path
+             // rather than a URL:
+-            fs::path dep(p.branch_path() / s);
++            fs::path dep(p.parent_path() / s);
+             if(!m_dependencies.count(dep)) 
+             {
+                m_dependencies[dep] = p; // set up dependency tree
+@@ -355,13 +355,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
+             continue;
+          }
+          include_file = i->str();
+-         fs::path test_file(m_boost_path / p.branch_path() / include_file);
+-         if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
++         fs::path test_file(m_boost_path / p.parent_path() / include_file);
++         if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
+          {
+-            if(!m_dependencies.count(p.branch_path() / include_file)) 
++            if(!m_dependencies.count(p.parent_path() / include_file)) 
+             {
+-               m_dependencies[p.branch_path() / include_file] = p;
+-               add_pending_path(p.branch_path() / include_file);
++               m_dependencies[p.parent_path() / include_file] = p;
++               add_pending_path(p.parent_path() / include_file);
+             }
+          }
+          else if(fs::exists(m_boost_path / include_file))
+@@ -405,13 +405,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
+          ++i;
+          continue;
+       }
+-      fs::path test_file(m_boost_path / p.branch_path() / include_file);
+-      if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
++      fs::path test_file(m_boost_path / p.parent_path() / include_file);
++      if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
+       {
+-         if(!m_dependencies.count(p.branch_path() / include_file)) 
++         if(!m_dependencies.count(p.parent_path() / include_file)) 
+          {
+-            m_dependencies[p.branch_path() / include_file] = p;
+-            add_pending_path(p.branch_path() / include_file);
++            m_dependencies[p.parent_path() / include_file] = p;
++            add_pending_path(p.parent_path() / include_file);
+          }
+       }
+       else if(fs::exists(m_boost_path / include_file))
+diff --git tools/bcp/bcp_imp.hpp tools/bcp/bcp_imp.hpp
+index e515581..51c85ba 100644
+--- tools/bcp/bcp_imp.hpp
++++ tools/bcp/bcp_imp.hpp
+@@ -14,6 +14,7 @@
+ #include <set>
+ #include <map>
+ #include <queue>
++#include <string>
+ #include <boost/filesystem/path.hpp>
+ 
+ namespace fs = boost::filesystem;
+diff --git tools/bcp/copy_path.cpp tools/bcp/copy_path.cpp
+index 4143c79..6b7a370 100644
+--- tools/bcp/copy_path.cpp
++++ tools/bcp/copy_path.cpp
+@@ -49,18 +49,18 @@ void bcp_implementation::copy_path(const fs::path& p)
+    if(fs::exists(m_dest_path / p))
+    {
+       std::cout << "Copying (and overwriting) file: " << p.string() << "\n";
+-     fs::remove(m_dest_path / p);
++      fs::remove(m_dest_path / p);
+    }
+    else
+       std::cout << "Copying file: " << p.string() << "\n";
+    //
+    // create the path to the new file if it doesn't already exist:
+    //
+-   create_path(p.branch_path());
++   create_path(p.parent_path());
+    //
+    // do text based copy if requested:
+    //
+-   if((p.leaf() == "Jamroot") && m_namespace_name.size())
++   if((p.filename() == "Jamroot") && m_namespace_name.size())
+    {
+       static std::vector<char> v1, v2;
+       v1.clear();
+@@ -240,7 +240,7 @@ void bcp_implementation::create_path(const fs::path& p)
+    if(!fs::exists(m_dest_path / p))
+    {
+       // recurse then create the path:
+-      create_path(p.branch_path());
++      create_path(p.parent_path());
+       fs::create_directory(m_dest_path / p);
+    }
+ }
+diff --git tools/bcp/file_types.cpp tools/bcp/file_types.cpp
+index 297d304..69f6027 100644
+--- tools/bcp/file_types.cpp
++++ tools/bcp/file_types.cpp
+@@ -52,7 +52,7 @@ bool bcp_implementation::is_binary_file(const fs::path& p)
+       "|"
+       "(Jamfile|makefile|configure)",
+       boost::regex::perl | boost::regex::icase);
+-   return !boost::regex_match(p.leaf().generic_string(), e);
++   return !boost::regex_match(p.filename().generic_string(), e);
+ 
+ }
+ 
+
diff --git a/devel/boost-libs/files/patch-boost-1.85.0-container-aliasing b/devel/boost-libs/files/patch-boost-1.85.0-container-aliasing
new file mode 100644
index 000000000000..ce50698aeb06
--- /dev/null
+++ b/devel/boost-libs/files/patch-boost-1.85.0-container-aliasing
@@ -0,0 +1,408 @@
+https://bugs.gentoo.org/933289 (and https://bugs.gentoo.org/932780, https://bugs.gentoo.org/931587)
+https://github.com/freeorion/freeorion/issues/4949
+https://github.com/boostorg/container/issues/252
+https://github.com/boostorg/container/issues/281
+https://github.com/boostorg/container/commit/20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9
+
+From 20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <igaztanaga@gmail.com>
+Date: Sun, 28 Apr 2024 23:29:59 +0200
+Subject: [PATCH] Remove UB in flat_map implementation when the implementation
+ has a movable std::pair
+
+--- boost/container/allocator_traits.hpp
++++ boost/container/allocator_traits.hpp
+@@ -32,6 +32,8 @@
+ #include <boost/container/detail/mpl.hpp>
+ #include <boost/container/detail/type_traits.hpp>  //is_empty
+ #include <boost/container/detail/placement_new.hpp>
++#include <boost/container/detail/is_pair.hpp>
++#include <boost/container/detail/addressof.hpp>
+ #ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP
+ #include <boost/container/detail/std_fwd.hpp>
+ #endif
+@@ -81,6 +83,144 @@
+ 
+ namespace boost {
+ namespace container {
++namespace dtl {
++
++#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
++
++template<class T, class ...Args>
++BOOST_CONTAINER_FORCEINLINE void construct_type(T *p, BOOST_FWD_REF(Args) ...args)
++{
++   ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...);
++}
++
++template < class Pair, class KeyType, class ... Args>
++typename dtl::enable_if< dtl::is_pair<Pair>, void >::type
++construct_type
++   (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k, BOOST_FWD_REF(Args) ...args)
++{
++   construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));
++   BOOST_CONTAINER_TRY{
++      construct_type(dtl::addressof(p->second), ::boost::forward<Args>(args)...);
++   }
++   BOOST_CONTAINER_CATCH(...) {
++      typedef typename Pair::first_type first_type;
++      dtl::addressof(p->first)->~first_type();
++      BOOST_CONTAINER_RETHROW
++   }
++   BOOST_CONTAINER_CATCH_END
++}
++
++#else
++
++#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ(N) \
++template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
++BOOST_CONTAINER_FORCEINLINE \
++   typename dtl::disable_if_c<dtl::is_pair<T>::value, void >::type \
++construct_type(T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
++{\
++   ::new((void*)p, boost_container_new_t()) T( BOOST_MOVE_FWD##N );\
++}\
++//
++BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ)
++#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ
++
++#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE(N) \
++template < class Pair, class KeyType BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
++typename dtl::enable_if< dtl::is_pair<Pair>, void >::type construct_type\
++   (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
++{\
++   construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));\
++   BOOST_CONTAINER_TRY{\
++      construct_type(dtl::addressof(p->second) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
++   }\
++   BOOST_CONTAINER_CATCH(...) {\
++      typedef typename Pair::first_type first_type;\
++      dtl::addressof(p->first)->~first_type();\
++      BOOST_CONTAINER_RETHROW\
++   }\
++   BOOST_CONTAINER_CATCH_END\
++}\
++//
++BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE)
++#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE
++
++#endif
++
++template<class T>
++inline
++typename dtl::enable_if<dtl::is_pair<T>, void >::type
++construct_type(T* p)
++{
++   dtl::construct_type(dtl::addressof(p->first));
++   BOOST_CONTAINER_TRY{
++      dtl::construct_type(dtl::addressof(p->second));
++   }
++   BOOST_CONTAINER_CATCH(...) {
++      typedef typename T::first_type first_type;
++      dtl::addressof(p->first)->~first_type();
++      BOOST_CONTAINER_RETHROW
++   }
++   BOOST_CONTAINER_CATCH_END
++}
++
++
++template<class T, class U>
++inline
++typename dtl::enable_if_c
++   <  dtl::is_pair<T>::value
++   , void >::type
++construct_type(T* p, U &u)
++{
++   dtl::construct_type(dtl::addressof(p->first), u.first);
++   BOOST_CONTAINER_TRY{
++      dtl::construct_type(dtl::addressof(p->second), u.second);
++   }
++   BOOST_CONTAINER_CATCH(...) {
++      typedef typename T::first_type first_type;
++      dtl::addressof(p->first)->~first_type();
++      BOOST_CONTAINER_RETHROW
++   }
++   BOOST_CONTAINER_CATCH_END
++}
++
++template<class T, class U>
++inline
++typename dtl::enable_if_c
++   <  dtl::is_pair<typename dtl::remove_reference<T>::type>::value &&
++      !boost::move_detail::is_reference<U>::value  //This is needed for MSVC10 and ambiguous overloads
++   , void >::type
++construct_type(T* p, BOOST_RV_REF(U) u)
++{
++   dtl::construct_type(dtl::addressof(p->first), ::boost::move(u.first));
++   BOOST_CONTAINER_TRY{
++      dtl::construct_type(dtl::addressof(p->second), ::boost::move(u.second));
++   }
++   BOOST_CONTAINER_CATCH(...) {
++      typedef typename T::first_type first_type;
++      dtl::addressof(p->first)->~first_type();
++      BOOST_CONTAINER_RETHROW
++   }
++   BOOST_CONTAINER_CATCH_END
++}
++
++template<class T, class U, class V>
++inline
++typename dtl::enable_if<dtl::is_pair<T>, void >::type
++construct_type(T* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y)
++{
++   dtl::construct_type(dtl::addressof(p->first), ::boost::forward<U>(x));
++   BOOST_CONTAINER_TRY{
++      dtl::construct_type(dtl::addressof(p->second), ::boost::forward<V>(y));
++   }
++   BOOST_CONTAINER_CATCH(...) {
++      typedef typename T::first_type first_type;
++      dtl::addressof(p->first)->~first_type();
++      BOOST_CONTAINER_RETHROW
++   }
++   BOOST_CONTAINER_CATCH_END
++}
++
++}  //namespace dtl
+ 
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
+ 
+@@ -419,7 +559,7 @@ struct allocator_traits
+ 
+       template<class T, class ...Args>
+       inline static void priv_construct(dtl::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args)
+-      {  ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...); }
++      {  dtl::construct_type(p, ::boost::forward<Args>(args)...); }
+    #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+       public:
+ 
+@@ -450,7 +590,7 @@ struct allocator_traits
+       \
+       template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\
+       inline static void priv_construct(dtl::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
+-      {  ::new((void*)p, boost_container_new_t()) T(BOOST_MOVE_FWD##N); }\
++      {  dtl::construct_type(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
+       //
+       BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL)
+       #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL
+--- boost/container/detail/construct_in_place.hpp
++++ boost/container/detail/construct_in_place.hpp
+@@ -24,6 +24,7 @@
+ #include <boost/container/allocator_traits.hpp>
+ #include <boost/container/detail/iterators.hpp>
+ #include <boost/container/detail/value_init.hpp>
++#include <boost/container/detail/is_pair.hpp>
+ 
+ namespace boost {
+ namespace container {
+@@ -62,9 +63,42 @@ BOOST_CONTAINER_FORCEINLINE void construct_in_place(Allocator &a, T *dest, empla
+ 
+ //Assignment
+ 
++template<class T, class U>
++BOOST_CONTAINER_FORCEINLINE
++   typename dtl::disable_if_c
++      <  dtl::is_pair<typename dtl::remove_reference<T>::type>::value
++      && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
++      , void>::type
++assign_in_place_ref(T &t, BOOST_FWD_REF(U) u)
++{  t = ::boost::forward<U>(u);  }
++
++template<class T, class U>
++BOOST_CONTAINER_FORCEINLINE
++   typename dtl::enable_if_c
++      <  dtl::is_pair<typename dtl::remove_reference<T>::type>::value
++      && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
++      , void>::type
++assign_in_place_ref(T &t, const U &u)
++{
++   assign_in_place_ref(t.first, u.first);
++   assign_in_place_ref(t.second, u.second);
++}
++
++template<class T, class U>
++BOOST_CONTAINER_FORCEINLINE
++   typename dtl::enable_if_c
++      <  dtl::is_pair<typename dtl::remove_reference<T>::type>::value
++      && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
++      , void>::type
++assign_in_place_ref(T &t, BOOST_RV_REF(U) u)
++{
++   assign_in_place_ref(t.first,  ::boost::move(u.first));
++   assign_in_place_ref(t.second, ::boost::move(u.second));
++}
++
+ template<class DstIt, class InpIt>
+ BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, InpIt source)
+-{  *dest = *source;  }
++{  assign_in_place_ref(*dest, *source);  }
+ 
+ template<class DstIt, class U>
+ BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, value_init_construct_iterator<U>)
+--- boost/container/flat_map.hpp
++++ boost/container/flat_map.hpp
+@@ -48,6 +48,11 @@
+ #include <initializer_list>
+ #endif
+ 
++#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
++#define BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
++#endif
++
++
+ namespace boost {
+ namespace container {
+ 
+@@ -58,21 +63,37 @@ class flat_multimap;
+ 
+ namespace dtl{
+ 
++#if defined(BOOST_CONTAINER_STD_PAIR_IS_MOVABLE)
+ template<class D, class S>
+ BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
+-{  return *move_detail::force_ptr<D*>(&s); }
++{  return s; }
+ 
+ template<class D, class S>
+ BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
+-{  return *move_detail::force_ptr<const D*>(&s); }
++{  return s; }
++
++template<class D>
++BOOST_CONTAINER_FORCEINLINE static D force_copy(D s)
++{  return s; }
++
++#else //!BOOST_CONTAINER_DOXYGEN_INVOKED
++
++template<class D, class S>
++BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
++{  return *move_detail::launder_cast<D*>(&s); }
++
++template<class D, class S>
++BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
++{  return *move_detail::launder_cast<const D*>(&s); }
+ 
+ template<class D, class S>
+ BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s)
+ {
+-   const D *const vp = move_detail::force_ptr<const D *>(&s);
++   const D *const vp = move_detail::launder_cast<const D *>(&s);
+    D ret_val(*vp);
+    return ret_val;
+ }
++#endif   //BOOST_CONTAINER_DOXYGEN_INVOKED
+ 
+ }  //namespace dtl{
+ 
+@@ -118,18 +139,27 @@ class flat_map
+    private:
+    BOOST_COPYABLE_AND_MOVABLE(flat_map)
+    //This is the tree that we should store if pair was movable
++   typedef std::pair<Key, T> std_pair_t;
+    typedef dtl::flat_tree<
+-                           std::pair<Key, T>,
++                           std_pair_t,
+                            dtl::select1st<Key>,
+                            Compare,
+                            AllocatorOrContainer> tree_t;
+ 
+    //This is the real tree stored here. It's based on a movable pair
++   typedef dtl::pair<Key, T> dtl_pair_t;
++
++   #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
++   typedef std_pair_t impl_pair_t;
++   #else
++   typedef dtl_pair_t impl_pair_t;
++   #endif
++
+    typedef dtl::flat_tree<
+-                           dtl::pair<Key, T>,
++                           impl_pair_t,
+                            dtl::select1st<Key>,
+                            Compare,
+-                           typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
++                           typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type
+                            > impl_tree_t;
+    impl_tree_t m_flat_tree;  // flat tree representing flat_map
+ 
+@@ -851,7 +881,7 @@ class flat_map
+    //! @copydoc ::boost::container::flat_set::nth(size_type) const
+    BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+       const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
+-   {  return dtl::force_copy<iterator>(m_flat_tree.nth(n));  }
++   {  return dtl::force_copy<const_iterator>(m_flat_tree.nth(n));  }
+ 
+    //! @copydoc ::boost::container::flat_set::index_of(iterator)
+    BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+@@ -1099,7 +1129,7 @@ class flat_map
+    template <class Pair>
+    inline BOOST_CONTAINER_DOC1ST
+          ( std::pair<iterator BOOST_MOVE_I bool>
+-         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+             BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
+       insert(BOOST_FWD_REF(Pair) x)
+    {
+@@ -1153,7 +1183,7 @@ class flat_map
+    template <class Pair>
+    inline BOOST_CONTAINER_DOC1ST
+          ( iterator
+-         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+             BOOST_MOVE_I iterator>::type)
+       insert(const_iterator p, BOOST_FWD_REF(Pair) x)
+    {
+@@ -1777,17 +1807,24 @@ class flat_multimap
+    #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
+    private:
+    BOOST_COPYABLE_AND_MOVABLE(flat_multimap)
++   typedef std::pair<Key, T> std_pair_t;
+    typedef dtl::flat_tree<
+-                           std::pair<Key, T>,
++                           std_pair_t,
+                            dtl::select1st<Key>,
+                            Compare,
+                            AllocatorOrContainer> tree_t;
+    //This is the real tree stored here. It's based on a movable pair
++   typedef dtl::pair<Key, T> dtl_pair_t;
++   #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
++   typedef std_pair_t impl_pair_t;
++   #else
++   typedef dtl_pair_t impl_pair_t;
++   #endif
+    typedef dtl::flat_tree<
+-                           dtl::pair<Key, T>,
++                           impl_pair_t,
+                            dtl::select1st<Key>,
+                            Compare,
+-                           typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
++                           typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type
+                            > impl_tree_t;
+    impl_tree_t m_flat_tree;  // flat tree representing flat_map
+ 
+@@ -2388,7 +2425,7 @@ class flat_multimap
+    //! @copydoc ::boost::container::flat_set::nth(size_type) const
+    BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+    const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
+-   {  return dtl::force_copy<iterator>(m_flat_tree.nth(n));  }
++   {  return dtl::force_copy<const_iterator>(m_flat_tree.nth(n));  }
+ 
+    //! @copydoc ::boost::container::flat_set::index_of(iterator)
+    BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+@@ -2477,7 +2514,7 @@ class flat_multimap
+    template<class Pair>
+    inline BOOST_CONTAINER_DOC1ST
+          ( iterator
+-         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+             BOOST_MOVE_I iterator >::type)
+       insert(BOOST_FWD_REF(Pair) x)
+    { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); }
+@@ -2514,7 +2551,7 @@ class flat_multimap
+    template<class Pair>
+    inline BOOST_CONTAINER_DOC1ST
+          ( iterator
+-         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++         , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+             BOOST_MOVE_I iterator>::type)
+       insert(const_iterator p, BOOST_FWD_REF(Pair) x)
+    {
diff --git a/devel/boost-libs/files/patch-boost-1.85.0-python-numpy-2 b/devel/boost-libs/files/patch-boost-1.85.0-python-numpy-2
new file mode 100644
index 000000000000..e74dfbbb1abd
--- /dev/null
+++ b/devel/boost-libs/files/patch-boost-1.85.0-python-numpy-2
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/932459
+https://github.com/boostorg/python/issues/431
+https://github.com/boostorg/python/pull/432
+
+From 33ac06ca59a68266d3d26edf08205d31ddab4a6c Mon Sep 17 00:00:00 2001
+From: Alexis DUBURCQ <alexis.duburcq@gmail.com>
+Date: Fri, 15 Mar 2024 14:10:16 +0100
+Subject: [PATCH] Support numpy 2.0.0b1
+
+--- libs/python/src/numpy/dtype.cpp
++++ libs/python/src/numpy/dtype.cpp
+@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align)
+   return python::detail::new_reference(reinterpret_cast<PyObject*>(obj));
+ }
+ 
+-int dtype::get_itemsize() const { return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;}
++int dtype::get_itemsize() const {
++#if NPY_ABI_VERSION < 0x02000000
++  return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;
++#else
++  return PyDataType_ELSIZE(reinterpret_cast<PyArray_Descr*>(ptr()));
++#endif
++}
+ 
+ bool equivalent(dtype const & a, dtype const & b) {
+     // On Windows x64, the behaviour described on 
diff --git a/devel/boost-libs/files/patch-boost_math_cstdfloat_cstdfloat__limits.hpp b/devel/boost-libs/files/patch-boost_math_cstdfloat_cstdfloat__limits.hpp
deleted file mode 100644
index 870de6c7e306..000000000000
--- a/devel/boost-libs/files/patch-boost_math_cstdfloat_cstdfloat__limits.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- boost/math/cstdfloat/cstdfloat_limits.hpp.orig	2023-12-06 21:03:04 UTC
-+++ boost/math/cstdfloat/cstdfloat_limits.hpp
-@@ -24,7 +24,7 @@
- #pragma GCC system_header
- #endif
- 
--  #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) && defined(BOOST_MATH_USE_FLOAT128) && !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT) && (!defined(__GNUC__) || (defined(__GNUC__) && __GNUC__ < 14))
-+  #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) && defined(BOOST_MATH_USE_FLOAT128) && !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT) && (!defined(_GLIBCXX_RELEASE) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE < 14))
- 
-     #include <limits>
-     #include <boost/math/tools/nothrow.hpp>
diff --git a/devel/boost-libs/files/patch-boost_signals2_detail_signal__template.hpp b/devel/boost-libs/files/patch-boost_signals2_detail_signal__template.hpp
deleted file mode 100644
index cf89583c13da..000000000000
--- a/devel/boost-libs/files/patch-boost_signals2_detail_signal__template.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
---- boost/signals2/detail/signal_template.hpp.orig	2023-12-06 21:03:06 UTC
-+++ boost/signals2/detail/signal_template.hpp
-@@ -103,9 +103,9 @@ namespace boost
-               BOOST_SIGNALS2_FORWARDED_ARGS(BOOST_SIGNALS2_NUM_ARGS));
-         }
-         template<typename T>
--          bool operator==(const T &other) const
-+          bool contains(const T &other) const
-         {
--          return _fun == other;
-+          return _fun.contains(other);
-         }
-       private:
-         BOOST_SIGNALS2_BOUND_EXTENDED_SLOT_FUNCTION_N(BOOST_SIGNALS2_NUM_ARGS)()
-@@ -116,6 +116,8 @@ namespace boost
-       };
- 
-       template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
-+        class BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
-+      template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
-         class BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
- 
-       template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_SPECIALIZATION_DECL(BOOST_SIGNALS2_NUM_ARGS)>
-@@ -150,6 +152,8 @@ namespace boost
-         typedef GroupCompare group_compare_type;
-         typedef typename detail::slot_call_iterator_t<slot_invoker,
-           typename connection_list_type::iterator, connection_body<group_key_type, slot_type, Mutex> > slot_call_iterator;
-+        typedef detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
-+          <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> weak_signal_type;
- 
-         BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)(const combiner_type &combiner_arg,
-           const group_compare_type &group_compare):
-@@ -219,7 +223,7 @@ namespace boost
-         void disconnect(const T &slot)
-         {
-           typedef mpl::bool_<(is_convertible<T, group_type>::value)> is_group;
--          do_disconnect(slot, is_group());
-+          do_disconnect(unwrap_ref(slot), is_group());
-         }
-         // emit signal
-         result_type operator ()(BOOST_SIGNALS2_SIGNATURE_FULL_ARGS(BOOST_SIGNALS2_NUM_ARGS))
-@@ -531,13 +535,20 @@ namespace boost
-             {
-               (*it)->nolock_disconnect(lock);
-             }else
--            {
--              // check for wrapped extended slot
-+            { // check for wrapped extended slot
-               bound_extended_slot_function_type *fp;
-               fp = (*it)->slot().slot_function().template target<bound_extended_slot_function_type>();
--              if(fp && function_equal(*fp, slot))
-+              if(fp && fp->contains(slot))
-               {
-                 (*it)->nolock_disconnect(lock);
-+              }else
-+              { // check for wrapped signal
-+                weak_signal_type *fp;
-+                fp = (*it)->slot().slot_function().template target<weak_signal_type>();
-+                if(fp && fp->contains(slot))
-+                {
-+                  (*it)->nolock_disconnect(lock);
-+                }
-               }
-             }
-           }
-@@ -588,8 +599,6 @@ namespace boost
-         const boost::shared_ptr<mutex_type> _mutex;
-       };
- 
--      template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(BOOST_SIGNALS2_NUM_ARGS)>
--        class BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS);
-     }
- 
-     template<BOOST_SIGNALS2_SIGNAL_TEMPLATE_DEFAULTED_DECL(BOOST_SIGNALS2_NUM_ARGS)>
-@@ -603,8 +612,7 @@ namespace boost
-       typedef detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
-         <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> impl_class;
-     public:
--      typedef detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
--        <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> weak_signal_type;
-+      typedef typename impl_class::weak_signal_type weak_signal_type;
-       friend class detail::BOOST_SIGNALS2_WEAK_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
-         <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION>;
- 
-@@ -746,12 +754,24 @@ namespace boost
-         using std::swap;
-         swap(_pimpl, other._pimpl);
-       }
-+      bool operator==(const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) & other) const
-+      {
-+        return _pimpl.get() == other._pimpl.get();
-+      }
-     protected:
-       virtual shared_ptr<void> lock_pimpl() const
-       {
-         return _pimpl;
-       }
-     private:
-+      // explicit private copy constructor to avoid compiler trying to do implicit conversions to signal
-+      explicit BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)(
-+        const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) & other) BOOST_NOEXCEPT
-+      {
-+          // noncopyable
-+          BOOST_ASSERT(false);
-+      }
-+
-       shared_ptr<impl_class>
-         _pimpl;
-     };
-@@ -801,6 +821,16 @@ namespace boost
-             <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> >
-             shared_pimpl(_weak_pimpl.lock());
-           return (*shared_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
-+        }
-+        bool contains(const BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
-+          <BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> &signal) const
-+        {
-+          return _weak_pimpl.lock().get() == signal._pimpl.get(); 
-+        }
-+        template <typename T>
-+        bool contains(const T&) const
-+        {
-+          return false;
-         }
-       private:
-         boost::weak_ptr<detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
diff --git a/devel/boost-libs/files/patch-libs_context_src_asm_jump__i386__sysv__elf__gas.S b/devel/boost-libs/files/patch-libs_context_src_asm_jump__i386__sysv__elf__gas.S
deleted file mode 100644
index 56d5cae55af8..000000000000
--- a/devel/boost-libs/files/patch-libs_context_src_asm_jump__i386__sysv__elf__gas.S
+++ /dev/null
@@ -1,19 +0,0 @@
---- libs/context/src/asm/jump_i386_sysv_elf_gas.S.orig	2023-12-06 21:03:02 UTC
-+++ libs/context/src/asm/jump_i386_sysv_elf_gas.S
-@@ -24,6 +24,10 @@
-  *                                                                                      *
-  ****************************************************************************************/
- 
-+#ifdef __x86_64__
-+#include "jump_x86_64_sysv_elf_gas.S"
-+#else
-+
- .file "jump_i386_sysv_elf_gas.S"
- .text
- .globl jump_fcontext
-@@ -91,3 +95,5 @@ jump_fcontext:
- 
- /* Mark that we don't need executable stack.  */
- .section .note.GNU-stack,"",%progbits
-+
-+#endif
diff --git a/devel/boost-libs/files/patch-libs_context_src_asm_make__i386__sysv__elf__gas.S b/devel/boost-libs/files/patch-libs_context_src_asm_make__i386__sysv__elf__gas.S
deleted file mode 100644
index 548fd0cfba1f..000000000000
--- a/devel/boost-libs/files/patch-libs_context_src_asm_make__i386__sysv__elf__gas.S
+++ /dev/null
@@ -1,19 +0,0 @@
---- libs/context/src/asm/make_i386_sysv_elf_gas.S.orig	2023-12-06 21:03:02 UTC
-+++ libs/context/src/asm/make_i386_sysv_elf_gas.S
-@@ -24,6 +24,10 @@
-  *                                                                                      *
-  ****************************************************************************************/
- 
-+#ifdef __x86_64__
-+#include "make_x86_64_sysv_elf_gas.S"
-+#else
-+
- .file "make_i386_sysv_elf_gas.S"
- .text
- .globl make_fcontext
-@@ -111,3 +115,5 @@ finish:
- 
- /* Mark that we don't need executable stack.  */
- .section .note.GNU-stack,"",%progbits
-+
-+#endif
diff --git a/devel/boost-libs/pkg-plist b/devel/boost-libs/pkg-plist
index e6ab67628347..d1d9f60739c4 100644
--- a/devel/boost-libs/pkg-plist
+++ b/devel/boost-libs/pkg-plist
@@ -1463,22 +1463,17 @@ include/boost/bind.hpp
 include/boost/bind/apply.hpp
 include/boost/bind/arg.hpp
 include/boost/bind/bind.hpp
-include/boost/bind/bind_cc.hpp
-include/boost/bind/bind_mf2_cc.hpp
-include/boost/bind/bind_mf_cc.hpp
-include/boost/bind/bind_template.hpp
-include/boost/bind/detail/is_same.hpp
-include/boost/bind/detail/requires_cxx11.hpp
+include/boost/bind/detail/bind_cc.hpp
+include/boost/bind/detail/bind_mf2_cc.hpp
+include/boost/bind/detail/bind_mf_cc.hpp
+include/boost/bind/detail/integer_sequence.hpp
 include/boost/bind/detail/result_traits.hpp
+include/boost/bind/detail/tuple_for_each.hpp
 include/boost/bind/make_adaptable.hpp
 include/boost/bind/mem_fn.hpp
-include/boost/bind/mem_fn_cc.hpp
-include/boost/bind/mem_fn_template.hpp
-include/boost/bind/mem_fn_vw.hpp
 include/boost/bind/placeholders.hpp
 include/boost/bind/protect.hpp
 include/boost/bind/std_placeholders.hpp
-include/boost/bind/storage.hpp
 include/boost/blank.hpp
 include/boost/blank_fwd.hpp
 include/boost/call_traits.hpp
@@ -1553,6 +1548,46 @@ include/boost/callable_traits/remove_varargs.hpp
 include/boost/callable_traits/return_type.hpp
 include/boost/cast.hpp
 include/boost/cerrno.hpp
+include/boost/charconv.hpp
+include/boost/charconv/chars_format.hpp
+include/boost/charconv/config.hpp
+include/boost/charconv/detail/apply_sign.hpp
+include/boost/charconv/detail/bit_layouts.hpp
+include/boost/charconv/detail/buffer_sizing.hpp
+include/boost/charconv/detail/compute_float32.hpp
+include/boost/charconv/detail/compute_float64.hpp
+include/boost/charconv/detail/compute_float80.hpp
+include/boost/charconv/detail/config.hpp
+include/boost/charconv/detail/dragonbox/dragonbox.hpp
+include/boost/charconv/detail/dragonbox/dragonbox_common.hpp
+include/boost/charconv/detail/dragonbox/floff.hpp
+include/boost/charconv/detail/emulated128.hpp
+include/boost/charconv/detail/fallback_routines.hpp
+include/boost/charconv/detail/fast_float/ascii_number.hpp
+include/boost/charconv/detail/fast_float/bigint.hpp
+include/boost/charconv/detail/fast_float/constexpr_feature_detect.hpp
+include/boost/charconv/detail/fast_float/decimal_to_binary.hpp
+include/boost/charconv/detail/fast_float/digit_comparison.hpp
+include/boost/charconv/detail/fast_float/fast_float.hpp
+include/boost/charconv/detail/fast_float/fast_table.hpp
+include/boost/charconv/detail/fast_float/float_common.hpp
+include/boost/charconv/detail/fast_float/parse_number.hpp
+include/boost/charconv/detail/from_chars_integer_impl.hpp
+include/boost/charconv/detail/from_chars_result.hpp
+include/boost/charconv/detail/generate_nan.hpp
+include/boost/charconv/detail/integer_search_trees.hpp
+include/boost/charconv/detail/issignaling.hpp
+include/boost/charconv/detail/memcpy.hpp
+include/boost/charconv/detail/parser.hpp
+include/boost/charconv/detail/ryu/generic_128.hpp
+include/boost/charconv/detail/ryu/ryu_generic_128.hpp
+include/boost/charconv/detail/significand_tables.hpp
+include/boost/charconv/detail/to_chars_integer_impl.hpp
+include/boost/charconv/detail/to_chars_result.hpp
+include/boost/charconv/detail/type_traits.hpp
+include/boost/charconv/from_chars.hpp
+include/boost/charconv/limits.hpp
+include/boost/charconv/to_chars.hpp
 include/boost/checked_delete.hpp
 include/boost/chrono.hpp
 include/boost/chrono/ceil.hpp
@@ -2348,6 +2383,7 @@ include/boost/core/exchange.hpp
 include/boost/core/explicit_operator_bool.hpp
 include/boost/core/fclose_deleter.hpp
 include/boost/core/first_scalar.hpp
+include/boost/core/functor.hpp
 include/boost/core/identity.hpp
 include/boost/core/ignore_unused.hpp
 include/boost/core/invoke_swap.hpp
@@ -2726,6 +2762,7 @@ include/boost/exception/detail/error_info_impl.hpp
 include/boost/exception/detail/exception_ptr.hpp
 include/boost/exception/detail/is_output_streamable.hpp
 include/boost/exception/detail/object_hex_dump.hpp
*** 639 LINES SKIPPED ***