On 9/18/2021 4:37 AM, Rafael Sadowski wrote:
On Thu Sep 16, 2021 at 08:44:00AM +0100, Stuart Henderson wrote:
On 2021/09/15 23:15, Brad Smith wrote:
Interesting. I found rebuilding libtorrent-rasterbar with -O1 (or -O0 initially)
and it no longer was crashing on me. I started up qBittorrent and downloaded
a few well seeded torrents.
Unless we understand the mechanism for the failure and are sure it's a
libtorrent-rasterbar problem rather than a boost one, a backout would
seem a better idea. We are locking soon and can't add -O1 to ~170 ports
if the problem is in boost and an unknown number of others might be
affected.

Runtime tests on boost ports are problematic. Ports only using the
"header only library" as a BUILD_DEPENDS do *not* get updated for a
boost version bump so testers could easily be using the old code still.

I think Stuart is right. 7.0 is coming and we should play it safe.

OK?
OK.

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/boost/Makefile,v
retrieving revision 1.116
diff -u -p -u -p -r1.116 Makefile
--- Makefile    3 Sep 2021 23:23:30 -0000       1.116
+++ Makefile    18 Sep 2021 06:42:26 -0000
@@ -1,11 +1,12 @@
-# $OpenBSD: Makefile,v 1.116 2021/09/03 23:23:30 sthen Exp $
+# $OpenBSD: Makefile,v 1.115 2021/07/16 17:55:10 sthen Exp $
ONLY_FOR_ARCHS-md = aarch64 amd64 arm i386 mips64 mips64el powerpc powerpc64 riscv64 COMMENT-main= free peer-reviewed portable C++ source libraries
  COMMENT-md=   machine-dependent libraries for boost
-VERSION= 1.77.0
+VERSION=       1.76.0
+EPOCH =                0
  DISTNAME=     boost_${VERSION:S/./_/g}
  PKGNAME-main= boost-${VERSION}
  PKGNAME-md=   boost-md-${VERSION}
@@ -14,7 +15,7 @@ MASTER_SITES= https://boostorg.jfrog.io/
  EXTRACT_SUFX= .tar.bz2
  FIX_EXTRACT_PERMISSIONS =     Yes
-SO_VERSION= 16.0
+SO_VERSION=    17.0
  BOOST_LIBS=   boost_atomic-mt \
                boost_chrono-mt boost_chrono \
                boost_container-mt boost_container \
@@ -107,8 +108,8 @@ BJAM_CONFIG=        -sICU_PATH=${LOCALBASE} \
                -j${MAKE_JOBS} \
                --layout=tagged-1.66 \
                pch=off \
-               cflags='${CFLAGS}' \
-               cxxflags='${CXXFLAGS}' \
+               cflags='${CFLAGS} -pthread' \
+               cxxflags='${CXXFLAGS} -pthread' \
                variant=release \
                link=static,shared \
                threading=single,multi \
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/boost/distinfo,v
retrieving revision 1.16
diff -u -p -u -p -r1.16 distinfo
--- distinfo    3 Sep 2021 23:23:30 -0000       1.16
+++ distinfo    18 Sep 2021 06:42:26 -0000
@@ -1,2 +1,2 @@
-SHA256 (boost_1_77_0.tar.bz2) = /J+F/AMOIzFCkIJBr3qEbmBjCqc4jeml+vsfOiaECFQ=
-SIZE (boost_1_77_0.tar.bz2) = 110361537
+SHA256 (boost_1_76_0.tar.bz2) = 8Dl7pumCxEUPJ78yoqgykqugNbgnpWI6FGNupYMxjEE=
+SIZE (boost_1_76_0.tar.bz2) = 110073117
Index: patches/patch-Jamroot
===================================================================
RCS file: /cvs/ports/devel/boost/patches/patch-Jamroot,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 patch-Jamroot
--- patches/patch-Jamroot       3 Sep 2021 23:23:31 -0000       1.12
+++ patches/patch-Jamroot       18 Sep 2021 06:42:26 -0000
@@ -1,11 +1,11 @@
-$OpenBSD: patch-Jamroot,v 1.12 2021/09/03 23:23:31 sthen Exp $
+$OpenBSD: patch-Jamroot,v 1.11 2021/06/22 04:20:13 rsadowski Exp $
Index: Jamroot
  --- Jamroot.orig
  +++ Jamroot
  @@ -146,11 +146,12 @@ import tools/boost\_install/boost-install ;
   path-constant BOOST_ROOT : . ;
- constant BOOST_VERSION : 1.77.0 ;
+ constant BOOST_VERSION : 1.76.0 ;
   constant BOOST_JAMROOT_MODULE : $(__name__) ;
  +constant SO_VERSION : ${SO_VERSION} ;
Index: patches/patch-boost_asio_ssl_impl_context_ipp
===================================================================
RCS file: patches/patch-boost_asio_ssl_impl_context_ipp
diff -N patches/patch-boost_asio_ssl_impl_context_ipp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-boost_asio_ssl_impl_context_ipp       18 Sep 2021 06:42:26 
-0000
@@ -0,0 +1,77 @@
+$OpenBSD: patch-boost_asio_ssl_impl_context_ipp,v 1.5 2021/07/16 17:55:10 
sthen Exp $
+
+Fix compatibility with recent LibreSSL when OPENSSL_NO_SSL_INTERN is defined.
+
+Index: boost/asio/ssl/impl/context.ipp
+--- boost/asio/ssl/impl/context.ipp.orig
++++ boost/asio/ssl/impl/context.ipp
+@@ -398,7 +398,8 @@ context::~context()
+   if (handle_)
+   {
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+     void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -411,7 +412,8 @@ context::~context()
+             cb_userdata);
+       delete callback;
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+       ::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0);
+ #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+@@ -760,7 +762,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain
+   if (bio.p)
+   {
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+     pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+     void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+@@ -789,7 +792,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain
+     }
+
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2090100fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+     ::SSL_CTX_clear_chain_certs(handle_);
+ #else
+@@ -868,7 +872,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_private_key(
+   ::ERR_clear_error();
+
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+     pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+     void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+@@ -937,7 +942,8 @@ BOOST_ASIO_SYNC_OP_VOID context::use_rsa_private_key(
+   ::ERR_clear_error();
+
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+     pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
+     void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+@@ -1178,7 +1184,8 @@ BOOST_ASIO_SYNC_OP_VOID context::do_set_password_callb
+     detail::password_callback_base* callback, boost::system::error_code& ec)
+ {
+ #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
+-      && !defined(LIBRESSL_VERSION_NUMBER)) \
++      && (!defined(LIBRESSL_VERSION_NUMBER) \
++        || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
+     || defined(BOOST_ASIO_USE_WOLFSSL)
+   void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
+   ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);
Index: patches/patch-boost_config_platform_bsd_hpp
===================================================================
RCS file: patches/patch-boost_config_platform_bsd_hpp
diff -N patches/patch-boost_config_platform_bsd_hpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-boost_config_platform_bsd_hpp 18 Sep 2021 06:42:26 -0000
@@ -0,0 +1,52 @@
+$OpenBSD: patch-boost_config_platform_bsd_hpp,v 1.3 2021/06/22 04:20:13 
rsadowski Exp $
+
+Index: boost/config/platform/bsd.hpp
+--- boost/config/platform/bsd.hpp.orig
++++ boost/config/platform/bsd.hpp
+@@ -28,7 +28,8 @@
+ // FreeBSD has <nl_types.h> but does not
+ // advertise the fact in <unistd.h>:
+ //
+-#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
++#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) \
++   || defined(__OpenBSD__) || defined(__DragonFly__)
+ #  define BOOST_HAS_NL_TYPES_H
+ #endif
+
+@@ -36,8 +37,8 @@
+ // FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
+ // and not in <unistd.h>
+ //
+-#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
+-   || defined(__OpenBSD__) || defined(__DragonFly__)
++#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3)) \
++   || defined(__DragonFly__)
+ #  define BOOST_HAS_PTHREADS
+ #endif
+
+@@ -56,15 +57,10 @@
+ #endif
+
+ #if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
+-      || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || 
defined(__DragonFly__))
++      || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) \
++      || defined(__OpenBSD__) || defined(__DragonFly__))
+ #  define BOOST_NO_CWCHAR
+ #endif
+-//
+-// The BSD <ctype.h> has macros only, no functions:
+-//
+-#if !defined(__OpenBSD__) || defined(__DragonFly__)
+-#  define BOOST_NO_CTYPE_FUNCTIONS
+-#endif
+
+ //
+ // thread API's not auto detected:
+@@ -74,6 +70,7 @@
+ #define BOOST_HAS_GETTIMEOFDAY
+ #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+ #define BOOST_HAS_SIGACTION
++#define BOOST_HAS_CLOCK_GETTIME
+
+ // boilerplate code:
+ #define BOOST_HAS_UNISTD_H
Index: patches/patch-boost_coroutine_detail_config_hpp
===================================================================
RCS file: patches/patch-boost_coroutine_detail_config_hpp
diff -N patches/patch-boost_coroutine_detail_config_hpp
--- patches/patch-boost_coroutine_detail_config_hpp     3 Sep 2021 23:23:31 
-0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-boost_coroutine_detail_config_hpp,v 1.1 2021/09/03 23:23:31 
sthen Exp $
-
-Use mmap(2) MAP_STACK to allocate stacks on OpenBSD.
-
-Index: boost/coroutine/detail/config.hpp
---- boost/coroutine/detail/config.hpp.orig
-+++ boost/coroutine/detail/config.hpp
-@@ -38,4 +38,9 @@
- #define BOOST_COROUTINES_UNIDIRECT
- #define BOOST_COROUTINES_SYMMETRIC
-
-+#if defined(__OpenBSD__)
-+// stacks need mmap(2) with MAP_STACK
-+# define BOOST_COROUTINES_USE_MAP_STACK
-+#endif
-+
- #endif // BOOST_COROUTINES_DETAIL_CONFIG_H
Index: patches/patch-boost_coroutine_standard_stack_allocator_hpp
===================================================================
RCS file: 
/cvs/ports/devel/boost/patches/patch-boost_coroutine_standard_stack_allocator_hpp,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-boost_coroutine_standard_stack_allocator_hpp
--- patches/patch-boost_coroutine_standard_stack_allocator_hpp  3 Sep 2021 
23:23:31 -0000       1.2
+++ patches/patch-boost_coroutine_standard_stack_allocator_hpp  18 Sep 2021 
06:42:26 -0000
@@ -1,46 +1,34 @@
-$OpenBSD: patch-boost_coroutine_standard_stack_allocator_hpp,v 1.2 2021/09/03 
23:23:31 sthen Exp $
-
-Use mmap(2) MAP_STACK to allocate stacks on OpenBSD.
+$OpenBSD: patch-boost_coroutine_standard_stack_allocator_hpp,v 1.1 2019/07/18 
20:27:25 sthen Exp $
Index: boost/coroutine/standard_stack_allocator.hpp
  --- boost/coroutine/standard_stack_allocator.hpp.orig
  +++ boost/coroutine/standard_stack_allocator.hpp
