I am ok with this, but the following ports will need adjusting due to pkgspecs on particular boost versions:

archivers/innoextract
audio/py-tagpy,python3
devel/leatherman
games/arx-libertatis
games/freeorion
games/valyriatear
games/vegastrike/engine
games/wesnoth
graphics/hugin
graphics/mapnik
net/libtorrent-rasterbar
sysutils/facter

I would suggest just removing the version checks (and bumping).

I think the tight deps are often more trouble than they're worth, it's not like we support building from a mixture of old installed packages and newer ports tree anyway. They're useful if there are multiple versions of the same software in-tree and we need to depend on a particular version, or if there's a tight binding (like in irssi/dovecot where plugins must match the version exactly), or defensively to protect against updating a dependency to a version that is known to not be supported. But to ensure that a dependency is at a minimum version seems not worthwhile.

--
 Sent from a phone, apologies for poor formatting.

On 18 September 2021 07:44:46 Rafael Sadowski <raf...@sizeofvoid.org> 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?


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