<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f84fa6745d9d0f9e15b80e384e315e828539ec73">https://github.com/macports/macports-ports/commit/f84fa6745d9d0f9e15b80e384e315e828539ec73</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new f84fa6745d9 boost1{76..80}: add upstream patch for clang16/cxx17 Fixes: https://trac.macports.org/ticket/67324
</span>f84fa6745d9 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f84fa6745d9d0f9e15b80e384e315e828539ec73
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Mon May 29 08:45:38 2023 -0400

<span style='display:block; white-space:pre;color:#404040;'>    boost1{76..80}: add upstream patch for clang16/cxx17
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/67324
</span>---
 devel/boost176/Portfile                            |  6 +-
 .../files/patch-boost-clang16-cpp17-compat.diff    | 85 ++++++++++++++++++++++
 devel/boost177/Portfile                            |  6 +-
 .../files/patch-boost-clang16-cpp17-compat.diff    | 85 ++++++++++++++++++++++
 devel/boost178/Portfile                            |  6 +-
 .../files/patch-boost-clang16-cpp17-compat.diff    | 85 ++++++++++++++++++++++
 devel/boost179/Portfile                            |  6 +-
 .../files/patch-boost-clang16-cpp17-compat.diff    | 85 ++++++++++++++++++++++
 devel/boost180/Portfile                            |  6 +-
 .../files/patch-boost-clang16-cpp17-compat.diff    | 85 ++++++++++++++++++++++
 10 files changed, 450 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/Portfile b/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ae3c702d13c..21b0e502352 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,6 +125,10 @@ post-patch {
</span> # ld: internal error: atom not found in symbolIndex(__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_SB_) for architecture x86_64
 patchfiles-append patch-b2-build-older-OSes.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream fix to allow building Boost with Clang 16+. Included in versions v181+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/67324
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc write_jam s {
     global worksrcpath
     set config [open ${worksrcpath}/user-config.jam a]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -359,7 +363,7 @@ subport ${name}-numpy {
</span> 
 if {$subport eq $name} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 9
</span> 
     patchfiles-append patch-disable-numpy-extension.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-boost-clang16-cpp17-compat.diff b/devel/boost176/files/patch-boost-clang16-cpp17-compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..109719cb76e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp.orig    2023-05-02 17:53:04.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp 2023-05-02 19:47:26.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if _LIBCPP_VERSION >= 15000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Unary function is now deprecated in C++11 and later:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BOOST_NO_CXX98_FUNCTION_BASE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  --- end ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/int_float_mixture.hpp.orig     2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/int_float_mixture.hpp  2023-05-02 18:34:05.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/int_float_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'IntFloatMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/sign_mixture.hpp.orig  2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/sign_mixture.hpp       2023-05-02 18:35:21.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'SignMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/udt_builtin_mixture.hpp.orig   2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/udt_builtin_mixture.hpp        2023-05-02 18:36:25.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,15 +15,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'UdtMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost177/Portfile b/devel/boost177/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2aa27bc47ba..4d2319cb5d9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost177/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost177/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,6 +126,10 @@ post-patch {
</span> # ld: internal error: atom not found in symbolIndex(__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_SB_) for architecture x86_64
 patchfiles-append patch-b2-build-older-OSes.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream fix to allow building Boost with Clang 16+. Included in versions v181+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/67324
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc write_jam s {
     global worksrcpath
     set config [open ${worksrcpath}/user-config.jam a]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -360,7 +364,7 @@ subport ${name}-numpy {
</span> 
 if {$subport eq $name} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 6
</span> 
     patchfiles-append patch-disable-numpy-extension.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost177/files/patch-boost-clang16-cpp17-compat.diff b/devel/boost177/files/patch-boost-clang16-cpp17-compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..109719cb76e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost177/files/patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp.orig    2023-05-02 17:53:04.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp 2023-05-02 19:47:26.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if _LIBCPP_VERSION >= 15000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Unary function is now deprecated in C++11 and later:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BOOST_NO_CXX98_FUNCTION_BASE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  --- end ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/int_float_mixture.hpp.orig     2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/int_float_mixture.hpp  2023-05-02 18:34:05.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/int_float_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'IntFloatMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/sign_mixture.hpp.orig  2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/sign_mixture.hpp       2023-05-02 18:35:21.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'SignMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/udt_builtin_mixture.hpp.orig   2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/udt_builtin_mixture.hpp        2023-05-02 18:36:25.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,15 +15,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'UdtMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost178/Portfile b/devel/boost178/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3d6d03b9fab..24be2369e33 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost178/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost178/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,6 +126,10 @@ post-patch {
</span> # ld: internal error: atom not found in symbolIndex(__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_SB_) for architecture x86_64
 patchfiles-append patch-b2-build-older-OSes.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream fix to allow building Boost with Clang 16+. Included in versions v181+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/67324
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc write_jam s {
     global worksrcpath
     set config [open ${worksrcpath}/user-config.jam a]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -360,7 +364,7 @@ subport ${name}-numpy {
</span> 
 if {$subport eq $name} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 6
</span> 
     patchfiles-append patch-disable-numpy-extension.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost178/files/patch-boost-clang16-cpp17-compat.diff b/devel/boost178/files/patch-boost-clang16-cpp17-compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..109719cb76e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost178/files/patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp.orig    2023-05-02 17:53:04.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp 2023-05-02 19:47:26.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if _LIBCPP_VERSION >= 15000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Unary function is now deprecated in C++11 and later:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BOOST_NO_CXX98_FUNCTION_BASE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  --- end ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/int_float_mixture.hpp.orig     2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/int_float_mixture.hpp  2023-05-02 18:34:05.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/int_float_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'IntFloatMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/sign_mixture.hpp.orig  2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/sign_mixture.hpp       2023-05-02 18:35:21.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'SignMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/udt_builtin_mixture.hpp.orig   2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/udt_builtin_mixture.hpp        2023-05-02 18:36:25.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,15 +15,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'UdtMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost179/Portfile b/devel/boost179/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4fe65fac3b2..b86ba01b511 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost179/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost179/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,6 +126,10 @@ post-patch {
</span> # ld: internal error: atom not found in symbolIndex(__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_SB_) for architecture x86_64
 patchfiles-append patch-b2-build-older-OSes.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream fix to allow building Boost with Clang 16+. Included in versions v181+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/67324
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc write_jam s {
     global worksrcpath
     set config [open ${worksrcpath}/user-config.jam a]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -360,7 +364,7 @@ subport ${name}-numpy {
</span> 
 if {$subport eq $name} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 6
</span> 
     patchfiles-append patch-disable-numpy-extension.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost179/files/patch-boost-clang16-cpp17-compat.diff b/devel/boost179/files/patch-boost-clang16-cpp17-compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..109719cb76e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost179/files/patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp.orig    2023-05-02 17:53:04.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp 2023-05-02 19:47:26.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if _LIBCPP_VERSION >= 15000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Unary function is now deprecated in C++11 and later:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BOOST_NO_CXX98_FUNCTION_BASE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  --- end ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/int_float_mixture.hpp.orig     2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/int_float_mixture.hpp  2023-05-02 18:34:05.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/int_float_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'IntFloatMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/sign_mixture.hpp.orig  2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/sign_mixture.hpp       2023-05-02 18:35:21.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'SignMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/udt_builtin_mixture.hpp.orig   2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/udt_builtin_mixture.hpp        2023-05-02 18:36:25.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,15 +15,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'UdtMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost180/Portfile b/devel/boost180/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 281e1b466a3..6fa038c05f0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost180/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost180/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,6 +126,10 @@ post-patch {
</span> # ld: internal error: atom not found in symbolIndex(__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_SB_) for architecture x86_64
 patchfiles-append patch-b2-build-older-OSes.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream fix to allow building Boost with Clang 16+. Included in versions v181+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/67324
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc write_jam s {
     global worksrcpath
     set config [open ${worksrcpath}/user-config.jam a]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -360,7 +364,7 @@ subport ${name}-numpy {
</span> 
 if {$subport eq $name} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 6
</span> 
     patchfiles-append patch-disable-numpy-extension.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost180/files/patch-boost-clang16-cpp17-compat.diff b/devel/boost180/files/patch-boost-clang16-cpp17-compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..109719cb76e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost180/files/patch-boost-clang16-cpp17-compat.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp.orig    2023-05-02 17:53:04.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp 2023-05-02 19:47:26.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,4 +166,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if _LIBCPP_VERSION >= 15000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Unary function is now deprecated in C++11 and later:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus >= 201103L
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BOOST_NO_CXX98_FUNCTION_BASE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  --- end ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/int_float_mixture.hpp.orig     2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/int_float_mixture.hpp  2023-05-02 18:34:05.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/int_float_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'IntFloatMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, integral_to_float>    int2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_integral>    float2int_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<int_float_mixture_enum, float_to_float>       float2float_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/sign_mixture.hpp.orig  2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/sign_mixture.hpp       2023-05-02 18:35:21.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,15 +16,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'SignMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/numeric/conversion/detail/udt_builtin_mixture.hpp.orig   2023-03-02 21:34:55.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/numeric/conversion/detail/udt_builtin_mixture.hpp        2023-05-02 18:36:25.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,15 +15,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "boost/numeric/conversion/detail/meta.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "boost/mpl/integral_c.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "boost/type_traits/integral_constant.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace numeric { namespace convdetail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Integral Constants for 'UdtMixture'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Metafunction:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span></pre><pre style='margin:0'>

</pre>