-@@ -22,6 +22,12 @@
- #include <boost/coroutine/stack_context.hpp>
- #include <boost/coroutine/stack_traits.hpp>
+@@ -26,6 +26,8 @@
+ #  include BOOST_ABI_PREFIX
+ #endif
-+#if defined(BOOST_COROUTINES_USE_MAP_STACK)
-+extern "C" {
  +#include <sys/mman.h>
-+}
-+#endif
  +
- #ifdef BOOST_HAS_ABI_HEADERS
- #  include BOOST_ABI_PREFIX
- #endif
-@@ -39,8 +45,13 @@ struct basic_standard_stack_allocator
+ namespace boost {
+ namespace coroutines {
+
+@@ -39,8 +41,8 @@ struct basic_standard_stack_allocator
           BOOST_ASSERT( traits_type::minimum_size() <= size);
           BOOST_ASSERT( traits_type::is_unbounded() || ( 
traits_type::maximum_size() >= size) );
-+#if defined(BOOST_COROUTINES_USE_MAP_STACK)
-+        void * limit = ::mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | 
MAP_ANON | MAP_STACK, -1, 0);
+-        void * limit = std::malloc( size);
+-        if ( ! limit) throw std::bad_alloc();
++        void * limit = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | 
MAP_ANON | MAP_STACK, -1, 0);
  +        if ( limit == MAP_FAILED ) throw std::bad_alloc();
-+#else
-         void * limit = std::malloc( size);
-         if ( ! limit) throw std::bad_alloc();
-+#endif
ctx.size = size;
           ctx.sp = static_cast< char * >( limit) + ctx.size;
-@@ -60,7 +71,11 @@ struct basic_standard_stack_allocator
+@@ -60,7 +62,7 @@ struct basic_standard_stack_allocator
   #endif
void * limit = static_cast< char * >( ctx.sp) - ctx.size;
-+#if defined(BOOST_COROUTINES_USE_MAP_STACK)
+-        std::free( limit);
  +        munmap(limit, ctx.size);
-+#else
-         std::free( limit);
-+#endif
       }
   };
Index: patches/patch-boost_predef_architecture_sparc_h
===================================================================
RCS file: patches/patch-boost_predef_architecture_sparc_h
diff -N patches/patch-boost_predef_architecture_sparc_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-boost_predef_architecture_sparc_h     18 Sep 2021 06:42:26 
-0000
@@ -0,0 +1,20 @@
+$OpenBSD: patch-boost_predef_architecture_sparc_h,v 1.1 2021/06/22 05:19:25 
rsadowski Exp $
+
+[PATCH] added missing brackets (#118)
+
+Index: boost/predef/architecture/sparc.h
+--- boost/predef/architecture/sparc.h.orig
++++ boost/predef/architecture/sparc.h
+@@ -34,10 +34,10 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture
+
+ #if defined(__sparc__) || defined(__sparc)
+ #   undef BOOST_ARCH_SPARC
+-#   if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || 
defined(__sparc_v9__)
++#   if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || 
defined(__sparc_v9__))
+ #       define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
+ #   endif
+-#   if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || 
defined(__sparc_v8__)
++#   if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || 
defined(__sparc_v8__))
+ #       define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
+ #   endif
+ #   if !defined(BOOST_ARCH_SPARC)
Index: patches/patch-tools_build_src_engine_build_sh
===================================================================
RCS file: /cvs/ports/devel/boost/patches/patch-tools_build_src_engine_build_sh,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 patch-tools_build_src_engine_build_sh
--- patches/patch-tools_build_src_engine_build_sh       3 Sep 2021 23:23:31 
-0000       1.4
+++ patches/patch-tools_build_src_engine_build_sh       18 Sep 2021 06:42:26 
-0000
@@ -1,20 +1,20 @@
-$OpenBSD: patch-tools_build_src_engine_build_sh,v 1.4 2021/09/03 23:23:31 
sthen Exp $
+$OpenBSD: patch-tools_build_src_engine_build_sh,v 1.3 2021/06/22 04:20:13 
rsadowski Exp $
Index: tools/build/src/engine/build.sh
  --- tools/build/src/engine/build.sh.orig
  +++ tools/build/src/engine/build.sh
-@@ -323,7 +323,7 @@ case "${B2_TOOLSET}" in
-
-     gcc|gcc-*)
-         CXX_VERSION_OPT=${CXX_VERSION_OPT:---version}
+@@ -325,7 +325,7 @@ case "${B2_TOOLSET}" in
+             B2_CXX="${B2_CXX} -pthread"
+             ;;
+         esac
  -        B2_CXXFLAGS_RELEASE="-O2 -s"
  +        B2_CXXFLAGS_RELEASE=""
           B2_CXXFLAGS_DEBUG="-O0 -g"
       ;;
-@@ -389,7 +389,7 @@ case "${B2_TOOLSET}" in
+@@ -391,7 +391,7 @@ case "${B2_TOOLSET}" in
- clang|clang-*)
+     clang*)
           CXX_VERSION_OPT=${CXX_VERSION_OPT:---version}
  -        B2_CXXFLAGS_RELEASE="-O3 -s"
  +        B2_CXXFLAGS_RELEASE=""
Index: patches/patch-tools_build_src_engine_jam_cpp
===================================================================
RCS file: patches/patch-tools_build_src_engine_jam_cpp
diff -N patches/patch-tools_build_src_engine_jam_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_build_src_engine_jam_cpp        18 Sep 2021 06:42:26 
-0000
@@ -0,0 +1,91 @@
+$OpenBSD: patch-tools_build_src_engine_jam_cpp,v 1.1 2021/06/22 04:20:13 
rsadowski Exp $
+
+[PATCH] Add a default exec path logic.
+
+This adds default/fallback logic to determine the b2 exec absolute path
+as possible. It uses the arg0 and current dir or path to construct the
+liekliest path.
+
+* Fix `b2` executable path determination for platforms that don't have a
+  native method of getting the path to executables, like OpenBSD.
+
+Index: tools/build/src/engine/jam.cpp
+--- tools/build/src/engine/jam.cpp.orig
++++ tools/build/src/engine/jam.cpp
+@@ -707,76 +707,3 @@ int main( int argc, char * * argv )
+
+     return status ? EXITBAD : EXITOK;
+ }
+-
+-
+-/*
+- * executable_path()
+- */
+-
+-#if defined(_WIN32)
+-# define WIN32_LEAN_AND_MEAN
+-# include <windows.h>
+-char * executable_path( char const * argv0 )
+-{
+-    char buf[ 1024 ];
+-    DWORD const ret = GetModuleFileNameA( NULL, buf, sizeof( buf ) );
+-    return ( !ret || ret == sizeof( buf ) ) ? NULL : strdup( buf );
+-}
+-#elif defined(__APPLE__)  /* Not tested */
+-# include <mach-o/dyld.h>
+-char *executable_path( char const * argv0 )
+-{
+-    char buf[ 1024 ];
+-    uint32_t size = sizeof( buf );
+-    return _NSGetExecutablePath( buf, &size ) ? NULL : strdup( buf );
+-}
+-#elif defined(sun) || defined(__sun)  /* Not tested */
+-# include <stdlib.h>
+-char * executable_path( char const * argv0 )
+-{
+-    const char * execname = getexecname();
+-    return execname ? strdup( execname ) : NULL;
+-}
+-#elif defined(__FreeBSD__)
+-# include <sys/sysctl.h>
+-char * executable_path( char const * argv0 )
+-{
+-    int mib[ 4 ] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
+-    char buf[ 1024 ];
+-    size_t size = sizeof( buf );
+-    sysctl( mib, 4, buf, &size, NULL, 0 );
+-    return ( !size || size == sizeof( buf ) ) ? NULL : strndup( buf, size );
+-}
+-#elif defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__)
+-# include <unistd.h>
+-char * executable_path( char const * argv0 )
+-{
+-    char buf[ 1024 ];
+-    ssize_t const ret = readlink( "/proc/self/exe", buf, sizeof( buf ) );
+-    return ( !ret || ret == sizeof( buf ) ) ? NULL : strndup( buf, ret );
+-}
+-#elif defined(OS_VMS)
+-# include <unixlib.h>
+-char * executable_path( char const * argv0 )
+-{
+-    char * vms_path = NULL;
+-    char * posix_path = NULL;
+-    char * p;
+-
+-    /* On VMS argv[0] shows absolute path to the image file.
+-     * So, just remove VMS file version and translate path to POSIX-style.
+-     */
+-    vms_path = strdup( argv0 );
+-    if ( vms_path && ( p = strchr( vms_path, ';') ) ) *p = '\0';
+-    posix_path = decc$translate_vms( vms_path );
+-    if ( vms_path ) free( vms_path );
+-
+-    return posix_path > 0 ? strdup( posix_path ) : NULL;
+-}
+-#else
+-char * executable_path( char const * argv0 )
+-{
+-    /* If argv0 is an absolute path, assume it is the right absolute path. */
+-    return argv0[ 0 ] == '/' ? strdup( argv0 ) : NULL;
+-}
+-#endif
Index: patches/patch-tools_build_src_engine_pathsys_cpp
===================================================================
RCS file: patches/patch-tools_build_src_engine_pathsys_cpp
diff -N patches/patch-tools_build_src_engine_pathsys_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_build_src_engine_pathsys_cpp    18 Sep 2021 06:42:26 
-0000
@@ -0,0 +1,132 @@
+$OpenBSD: patch-tools_build_src_engine_pathsys_cpp,v 1.1 2021/06/22 04:20:13 
rsadowski Exp $
+
+[PATCH] Add a default exec path logic.
+
+This adds default/fallback logic to determine the b2 exec absolute path
+as possible. It uses the arg0 and current dir or path to construct the
+liekliest path.
+
+* Fix `b2` executable path determination for platforms that don't have a
+  native method of getting the path to executables, like OpenBSD.
+
+Index: tools/build/src/engine/pathsys.cpp
+--- tools/build/src/engine/pathsys.cpp.orig
++++ tools/build/src/engine/pathsys.cpp
+@@ -28,9 +28,10 @@
+  */
+
+ #include "jam.h"
+-#include "pathsys.h"
+
++#include "cwd.h"
+ #include "filesys.h"
++#include "pathsys.h"
+
+ #include <stdlib.h>
+ #include <time.h>
+@@ -364,3 +365,105 @@ std::string b2::paths::normalize(const std::string &p)
+
+     return result;
+ }
++
++
++/*
++ * executable_path()
++ */
++
++#if defined(_WIN32)
++# define WIN32_LEAN_AND_MEAN
++# include <windows.h>
++char * executable_path( char const * argv0 )
++{
++    char buf[ 1024 ];
++    DWORD const ret = GetModuleFileNameA( NULL, buf, sizeof( buf ) );
++    return ( !ret || ret == sizeof( buf ) ) ? NULL : strdup( buf );
++}
++#elif defined(__APPLE__)  /* Not tested */
++# include <mach-o/dyld.h>
++char *executable_path( char const * argv0 )
++{
++    char buf[ 1024 ];
++    uint32_t size = sizeof( buf );
++    return _NSGetExecutablePath( buf, &size ) ? NULL : strdup( buf );
++}
++#elif defined(sun) || defined(__sun)  /* Not tested */
++# include <stdlib.h>
++char * executable_path( char const * argv0 )
++{
++    const char * execname = getexecname();
++    return execname ? strdup( execname ) : NULL;
++}
++#elif defined(__FreeBSD__)
++# include <sys/sysctl.h>
++char * executable_path( char const * argv0 )
++{
++    int mib[ 4 ] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
++    char buf[ 1024 ];
++    size_t size = sizeof( buf );
++    sysctl( mib, 4, buf, &size, NULL, 0 );
++    return ( !size || size == sizeof( buf ) ) ? NULL : strndup( buf, size );
++}
++#elif defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__)
++# include <unistd.h>
++char * executable_path( char const * argv0 )
++{
++    char buf[ 1024 ];
++    ssize_t const ret = readlink( "/proc/self/exe", buf, sizeof( buf ) );
++    return ( !ret || ret == sizeof( buf ) ) ? NULL : strndup( buf, ret );
++}
++#elif defined(OS_VMS)
++# include <unixlib.h>
++char * executable_path( char const * argv0 )
++{
++    char * vms_path = NULL;
++    char * posix_path = NULL;
++    char * p;
++
++    /* On VMS argv[0] shows absolute path to the image file.
++     * So, just remove VMS file version and translate path to POSIX-style.
++     */
++    vms_path = strdup( argv0 );
++    if ( vms_path && ( p = strchr( vms_path, ';') ) ) *p = '\0';
++    posix_path = decc$translate_vms( vms_path );
++    if ( vms_path ) free( vms_path );
++
++    return posix_path > 0 ? strdup( posix_path ) : NULL;
++}
++#else
++char * executable_path( char const * argv0 )
++{
++    char * result = nullptr;
++    /* If argv0 is an absolute path, assume it is the right absolute path. */
++    if (!result && b2::paths::is_rooted(argv0))
++        result = strdup( argv0 );
++    // If argv0 is a relative path, we can compute the absolute one from the
++    // current working dir.
++    if (!result && b2::paths::is_relative(argv0))
++    {
++        auto p = b2::paths::normalize(b2::cwd_str()+"/"+argv0);
++        result = strdup( p.c_str() );
++    }
++    // If it's a bare basename, search the PATH for a match.
++    if (!result)
++    {
++        std::string path_env = getenv( "PATH" );
++        std::string::size_type i = 0;
++        while (i != std::string::npos)
++        {
++            std::string::size_type e = path_env.find_first_of(':', i);
++            std::string p = e == std::string::npos
++                ? path_env.substr(i)
++                : path_env.substr(i, e-i);
++            if (b2::filesys::is_file(p+"/"+argv0))
++            {
++                result = strdup( (p+"/"+argv0).c_str() );
++                break;
++            }
++            i = e == std::string::npos ? e : e+1;
++        }
++    }
++    return result;
++}
++#endif
Index: patches/patch-tools_build_src_engine_pathsys_h
===================================================================
RCS file: patches/patch-tools_build_src_engine_pathsys_h
diff -N patches/patch-tools_build_src_engine_pathsys_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_build_src_engine_pathsys_h      18 Sep 2021 06:42:26 
-0000
@@ -0,0 +1,29 @@
+$OpenBSD: patch-tools_build_src_engine_pathsys_h,v 1.1 2021/06/22 04:20:13 
rsadowski Exp $
+
+[PATCH] Add a default exec path logic.
+
+This adds default/fallback logic to determine the b2 exec absolute path
+as possible. It uses the arg0 and current dir or path to construct the
+liekliest path.
+
+* Fix `b2` executable path determination for platforms that don't have a
+  native method of getting the path to executables, like OpenBSD.
+
+Index: tools/build/src/engine/pathsys.h
+--- tools/build/src/engine/pathsys.h.orig
++++ tools/build/src/engine/pathsys.h
+@@ -108,6 +108,14 @@ namespace b2
+                 (p.size() >= 1 && (p[0] == '/' || p[0] == '\\'));
+             #endif
+         }
++        inline bool is_relative(const std::string &p)
++        {
++            return
++                (p.size() >= 3 && (
++                    (p[0] == '.' && p[1] == '.' && (p[2] == '/' || p[2] == 
'\\')) ||
++                    (p[0] == '.' && (p[1] == '/' || p[1] == '\\'))
++                    ));
++        }
+         std::string normalize(const std::string &p);
+     }
+ }
Index: patches/patch-tools_build_src_tools_gcc_jam
===================================================================
RCS file: /cvs/ports/devel/boost/patches/patch-tools_build_src_tools_gcc_jam,v
retrieving revision 1.13
diff -u -p -u -p -r1.13 patch-tools_build_src_tools_gcc_jam
--- patches/patch-tools_build_src_tools_gcc_jam 3 Sep 2021 23:23:31 -0000       
1.13
+++ patches/patch-tools_build_src_tools_gcc_jam 18 Sep 2021 06:42:26 -0000
@@ -1,9 +1,9 @@
-$OpenBSD: patch-tools_build_src_tools_gcc_jam,v 1.13 2021/09/03 23:23:31 sthen 
Exp $
+$OpenBSD: patch-tools_build_src_tools_gcc_jam,v 1.12 2021/06/22 04:20:13 
rsadowski Exp $
Index: tools/build/src/tools/gcc.jam
  --- tools/build/src/tools/gcc.jam.orig
  +++ tools/build/src/tools/gcc.jam
-@@ -621,7 +621,7 @@ actions compile.c.pch
+@@ -705,7 +705,7 @@ actions compile.c.pch
# Declare flags and action for compilation.
   toolset.flags gcc.compile OPTIONS <optimization>off   : -O0 ;
@@ -12,7 +12,7 @@ Index: tools/build/src/tools/gcc.jam
   toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
-@@ -1204,7 +1204,7 @@ cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ;
+@@ -1288,7 +1288,7 @@ cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ;
   ##
   cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
   # Sparc
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/devel/boost/pkg/PLIST-main,v
retrieving revision 1.16
diff -u -p -u -p -r1.16 PLIST-main
--- pkg/PLIST-main      3 Sep 2021 23:23:31 -0000       1.16
+++ pkg/PLIST-main      18 Sep 2021 06:42:27 -0000
@@ -1,6 +1,6 @@
-@comment $OpenBSD: PLIST-main,v 1.16 2021/09/03 23:23:31 sthen Exp $
-@conflict leatherman-<1.12.4p0
+@comment $OpenBSD: PLIST-main,v 1.15 2021/06/22 04:20:13 rsadowski Exp $
  @pkgpath devel/boost
+@conflict leatherman-<1.12.4p0
  include/boost/
  include/boost/accumulators/
  include/boost/accumulators/accumulators.hpp
@@ -247,11 +247,7 @@ include/boost/align/detail/not_pointer.h
  include/boost/align/detail/throw_exception.hpp
  include/boost/align/is_aligned.hpp
  include/boost/aligned_storage.hpp
-include/boost/any/
  include/boost/any.hpp
-include/boost/any/bad_any_cast.hpp
-include/boost/any/basic_any.hpp
-include/boost/any/fwd.hpp
  include/boost/archive/
  include/boost/archive/archive_exception.hpp
  include/boost/archive/basic_archive.hpp
@@ -369,9 +365,7 @@ include/boost/asio/
  include/boost/asio.hpp
  include/boost/asio/any_io_executor.hpp
  include/boost/asio/associated_allocator.hpp
-include/boost/asio/associated_cancellation_slot.hpp
  include/boost/asio/associated_executor.hpp
-include/boost/asio/associator.hpp
  include/boost/asio/async_result.hpp
  include/boost/asio/awaitable.hpp
  include/boost/asio/basic_datagram_socket.hpp
@@ -389,7 +383,6 @@ include/boost/asio/basic_stream_socket.h
  include/boost/asio/basic_streambuf.hpp
  include/boost/asio/basic_streambuf_fwd.hpp
  include/boost/asio/basic_waitable_timer.hpp
-include/boost/asio/bind_cancellation_slot.hpp
  include/boost/asio/bind_executor.hpp
  include/boost/asio/buffer.hpp
  include/boost/asio/buffered_read_stream.hpp
@@ -399,9 +392,6 @@ include/boost/asio/buffered_stream_fwd.h
  include/boost/asio/buffered_write_stream.hpp
  include/boost/asio/buffered_write_stream_fwd.hpp
  include/boost/asio/buffers_iterator.hpp
-include/boost/asio/cancellation_signal.hpp
-include/boost/asio/cancellation_state.hpp
-include/boost/asio/cancellation_type.hpp
  include/boost/asio/co_spawn.hpp
  include/boost/asio/completion_condition.hpp
  include/boost/asio/compose.hpp
@@ -415,7 +405,6 @@ include/boost/asio/detail/array.hpp
  include/boost/asio/detail/array_fwd.hpp
  include/boost/asio/detail/assert.hpp
  include/boost/asio/detail/atomic_count.hpp
-include/boost/asio/detail/base_from_cancellation_state.hpp
  include/boost/asio/detail/base_from_completion_cond.hpp
  include/boost/asio/detail/bind_handler.hpp
  include/boost/asio/detail/blocking_executor_op.hpp
@@ -714,30 +703,9 @@ include/boost/asio/execution_context.hpp
  include/boost/asio/executor.hpp
  include/boost/asio/executor_work_guard.hpp
  include/boost/asio/experimental/
-include/boost/asio/experimental/append.hpp
  include/boost/asio/experimental/as_single.hpp
-include/boost/asio/experimental/as_tuple.hpp
-include/boost/asio/experimental/awaitable_operators.hpp
-include/boost/asio/experimental/cancellation_condition.hpp
-include/boost/asio/experimental/coro.hpp
-include/boost/asio/experimental/deferred.hpp
-include/boost/asio/experimental/detail/
-include/boost/asio/experimental/detail/completion_handler_erasure.hpp
-include/boost/asio/experimental/detail/coro_promise_allocator.hpp
-include/boost/asio/experimental/detail/coro_traits.hpp
-include/boost/asio/experimental/detail/partial_promise.hpp
  include/boost/asio/experimental/impl/
-include/boost/asio/experimental/impl/append.hpp
  include/boost/asio/experimental/impl/as_single.hpp
-include/boost/asio/experimental/impl/as_tuple.hpp
-include/boost/asio/experimental/impl/deferred.hpp
-include/boost/asio/experimental/impl/parallel_group.hpp
-include/boost/asio/experimental/impl/prepend.hpp
-include/boost/asio/experimental/impl/promise.hpp
-include/boost/asio/experimental/parallel_group.hpp
-include/boost/asio/experimental/prepend.hpp
-include/boost/asio/experimental/promise.hpp
-include/boost/asio/experimental/use_coro.hpp
  include/boost/asio/generic/
  include/boost/asio/generic/basic_endpoint.hpp
  include/boost/asio/generic/datagram_protocol.hpp
@@ -2076,7 +2044,6 @@ include/boost/config/assert_cxx03.hpp
  include/boost/config/assert_cxx11.hpp
  include/boost/config/assert_cxx14.hpp
  include/boost/config/assert_cxx17.hpp
-include/boost/config/assert_cxx20.hpp
  include/boost/config/assert_cxx98.hpp
  include/boost/config/auto_link.hpp
  include/boost/config/compiler/
@@ -2139,7 +2106,6 @@ include/boost/config/platform/solaris.hp
  include/boost/config/platform/symbian.hpp
  include/boost/config/platform/vms.hpp
  include/boost/config/platform/vxworks.hpp
-include/boost/config/platform/wasm.hpp
  include/boost/config/platform/win32.hpp
  include/boost/config/platform/zos.hpp
  include/boost/config/pragma_message.hpp
@@ -2606,22 +2572,6 @@ include/boost/date_time/time_zone_names.
  include/boost/date_time/tz_db_base.hpp
  include/boost/date_time/wrapping_int.hpp
  include/boost/date_time/year_month_day.hpp
-include/boost/describe/
-include/boost/describe.hpp
-include/boost/describe/bases.hpp
-include/boost/describe/class.hpp
-include/boost/describe/detail/
-include/boost/describe/detail/bases.hpp
-include/boost/describe/detail/compute_base_modifiers.hpp
-include/boost/describe/detail/config.hpp
-include/boost/describe/detail/list.hpp
-include/boost/describe/detail/members.hpp
-include/boost/describe/detail/pp_for_each.hpp
-include/boost/describe/detail/pp_utilities.hpp
-include/boost/describe/enum.hpp
-include/boost/describe/enumerators.hpp
-include/boost/describe/members.hpp
-include/boost/describe/modifiers.hpp
  include/boost/detail/
  include/boost/detail/algorithm.hpp
  include/boost/detail/allocator_utilities.hpp
@@ -2890,8 +2840,6 @@ include/boost/filesystem.hpp
  include/boost/filesystem/config.hpp
  include/boost/filesystem/convenience.hpp
  include/boost/filesystem/detail/
-include/boost/filesystem/detail/footer.hpp
-include/boost/filesystem/detail/header.hpp
  include/boost/filesystem/detail/macro_value.hpp
  include/boost/filesystem/detail/utf8_codecvt_facet.hpp
  include/boost/filesystem/directory.hpp
@@ -4289,7 +4237,9 @@ include/boost/geometry/algorithms/detail
  include/boost/geometry/algorithms/detail/disjoint/point_point.hpp
  include/boost/geometry/algorithms/detail/disjoint/segment_box.hpp
  include/boost/geometry/algorithms/detail/distance/
+include/boost/geometry/algorithms/detail/distance/backward_compatibility.hpp
  include/boost/geometry/algorithms/detail/distance/box_to_box.hpp
+include/boost/geometry/algorithms/detail/distance/default_strategies.hpp
  
include/boost/geometry/algorithms/detail/distance/geometry_to_segment_or_box.hpp
  include/boost/geometry/algorithms/detail/distance/implementation.hpp
  include/boost/geometry/algorithms/detail/distance/interface.hpp
@@ -4303,8 +4253,6 @@ include/boost/geometry/algorithms/detail
  include/boost/geometry/algorithms/detail/distance/range_to_geometry_rtree.hpp
  include/boost/geometry/algorithms/detail/distance/segment_to_box.hpp
  include/boost/geometry/algorithms/detail/distance/segment_to_segment.hpp
-include/boost/geometry/algorithms/detail/distance/strategy_utils.hpp
-include/boost/geometry/algorithms/detail/dummy_geometries.hpp
  include/boost/geometry/algorithms/detail/envelope/
  include/boost/geometry/algorithms/detail/envelope/areal.hpp
  include/boost/geometry/algorithms/detail/envelope/box.hpp
@@ -4390,7 +4338,6 @@ include/boost/geometry/algorithms/detail
  include/boost/geometry/algorithms/detail/overlay/add_rings.hpp
  include/boost/geometry/algorithms/detail/overlay/append_no_duplicates.hpp
  include/boost/geometry/algorithms/detail/overlay/append_no_dups_or_spikes.hpp
-include/boost/geometry/algorithms/detail/overlay/approximately_equals.hpp
  include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp
  include/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp
  include/boost/geometry/algorithms/detail/overlay/check_enrich.hpp
@@ -4401,13 +4348,11 @@ include/boost/geometry/algorithms/detail
  include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp
  include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp
  include/boost/geometry/algorithms/detail/overlay/debug_turn_info.hpp
-include/boost/geometry/algorithms/detail/overlay/discard_duplicate_turns.hpp
  include/boost/geometry/algorithms/detail/overlay/do_reverse.hpp
  
include/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp
  include/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp
  include/boost/geometry/algorithms/detail/overlay/follow.hpp
  include/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp
-include/boost/geometry/algorithms/detail/overlay/get_clusters.hpp
  include/boost/geometry/algorithms/detail/overlay/get_distance_measure.hpp
  include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
  include/boost/geometry/algorithms/detail/overlay/get_relative_order.hpp
@@ -4476,7 +4421,6 @@ include/boost/geometry/algorithms/detail
  include/boost/geometry/algorithms/detail/sections/section_box_policies.hpp
  include/boost/geometry/algorithms/detail/sections/section_functions.hpp
  include/boost/geometry/algorithms/detail/sections/sectionalize.hpp
-include/boost/geometry/algorithms/detail/select_geometry_type.hpp
  include/boost/geometry/algorithms/detail/signed_size_type.hpp
  include/boost/geometry/algorithms/detail/single_geometry.hpp
  include/boost/geometry/algorithms/detail/sub_range.hpp
@@ -4492,7 +4436,6 @@ include/boost/geometry/algorithms/detail
  include/boost/geometry/algorithms/detail/turns/filter_continue_turns.hpp
  include/boost/geometry/algorithms/detail/turns/print_turns.hpp
  include/boost/geometry/algorithms/detail/turns/remove_duplicate_turns.hpp
-include/boost/geometry/algorithms/detail/visit.hpp
  include/boost/geometry/algorithms/detail/within/
  include/boost/geometry/algorithms/detail/within/implementation.hpp
  include/boost/geometry/algorithms/detail/within/interface.hpp
@@ -4563,7 +4506,6 @@ include/boost/geometry/core/cs.hpp
  include/boost/geometry/core/exception.hpp
  include/boost/geometry/core/exterior_ring.hpp
  include/boost/geometry/core/geometry_id.hpp
-include/boost/geometry/core/geometry_types.hpp
  include/boost/geometry/core/interior_rings.hpp
  include/boost/geometry/core/interior_type.hpp
  include/boost/geometry/core/is_areal.hpp
@@ -4580,7 +4522,6 @@ include/boost/geometry/core/tag.hpp
  include/boost/geometry/core/tag_cast.hpp
  include/boost/geometry/core/tags.hpp
  include/boost/geometry/core/topological_dimension.hpp
-include/boost/geometry/core/visit.hpp
  include/boost/geometry/formulas/
  include/boost/geometry/formulas/andoyer_inverse.hpp
  include/boost/geometry/formulas/area_formulas.hpp
@@ -4612,7 +4553,6 @@ include/boost/geometry/formulas/vincenty
  include/boost/geometry/formulas/vincenty_inverse.hpp
  include/boost/geometry/geometries/
  include/boost/geometry/geometries/adapted/
-include/boost/geometry/geometries/adapted/boost_any.hpp
  include/boost/geometry/geometries/adapted/boost_array.hpp
  include/boost/geometry/geometries/adapted/boost_fusion.hpp
  include/boost/geometry/geometries/adapted/boost_polygon/
@@ -4632,22 +4572,13 @@ include/boost/geometry/geometries/adapte
  include/boost/geometry/geometries/adapted/boost_range/strided.hpp
  include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp
  include/boost/geometry/geometries/adapted/boost_tuple.hpp
-include/boost/geometry/geometries/adapted/boost_variant.hpp
-include/boost/geometry/geometries/adapted/boost_variant2.hpp
  include/boost/geometry/geometries/adapted/c_array.hpp
-include/boost/geometry/geometries/adapted/detail/
-include/boost/geometry/geometries/adapted/detail/any.hpp
-include/boost/geometry/geometries/adapted/std_any.hpp
  include/boost/geometry/geometries/adapted/std_array.hpp
  include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp
-include/boost/geometry/geometries/adapted/std_variant.hpp
  include/boost/geometry/geometries/box.hpp
  include/boost/geometry/geometries/concepts/
  include/boost/geometry/geometries/concepts/box_concept.hpp
  include/boost/geometry/geometries/concepts/check.hpp
-include/boost/geometry/geometries/concepts/concept_type.hpp
-include/boost/geometry/geometries/concepts/dynamic_geometry_concept.hpp
-include/boost/geometry/geometries/concepts/geometry_collection_concept.hpp
  include/boost/geometry/geometries/concepts/linestring_concept.hpp
  include/boost/geometry/geometries/concepts/multi_linestring_concept.hpp
  include/boost/geometry/geometries/concepts/multi_point_concept.hpp
@@ -4657,7 +4588,6 @@ include/boost/geometry/geometries/concep
  include/boost/geometry/geometries/concepts/ring_concept.hpp
  include/boost/geometry/geometries/concepts/segment_concept.hpp
  include/boost/geometry/geometries/geometries.hpp
-include/boost/geometry/geometries/geometry_collection.hpp
  include/boost/geometry/geometries/helper_geometry.hpp
  include/boost/geometry/geometries/infinite_line.hpp
  include/boost/geometry/geometries/linestring.hpp
@@ -4680,6 +4610,7 @@ include/boost/geometry/geometries/regist
  include/boost/geometry/geometries/register/segment.hpp
  include/boost/geometry/geometries/ring.hpp
  include/boost/geometry/geometries/segment.hpp
+include/boost/geometry/geometries/variant.hpp
  include/boost/geometry/geometry.hpp
  include/boost/geometry/index/
  include/boost/geometry/index/adaptors/
@@ -4795,11 +4726,10 @@ include/boost/geometry/io/wkt/stream.hpp
  include/boost/geometry/io/wkt/wkt.hpp
  include/boost/geometry/io/wkt/write.hpp
  include/boost/geometry/iterators/
+include/boost/geometry/iterators/base.hpp
  include/boost/geometry/iterators/closing_iterator.hpp
  include/boost/geometry/iterators/concatenate_iterator.hpp
  include/boost/geometry/iterators/detail/
-include/boost/geometry/iterators/detail/has_one_element.hpp
-include/boost/geometry/iterators/detail/iterator_base.hpp
  include/boost/geometry/iterators/detail/point_iterator/
  include/boost/geometry/iterators/detail/point_iterator/inner_range_type.hpp
  include/boost/geometry/iterators/detail/point_iterator/iterator_type.hpp
@@ -4813,6 +4743,7 @@ include/boost/geometry/iterators/dispatc
  include/boost/geometry/iterators/dispatch/segment_iterator.hpp
  include/boost/geometry/iterators/ever_circling_iterator.hpp
  include/boost/geometry/iterators/flatten_iterator.hpp
+include/boost/geometry/iterators/has_one_element.hpp
  include/boost/geometry/iterators/point_iterator.hpp
  include/boost/geometry/iterators/point_reverse_iterator.hpp
  include/boost/geometry/iterators/segment_iterator.hpp
@@ -4894,6 +4825,9 @@ include/boost/geometry/multi/multi.hpp
  include/boost/geometry/multi/strategies/
  include/boost/geometry/multi/strategies/cartesian/
  include/boost/geometry/multi/strategies/cartesian/centroid_average.hpp
+include/boost/geometry/multi/views/
+include/boost/geometry/multi/views/detail/
+include/boost/geometry/multi/views/detail/range_type.hpp
  include/boost/geometry/policies/
  include/boost/geometry/policies/compare.hpp
  include/boost/geometry/policies/disjoint_interrupt_policy.hpp
@@ -5104,12 +5038,7 @@ include/boost/geometry/strategies/azimut
  include/boost/geometry/strategies/azimuth/geographic.hpp
  include/boost/geometry/strategies/azimuth/services.hpp
  include/boost/geometry/strategies/azimuth/spherical.hpp
-include/boost/geometry/strategies/buffer/
  include/boost/geometry/strategies/buffer.hpp
-include/boost/geometry/strategies/buffer/cartesian.hpp
-include/boost/geometry/strategies/buffer/geographic.hpp
-include/boost/geometry/strategies/buffer/services.hpp
-include/boost/geometry/strategies/buffer/spherical.hpp
  include/boost/geometry/strategies/cartesian/
  include/boost/geometry/strategies/cartesian.hpp
  include/boost/geometry/strategies/cartesian/area.hpp
@@ -5154,12 +5083,7 @@ include/boost/geometry/strategies/cartes
  include/boost/geometry/strategies/cartesian/point_order.hpp
  include/boost/geometry/strategies/cartesian/side_by_triangle.hpp
  include/boost/geometry/strategies/cartesian/turn_in_ring_winding.hpp
-include/boost/geometry/strategies/centroid/
  include/boost/geometry/strategies/centroid.hpp
-include/boost/geometry/strategies/centroid/cartesian.hpp
-include/boost/geometry/strategies/centroid/geographic.hpp
-include/boost/geometry/strategies/centroid/services.hpp
-include/boost/geometry/strategies/centroid/spherical.hpp
  include/boost/geometry/strategies/comparable_distance_result.hpp
  include/boost/geometry/strategies/compare.hpp
  include/boost/geometry/strategies/concepts/
@@ -5182,28 +5106,10 @@ include/boost/geometry/strategies/defaul
  include/boost/geometry/strategies/default_distance_result.hpp
  include/boost/geometry/strategies/default_length_result.hpp
  include/boost/geometry/strategies/default_strategy.hpp
-include/boost/geometry/strategies/densify/
  include/boost/geometry/strategies/densify.hpp
-include/boost/geometry/strategies/densify/cartesian.hpp
-include/boost/geometry/strategies/densify/geographic.hpp
-include/boost/geometry/strategies/densify/services.hpp
-include/boost/geometry/strategies/densify/spherical.hpp
  include/boost/geometry/strategies/detail.hpp
-include/boost/geometry/strategies/discrete_distance/
-include/boost/geometry/strategies/discrete_distance/cartesian.hpp
-include/boost/geometry/strategies/discrete_distance/geographic.hpp
-include/boost/geometry/strategies/discrete_distance/services.hpp
-include/boost/geometry/strategies/discrete_distance/spherical.hpp
  include/boost/geometry/strategies/disjoint.hpp
-include/boost/geometry/strategies/distance/
  include/boost/geometry/strategies/distance.hpp
-include/boost/geometry/strategies/distance/backward_compatibility.hpp
-include/boost/geometry/strategies/distance/cartesian.hpp
-include/boost/geometry/strategies/distance/comparable.hpp
-include/boost/geometry/strategies/distance/detail.hpp
-include/boost/geometry/strategies/distance/geographic.hpp
-include/boost/geometry/strategies/distance/services.hpp
-include/boost/geometry/strategies/distance/spherical.hpp
  include/boost/geometry/strategies/distance_result.hpp
  include/boost/geometry/strategies/envelope/
  include/boost/geometry/strategies/envelope.hpp
@@ -5260,22 +5166,7 @@ include/boost/geometry/strategies/io/car
  include/boost/geometry/strategies/io/geographic.hpp
  include/boost/geometry/strategies/io/services.hpp
  include/boost/geometry/strategies/io/spherical.hpp
-include/boost/geometry/strategies/is_convex/
-include/boost/geometry/strategies/is_convex/cartesian.hpp
-include/boost/geometry/strategies/is_convex/geographic.hpp
-include/boost/geometry/strategies/is_convex/services.hpp
-include/boost/geometry/strategies/is_convex/spherical.hpp
-include/boost/geometry/strategies/length/
-include/boost/geometry/strategies/length/cartesian.hpp
-include/boost/geometry/strategies/length/geographic.hpp
-include/boost/geometry/strategies/length/services.hpp
-include/boost/geometry/strategies/length/spherical.hpp
-include/boost/geometry/strategies/line_interpolate/
  include/boost/geometry/strategies/line_interpolate.hpp
-include/boost/geometry/strategies/line_interpolate/cartesian.hpp
-include/boost/geometry/strategies/line_interpolate/geographic.hpp
-include/boost/geometry/strategies/line_interpolate/services.hpp
-include/boost/geometry/strategies/line_interpolate/spherical.hpp
  include/boost/geometry/strategies/normalize.hpp
  include/boost/geometry/strategies/point_order.hpp
  include/boost/geometry/strategies/relate/
@@ -5286,11 +5177,6 @@ include/boost/geometry/strategies/relate
  include/boost/geometry/strategies/relate/spherical.hpp
  include/boost/geometry/strategies/side.hpp
  include/boost/geometry/strategies/side_info.hpp
-include/boost/geometry/strategies/simplify/
-include/boost/geometry/strategies/simplify/cartesian.hpp
-include/boost/geometry/strategies/simplify/geographic.hpp
-include/boost/geometry/strategies/simplify/services.hpp
-include/boost/geometry/strategies/simplify/spherical.hpp
  include/boost/geometry/strategies/spherical/
  include/boost/geometry/strategies/spherical.hpp
  include/boost/geometry/strategies/spherical/area.hpp
@@ -5334,7 +5220,6 @@ include/boost/geometry/strategy/
  include/boost/geometry/strategy/area.hpp
  include/boost/geometry/strategy/cartesian/
  include/boost/geometry/strategy/cartesian/area.hpp
-include/boost/geometry/strategy/cartesian/area_box.hpp
  include/boost/geometry/strategy/cartesian/envelope.hpp
  include/boost/geometry/strategy/cartesian/envelope_box.hpp
  include/boost/geometry/strategy/cartesian/envelope_multipoint.hpp
@@ -5351,14 +5236,12 @@ include/boost/geometry/strategy/envelope
  include/boost/geometry/strategy/expand.hpp
  include/boost/geometry/strategy/geographic/
  include/boost/geometry/strategy/geographic/area.hpp
-include/boost/geometry/strategy/geographic/area_box.hpp
  include/boost/geometry/strategy/geographic/envelope.hpp
  include/boost/geometry/strategy/geographic/envelope_segment.hpp
  include/boost/geometry/strategy/geographic/expand_segment.hpp
  include/boost/geometry/strategy/relate.hpp
  include/boost/geometry/strategy/spherical/
  include/boost/geometry/strategy/spherical/area.hpp
-include/boost/geometry/strategy/spherical/area_box.hpp
  include/boost/geometry/strategy/spherical/envelope.hpp
  include/boost/geometry/strategy/spherical/envelope_box.hpp
  include/boost/geometry/strategy/spherical/envelope_multipoint.hpp
@@ -5369,7 +5252,6 @@ include/boost/geometry/strategy/spherica
  include/boost/geometry/strategy/spherical/expand_segment.hpp
  include/boost/geometry/util/
  include/boost/geometry/util/add_const_if_c.hpp
-include/boost/geometry/util/algorithm.hpp
  include/boost/geometry/util/bare_type.hpp
  include/boost/geometry/util/calculation_type.hpp
  include/boost/geometry/util/closure_as_bool.hpp
@@ -5409,8 +5291,10 @@ include/boost/geometry/views/detail/boun
  include/boost/geometry/views/detail/boundary_view.hpp
  include/boost/geometry/views/detail/boundary_view/implementation.hpp
  include/boost/geometry/views/detail/boundary_view/interface.hpp
-include/boost/geometry/views/detail/closed_clockwise_view.hpp
  include/boost/geometry/views/detail/indexed_point_view.hpp
+include/boost/geometry/views/detail/normalized_view.hpp
+include/boost/geometry/views/detail/points_view.hpp
+include/boost/geometry/views/detail/range_type.hpp
  include/boost/geometry/views/detail/two_dimensional_view.hpp
  include/boost/geometry/views/identity_view.hpp
  include/boost/geometry/views/reversible_view.hpp
@@ -6398,7 +6282,6 @@ include/boost/histogram.hpp
  include/boost/histogram/accumulators/
  include/boost/histogram/accumulators.hpp
  include/boost/histogram/accumulators/count.hpp
-include/boost/histogram/accumulators/is_thread_safe.hpp
  include/boost/histogram/accumulators/mean.hpp
  include/boost/histogram/accumulators/ostream.hpp
  include/boost/histogram/accumulators/sum.hpp
@@ -6431,17 +6314,13 @@ include/boost/histogram/detail/accumulat
  include/boost/histogram/detail/args_type.hpp
  include/boost/histogram/detail/argument_traits.hpp
  include/boost/histogram/detail/array_wrapper.hpp
-include/boost/histogram/detail/atomic_number.hpp
  include/boost/histogram/detail/axes.hpp
  include/boost/histogram/detail/common_type.hpp
  include/boost/histogram/detail/convert_integer.hpp
  include/boost/histogram/detail/counting_streambuf.hpp
-include/boost/histogram/detail/debug.hpp
  include/boost/histogram/detail/detect.hpp
  include/boost/histogram/detail/fill.hpp
  include/boost/histogram/detail/fill_n.hpp
-include/boost/histogram/detail/ignore_deprecation_warning_begin.hpp
-include/boost/histogram/detail/ignore_deprecation_warning_end.hpp
  include/boost/histogram/detail/index_translator.hpp
  include/boost/histogram/detail/iterator_adaptor.hpp
  include/boost/histogram/detail/large_int.hpp
@@ -6462,7 +6341,6 @@ include/boost/histogram/detail/span.hpp
  include/boost/histogram/detail/square.hpp
  include/boost/histogram/detail/static_if.hpp
  include/boost/histogram/detail/sub_array.hpp
-include/boost/histogram/detail/term_info.hpp
  include/boost/histogram/detail/try_cast.hpp
  include/boost/histogram/detail/tuple_slice.hpp
  include/boost/histogram/detail/type_name.hpp
@@ -6751,12 +6629,13 @@ include/boost/interprocess/detail/os_fil
  include/boost/interprocess/detail/os_thread_functions.hpp
  include/boost/interprocess/detail/pointer_type.hpp
  include/boost/interprocess/detail/portable_intermodule_singleton.hpp
+include/boost/interprocess/detail/posix_time_types_wrk.hpp
+include/boost/interprocess/detail/ptime_wrk.hpp
  include/boost/interprocess/detail/robust_emulation.hpp
  include/boost/interprocess/detail/segment_manager_helper.hpp
  include/boost/interprocess/detail/shared_dir_helpers.hpp
  include/boost/interprocess/detail/simple_swap.hpp
  include/boost/interprocess/detail/std_fwd.hpp
-include/boost/interprocess/detail/timed_utils.hpp
  include/boost/interprocess/detail/transform_iterator.hpp
  include/boost/interprocess/detail/type_traits.hpp
  include/boost/interprocess/detail/utilities.hpp
@@ -6842,10 +6721,10 @@ include/boost/interprocess/sync/posix/mu
  include/boost/interprocess/sync/posix/named_mutex.hpp
  include/boost/interprocess/sync/posix/named_semaphore.hpp
  include/boost/interprocess/sync/posix/pthread_helpers.hpp
+include/boost/interprocess/sync/posix/ptime_to_timespec.hpp
  include/boost/interprocess/sync/posix/recursive_mutex.hpp
  include/boost/interprocess/sync/posix/semaphore.hpp
  include/boost/interprocess/sync/posix/semaphore_wrapper.hpp
-include/boost/interprocess/sync/posix/timepoint_to_timespec.hpp
  include/boost/interprocess/sync/scoped_lock.hpp
  include/boost/interprocess/sync/sharable_lock.hpp
  include/boost/interprocess/sync/shm/
@@ -7172,7 +7051,6 @@ include/boost/json/detail/digest.hpp
  include/boost/json/detail/except.hpp
  include/boost/json/detail/format.hpp
  include/boost/json/detail/handler.hpp
-include/boost/json/detail/hash_combine.hpp
  include/boost/json/detail/impl/
  include/boost/json/detail/impl/array.hpp
  include/boost/json/detail/impl/default_resource.ipp
@@ -7182,7 +7060,6 @@ include/boost/json/detail/impl/handler.i
  include/boost/json/detail/impl/shared_resource.ipp
  include/boost/json/detail/impl/stack.ipp
  include/boost/json/detail/impl/string_impl.ipp
-include/boost/json/detail/index_sequence.hpp
  include/boost/json/detail/object.hpp
  include/boost/json/detail/ryu/
  include/boost/json/detail/ryu/detail/
@@ -7289,9 +7166,6 @@ include/boost/lambda/lambda.hpp
  include/boost/lambda/loops.hpp
  include/boost/lambda/numeric.hpp
  include/boost/lambda/switch.hpp
-include/boost/lambda2/
-include/boost/lambda2.hpp
-include/boost/lambda2/lambda2.hpp
  include/boost/leaf/
  include/boost/leaf.hpp
  include/boost/leaf/capture.hpp
@@ -7813,7 +7687,6 @@ include/boost/math/filters/
  include/boost/math/filters/daubechies.hpp
  include/boost/math/interpolators/
  include/boost/math/interpolators/barycentric_rational.hpp
-include/boost/math/interpolators/bilinear_uniform.hpp
  include/boost/math/interpolators/cardinal_cubic_b_spline.hpp
  include/boost/math/interpolators/cardinal_quadratic_b_spline.hpp
  include/boost/math/interpolators/cardinal_quintic_b_spline.hpp
@@ -7823,7 +7696,6 @@ include/boost/math/interpolators/cubic_b
  include/boost/math/interpolators/cubic_hermite.hpp
  include/boost/math/interpolators/detail/
  include/boost/math/interpolators/detail/barycentric_rational_detail.hpp
-include/boost/math/interpolators/detail/bilinear_uniform_detail.hpp
  include/boost/math/interpolators/detail/cardinal_cubic_b_spline_detail.hpp
  include/boost/math/interpolators/detail/cardinal_quadratic_b_spline_detail.hpp
  include/boost/math/interpolators/detail/cardinal_quintic_b_spline_detail.hpp
@@ -7951,7 +7823,6 @@ include/boost/math/special_functions/erf
  include/boost/math/special_functions/expint.hpp
  include/boost/math/special_functions/expm1.hpp
  include/boost/math/special_functions/factorials.hpp
-include/boost/math/special_functions/fibonacci.hpp
  include/boost/math/special_functions/fpclassify.hpp
  include/boost/math/special_functions/gamma.hpp
  include/boost/math/special_functions/gegenbauer.hpp
@@ -8010,7 +7881,6 @@ include/boost/math/statistics/univariate
  include/boost/math/statistics/z_test.hpp
  include/boost/math/tools/
  include/boost/math/tools/agm.hpp
-include/boost/math/tools/assert.hpp
  include/boost/math/tools/atomic.hpp
  include/boost/math/tools/big_constant.hpp
  include/boost/math/tools/bivariate_statistics.hpp
@@ -8139,10 +8009,6 @@ include/boost/math/tools/detail/rational
  include/boost/math/tools/detail/rational_horner3_9.hpp
  include/boost/math/tools/engel_expansion.hpp
  include/boost/math/tools/fraction.hpp
-include/boost/math/tools/header_deprecated.hpp
-include/boost/math/tools/is_detected.hpp
-include/boost/math/tools/is_standalone.hpp
-include/boost/math/tools/lexical_cast.hpp
  include/boost/math/tools/luroth_expansion.hpp
  include/boost/math/tools/minima.hpp
  include/boost/math/tools/mp.hpp
@@ -8162,7 +8028,6 @@ include/boost/math/tools/signal_statisti
  include/boost/math/tools/simple_continued_fraction.hpp
  include/boost/math/tools/stats.hpp
  include/boost/math/tools/test_value.hpp
-include/boost/math/tools/throw_exception.hpp
  include/boost/math/tools/toms748_solve.hpp
  include/boost/math/tools/traits.hpp
  include/boost/math/tools/tuple.hpp
@@ -9935,6 +9800,7 @@ include/boost/multiprecision/cpp_int/val
  include/boost/multiprecision/debug_adaptor.hpp
  include/boost/multiprecision/detail/
  include/boost/multiprecision/detail/atomic.hpp
+include/boost/multiprecision/detail/big_lanczos.hpp
  include/boost/multiprecision/detail/bitscan.hpp
  include/boost/multiprecision/detail/constexpr.hpp
  include/boost/multiprecision/detail/default_ops.hpp
@@ -9947,7 +9813,6 @@ include/boost/multiprecision/detail/func
  include/boost/multiprecision/detail/functions/pow.hpp
  include/boost/multiprecision/detail/functions/trig.hpp
  include/boost/multiprecision/detail/generic_interconvert.hpp
-include/boost/multiprecision/detail/hash.hpp
  include/boost/multiprecision/detail/integer_ops.hpp
  include/boost/multiprecision/detail/itos.hpp
  include/boost/multiprecision/detail/min_max.hpp
@@ -9956,8 +9821,6 @@ include/boost/multiprecision/detail/numb
  include/boost/multiprecision/detail/number_compare.hpp
  include/boost/multiprecision/detail/precision.hpp
  include/boost/multiprecision/detail/rebind.hpp
-include/boost/multiprecision/detail/static_array.hpp
-include/boost/multiprecision/detail/tables.hpp
  include/boost/multiprecision/detail/ublas_interop.hpp
  include/boost/multiprecision/detail/utype_helper.hpp
  include/boost/multiprecision/eigen.hpp
@@ -14446,7 +14309,6 @@ include/boost/static_string.hpp
  include/boost/static_string/config.hpp
  include/boost/static_string/static_string.hpp
  include/boost/stl_interfaces/
-include/boost/stl_interfaces/config.hpp
  include/boost/stl_interfaces/fwd.hpp
  include/boost/stl_interfaces/iterator_interface.hpp
  include/boost/stl_interfaces/reverse_iterator.hpp
@@ -14454,7 +14316,6 @@ include/boost/stl_interfaces/sequence_co
  include/boost/stl_interfaces/view_interface.hpp
  include/boost/swap.hpp
  include/boost/system/
-include/boost/system.hpp
  include/boost/system/api_config.hpp
  include/boost/system/config.hpp
  include/boost/system/cygwin_error.hpp
@@ -14469,15 +14330,13 @@ include/boost/system/detail/error_code.h
  include/boost/system/detail/error_condition.hpp
  include/boost/system/detail/generic_category.hpp
  include/boost/system/detail/generic_category_message.hpp
-include/boost/system/detail/interop_category.hpp
-include/boost/system/detail/is_same.hpp
-include/boost/system/detail/snprintf.hpp
-include/boost/system/detail/std_category.hpp
+include/boost/system/detail/is_generic_value.hpp
  include/boost/system/detail/system_category.hpp
  include/boost/system/detail/system_category_condition_win32.hpp
  include/boost/system/detail/system_category_impl.hpp
  include/boost/system/detail/system_category_message_win32.hpp
  include/boost/system/detail/throws.hpp
+include/boost/system/detail/to_std_category.hpp
  include/boost/system/errc.hpp
  include/boost/system/error_category.hpp
  include/boost/system/error_code.hpp
@@ -15623,7 +15482,6 @@ include/boost/utility/detail/in_place_fa
  include/boost/utility/detail/in_place_factory_suffix.hpp
  include/boost/utility/detail/minstd_rand.hpp
  include/boost/utility/detail/result_of_iterate.hpp
-include/boost/utility/detail/result_of_variadic.hpp
  include/boost/utility/enable_if.hpp
  include/boost/utility/explicit_operator_bool.hpp
  include/boost/utility/identity_type.hpp


Reply via email to