<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1105d6daa06d1c4a7f135bcf31574cf2ce11705e">https://github.com/macports/macports-ports/commit/1105d6daa06d1c4a7f135bcf31574cf2ce11705e</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 1105d6daa06 boost181: new port
</span>1105d6daa06 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1105d6daa06d1c4a7f135bcf31574cf2ce11705e
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Thu Dec 15 08:47:12 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    boost181: new port
</span>---
 devel/boost181/Portfile                            | 531 +++++++++++++++++++++
 .../files/patch-apple-clang-no-libcxx.diff         |  35 ++
 .../boost181/files/patch-b2-build-older-OSes.diff  |  11 +
 .../patch-boost-libcpp-force-thread-local-off.diff |  13 +
 devel/boost181/files/patch-boost-python3.diff      |  22 +
 devel/boost181/files/patch-compiler.diff           |  11 +
 .../files/patch-disable-numpy-extension.diff       |  22 +
 ...alization_explicit_template_instantiations.diff | 512 ++++++++++++++++++++
 .../files/patch-libs-mpi-build-Jamfile.v2.diff     |  26 +
 .../files/patch-revert-lib-name-tagged.diff        |  11 +
 devel/boost181/files/patch-tiger-availability.diff |  11 +
 .../patch-tools-build-src-tools-python-2.jam.diff  |  16 +
 .../patch-tools-build-src-tools-python.jam.diff    |  11 +
 13 files changed, 1232 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/Portfile b/devel/boost181/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2c123dea0b1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,531 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem      1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       mpi 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version         1.81.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set branch      [join [lrange [split ${version} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set tag         [string map {. {}} ${branch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name            boost${tag}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Revision is set below in the `if {$subport eq $name} { ... }` statement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The boost-numpy subport has its own revision number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160  784dba4c7623124bd9dfe31168f376efb38640ee \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    118797750
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license         Boost-1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories      devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms       darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers     {michaelld @michaelld} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                {mascguy @mascguy} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description     Collection of portable C++ source libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Boost provides free portable peer-reviewed C++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    libraries. The emphasis is on portable libraries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    which work well with the C++ Standard Library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage        http://www.boost.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites    https://boostorg.jfrog.io/artifactory/main/release/${version}/source/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set distver     [join [split ${version} .] _]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname        boost_${distver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_bzip2       yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard     2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 1000}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:bzip2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:expat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:libiconv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:lzma \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:zstd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse dir ${workpath} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file isdirectory ${dir}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file attributes ${dir} -permissions a+rx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Enforce correct compiler and flags are used to build b2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${workpath}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s ${configure.cxx} ${workpath}/bin/clang++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s ${configure.cc}  ${workpath}/bin/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Also link gcc/g++ for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/63120
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s ${configure.cxx} ${workpath}/bin/g++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s ${configure.cc}  ${workpath}/bin/gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append  PATH=${workpath}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append      PATH=${workpath}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Install prefix for this port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set bprefix ${prefix}/libexec/boost/${branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# patch-apple-clang-no-libcxx.diff fixes a clang configuration error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# that occurs on OS X 10.7 and 10.8 due to the assumption that if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clang is the compiler in use it must be using libc++.  Apple Clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# uses libstdc++ by default on these OS versions.  The patch adds an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# additional BOOST_* configuration flag that is set if Apple clang is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# being used but libc++ is not.  This flag is then used to prevent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boost or a dependent package from using functions such as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# std::forward that are only available in libc++.  Fixes build of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libcdr on these OS versions without affecting build on 10.6 and less
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (where clang is not the default compiler) or 10.9 and up (where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libc++ is the default).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-apple-clang-no-libcxx.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libcxxabi installed by the libcxx port on the buildbot does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# have the cxa_thread_atexit support, so until this is fixed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# we have to force thread_local off on < 10.7 when using libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-libcpp-force-thread-local-off.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# temporary patch to fix: explicit template instanciations in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boost::serialization don't get exported with all compilers; this fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# is already in the boost repo & will be part of a future release. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# also the following tickets:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/48717
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://svn.boost.org/trac/boost/ticket/11671
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-export_serialization_explicit_template_instantiations.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# revert the default tagged library name changes in 1.69.0 <
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libboost_<component>-<threading>-<arch>.dylib > back to 1.68.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# format: libboost_<component>-<threading>.dylib; where <component> is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the component name (e.g., system, thread), <threading> is either mt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# or st (multi or single), and <arch> is the build arch (x86, x64,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# p64, p32).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-revert-lib-name-tagged.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Availability.h -> AvailabilityMacros.h on Tiger
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The attempted fix:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/boostorg/core/commit/128d9314d6f814930400c46c9afd34399d19132b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# is insufficient because GCC 6/7 still defines __cpp_lib_uncaught_exceptions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# in the absence of __STRICT_ANSI__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-tiger-availability.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://trac.macports.org/wiki/UsingTheRightCompiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|__MACPORTS_CXX__|${configure.cxx}|g" ${worksrcpath}/tools/build/src/tools/clang-darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build issue on some older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ld: warning: option -s is obsolete and being ignored
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ld: internal error: atom not found in symbolIndex(__ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_SB_) for architecture x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-b2-build-older-OSes.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc write_jam s {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global worksrcpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set config [open ${worksrcpath}/user-config.jam a]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${config} ${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    close ${config}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.choose   cc cxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpi.setup          -gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE: although technically Boost does not require C++11 compliance
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# for building, doing so allows for building on more OSs than without.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Further: Building Boost using C++11 compliance does not seem to then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# require ports depending on Boost to also require C++11 compliance,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and requiring it does make such building easier for those ports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-append -std=gnu++11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This flag fixes the return type of unsetenv(3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See: https://trac.macports.org/ticket/63121
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append -D__DARWIN_UNIX03=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It turns out that ccache and distcc can produce boost libraries that, although they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# compile without warning, have all sorts of runtime errors especially with pointer corruption.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Since most people will now use MacPorts' pre-compiled boost, this should not be a problem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ccache    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.distcc    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cmd       ./bootstrap.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --without-libraries=python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --without-libraries=mpi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-icu=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boost build scripts default to clang on darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --with-toolset=gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# makecontext/swapcontext introduced in 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# In 10.6.x Rosetta they do not work: https://trac.macports.org/ticket/64978
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} < 10 || (${os.major} == 10 && ${build_arch} eq "ppc")} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append   --without-libraries=context \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                --without-libraries=coroutine
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|-install_name \"|&${bprefix}/lib/|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/tools/build/src/tools/darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set compileflags ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string length ${configure.sdkroot}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set compileflags "<compileflags>\"-isysroot ${configure.sdkroot}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set cxx_stdlibflags {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/55857
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://svn.boost.org/trac10/ticket/13454
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    write_jam "using darwin : : ${configure.cxx} : <asmflags>\"${configure.cflags} [get_canonical_archflags cc]\" <cflags>\"${configure.cflags} [get_canonical_archflags cc]\" <cxxflags>\"${configure.cxxflags} [get_canonical_archflags cxx] ${cxx_stdlibflags}\" ${compileflags} <linkflags>\"${configure.ldflags} ${cxx_stdlibflags}\" : ;"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd       ${worksrcpath}/b2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args      -d2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --layout=tagged \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --debug-configuration \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --user-config=user-config.jam \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sBZIP2_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sBZIP2_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sEXPAT_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sEXPAT_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sZLIB_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sZLIB_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sICU_PATH=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                variant=release \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                threading=single,multi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                link=static,shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                runtime-link=shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -j${build.jobs} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --no-cmake-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.cmd    ${worksrcpath}/b2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.post_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.args {*}${build.args} --prefix=${destroot}${bprefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "find ${worksrcpath} -type f -name '*.gch' -exec rm {} \\;"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc boost_docs_install {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global bprefix destroot worksrcpath name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${bprefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set l [expr [string length ${worksrcpath}] + 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f [glob -directory ${worksrcpath} *] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set dest ${destroot}${docdir}/[string range ${f} ${l} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file isdirectory ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[file tail ${f}] eq "example"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                copy ${f} ${dest}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -d ${dest}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {[lsearch -exact {css htm html png svg} [string range [file extension ${f}] 1 end]] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 644 ${f} ${dest}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset docs]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        boost_docs_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_versions {2.7 3.5 3.6 3.7 3.8 3.9 3.10 3.11}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_ports {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend pythons_ports python[string map {. {}} ${v}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc python_dir {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global pythons_versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach p ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set s [string map {. {}} ${p}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return [file normalize [exec ${p} -c "import sys; print(sys.prefix)"]/lib/${p}/site-packages]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    error "Python support not enabled."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set s [string map {. {}} ${v}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set p python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set i [lsearch -exact ${pythons_ports} ${p}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set c [lreplace ${pythons_ports} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${s} > 30 } { set bppatch "patch-boost-python3.diff" } else { set bppatch "" }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant ${p} description "Build Boost.Python for Python ${v}" conflicts {*}${c} debug "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # There is a conflict with python and debug support, so we should really change the 'variant' line above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # to end with 'conflicts ${c} debug' above. However, we leave it enabled for those who want to try it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # The issue has been reported to both the MacPorts team and the boost team, as per:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # <http://trac.macports.org/ticket/23667> and <https://svn.boost.org/trac/boost/ticket/4461>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append      port:${p}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete   --without-libraries=python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append   --with-python=${prefix}/bin/python${v} --with-python-root=${prefix}/bin/python${v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   ${bppatch} patch-tools-build-src-tools-python.jam.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            patch-tools-build-src-tools-python-2.jam.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace s|@FRAMEWORKS_DIR@|${frameworks_dir}| ${worksrcpath}/tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set selected_python python310
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set s [string map {. {}} ${v}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set selected_python python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +${selected_python}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # To avoid checking for all Python variants, don't fail if no libs exist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f [glob -nocomplain ${destroot}${bprefix}/lib/*python*.dylib] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set tf [file tail ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s ${tf} ${destroot}${bprefix}/lib/[string map "${selected_python} python3" ${tf}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s ${tf} ${destroot}${bprefix}/lib/[string map "${selected_python} python"  ${tf}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants +no_single +no_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant debug description {Builds debug versions of the libraries as well} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete   variant=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   variant=debug,release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant no_static description {Disable building static libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete   link=static,shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   link=shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant no_single description {Disable building single-threaded libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete   threading=single,multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   threading=multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${name}-numpy {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description Boost.Numpy library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib port:boost${tag}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set s [string map {. {}} ${v}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append port:py${s}-numpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants boost python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset no_static]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost no_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost "" no_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset no_single]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost no_single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost "" no_single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$subport eq $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-disable-numpy-extension.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant regex_match_extra description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Enable access to extended capture information of submatches in Boost.Regex" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        notes-append "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        You enabled the +regex_match_extra variant\; see the following page for an\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        exhaustive list of the consequences of this feature:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    http://www.boost.org/doc/libs/${distver}/libs/regex/doc/html/boost_regex/ref/sub_match.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace {/#define BOOST_REGEX_MATCH_EXTRA/s:^// ::} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/boost/regex/user.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant docs description {Enable building documentation} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # No configure changes, etc; we simply check 'variant_isset' elsewhere
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete file {*}[glob ${destroot}${bprefix}/include/boost/python/numpy*]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[mpi_variant_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/49748
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see http://www.openradar.me/25313838
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.ldflags-append -Lstage/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # There is a conflict with debug support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # The issue has been reported to both the MacPorts team and the boost team, as per:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # <http://trac.macports.org/ticket/23667> and <https://svn.boost.org/trac/boost/ticket/4461>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "+debug variant conflicts with mpi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete   --without-libraries=mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            write_jam "using mpi : ${mpi.cxx} : : ${mpi.exec} ;"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![catch python_dir]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append patch-libs-mpi-build-Jamfile.v2.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set site_packages [python_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                xinstall -d ${destroot}${site_packages}/boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                xinstall -m 644 ${worksrcpath}/libs/mpi/build/__init__.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${site_packages}/boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set f ${destroot}${bprefix}/lib/mpi.so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[info exists ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set l ${site_packages}/boost/mpi.so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    move ${f} ${destroot}${l}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    system "install_name_tool -id ${l} ${destroot}${l}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url   http://www.boost.org/users/download/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex Version (\\d+\\.\\d+\\.\\d+)</span>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/lib/libboost_numpy*] ${destroot}${bprefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/include/boost/python/numpy*] ${destroot}${bprefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # if an mpi variant *and* a python variant is selected, then a binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # python module called mpi.so gets installed, so delete ${frameworks_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${bprefix}${frameworks_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${bprefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${bprefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${bprefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${bprefix}/lib ${destroot}${bprefix}/include/boost/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/libboost_numpy*] ${destroot}${bprefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/numpy*] ${destroot}${bprefix}/include/boost/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${build_arch} arm*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append address-model=64 architecture=arm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${build_arch} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.args-append architecture=power
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.arch} ne "powerpc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append --disable-long-double
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${build_arch} *86*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append architecture=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    error "Current value of 'build_arch' (${build_arch}) is not supported."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${build_arch} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   pch=off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${configure.universal_archs} arm*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append address-model=64 architecture=combined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} *86*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append architecture=combined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append architecture=power
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.arch} ne "powerpc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append --disable-long-double
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.args-append architecture=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} i386] != -1 || [lsearch ${configure.universal_archs} ppc] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=32_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[lsearch ${configure.universal_archs} ppc64] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        reinplace "/local support-ppc64 =/s/= 1/= /" ${worksrcpath}/tools/build/src/tools/darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.args-append address-model=32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   --disable-long-double
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append   macosx-version=10.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# As of Boost 1.70.0, Boost provides CMake find scripts for itself
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# that are installed by default. Those provided in 1.70.0 were broken
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# in multiple ways; many fixed were added before 1.71.0. That said,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# we're not installing them by default at this time, but instead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# providing an option to install them for testing / evaluation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# purposes. We will likely enable these scripts in the future since it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# is likely that CMake will stop providing them once the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Boost-provided version is stable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant cmake_scripts description {Install Boost CMake find scripts} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete --no-cmake-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-apple-clang-no-libcxx.diff b/devel/boost181/files/patch-apple-clang-no-libcxx.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..03d9dd94655
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-apple-clang-no-libcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/compiler/clang.hpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/compiler/clang.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -248,6 +248,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX11_INLINE_NAMESPACES
</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;'>++// Apple Clang uses libc++ by default on Mavericks (OS X 10.9)  and higher
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Apple Clang uses libstdc++ by default on Mountain Lion (OS X 10.8) and lower
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <ciso646>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LIBCPP_VERSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define BOOST_APPLE_CLANG_NO_LIBCXX
</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;'>+ #if !__has_feature(cxx_override_control)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX11_FINAL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX11_OVERRIDE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/multi_index/detail/vartempl_support.hpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/multi_index/detail/vartempl_support.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,11 +40,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)||\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)||\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    defined(BOOST_APPLE_CLANG_NO_LIBCXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/move/core.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/move/utility.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/preprocessor/arithmetic/add.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/preprocessor/arithmetic/sub.hpp>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-b2-build-older-OSes.diff b/devel/boost181/files/patch-b2-build-older-OSes.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..be8ee531091
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-b2-build-older-OSes.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/engine/build.sh.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/engine/build.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -389,7 +389,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     clang|clang-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CXX_VERSION_OPT=${CXX_VERSION_OPT:---version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        B2_CXXFLAGS_RELEASE="-O3 -s"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        B2_CXXFLAGS_RELEASE="-O3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         B2_CXXFLAGS_DEBUG="-O0 -fno-inline -g"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-boost-libcpp-force-thread-local-off.diff b/devel/boost181/files/patch-boost-libcpp-force-thread-local-off.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..136997f68d1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-boost-libcpp-force-thread-local-off.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,6 +15,10 @@
</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;'>++#if defined(__APPLE__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define BOOST_NO_CXX11_THREAD_LOCAL
</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;'>+ #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_HAS_THREADS
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-boost-python3.diff b/devel/boost181/files/patch-boost-python3.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8b88db1b6be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-boost-python3.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/mpi/src/python/datatypes.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/mpi/src/python/datatypes.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,6 +13,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/mpi/python/serialize.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/mpi.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PY_MAJOR_VERSION >= 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PyInt_Type PyLong_Type
</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;'>+ namespace boost { namespace mpi { namespace python {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void export_datatypes()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/mpi/build/__init__.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/mpi/build/__init__.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,5 +6,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     import mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     sys.setdlopenflags(flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    import mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    from . import mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-compiler.diff b/devel/boost181/files/patch-compiler.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..418ef39b204
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/clang-darwin.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/clang-darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -51,7 +51,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   compile and link options allow you to specify addition command line options for each version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rule init ( version ? :  command * : options * )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    command = [ common.find-compiler clang-darwin : clang++ : $(version) : $(command)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    command = [ common.find-compiler clang-darwin : __MACPORTS_CXX__ : $(version) : $(command)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 : /usr/bin /usr/local/bin ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local command-string = [ common.make-command-string $(command) ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if ! $(version) { # ?= operator does not short-circuit
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-disable-numpy-extension.diff b/devel/boost181/files/patch-disable-numpy-extension.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..86077da7a38
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-disable-numpy-extension.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/python.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -852,18 +852,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local full-cmd = $(interpreter-cmd)" -c \"$(full-cmd)\"" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     debug-message "running command '$(full-cmd)'" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local result = [ SHELL $(full-cmd) : strip-eol : exit-status ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if $(result[2]) = 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        .numpy = true ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        .numpy-include = $(result[1]) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "NumPy enabled" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "NumPy disabled. Reason:" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "  $(full-cmd) aborted with " ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "  $(result[1])" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    debug-message "NumPy disabled." ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # End autoconfiguration sequence.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-export_serialization_explicit_template_instantiations.diff b/devel/boost181/files/patch-export_serialization_explicit_template_instantiations.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8ed809f23a1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-export_serialization_explicit_template_instantiations.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,512 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_iprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_iprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  pragma warning (disable : 4786) // too long name, harmless warning
</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;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,7 +25,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iprimitive<std::istream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iprimitive<std::istream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_oprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_oprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  pragma warning (disable : 4786) // too long name, harmless warning
</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;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,7 +25,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oprimitive<std::ostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oprimitive<std::ostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_wiprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_wiprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,7 +8,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +30,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iprimitive<std::wistream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iprimitive<std::wistream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_woprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_woprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,7 +8,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +30,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oprimitive<std::wostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oprimitive<std::wostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_xml_grammar.ipp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_xml_grammar.ipp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  pragma warning (disable : 4786) // too long name, harmless warning
</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;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <algorithm>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp> // typename
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,11 +8,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,14 +27,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_iarchive,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iarchive<binary_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iarchive<binary_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_iarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,11 +8,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of binary stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,14 +27,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_oarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oarchive<binary_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oarchive<binary_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_oarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_wiarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_wiarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_wiarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,14 +29,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_wiarchive,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iarchive<binary_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iarchive<binary_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_wiarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_woarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_woarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_woarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,14 +27,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_woarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oarchive<binary_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oarchive<binary_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_woarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/polymorphic_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/polymorphic_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,13 +17,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/polymorphic_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace detail {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class archive_serializer_map<polymorphic_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE archive_serializer_map<polymorphic_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/polymorphic_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/polymorphic_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,13 +17,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/polymorphic_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace detail {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class archive_serializer_map<polymorphic_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE archive_serializer_map<polymorphic_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +27,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iarchive<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_iarchive_impl<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iarchive<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_iarchive_impl<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,9 +28,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //template class basic_text_oprimitive<std::ostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oarchive<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_oarchive_impl<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oarchive<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_oarchive_impl<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace serialization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_wiarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_wiarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_wiarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,9 +29,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iarchive<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_wiarchive_impl<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iarchive<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_wiarchive_impl<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_woarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_woarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_woarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,9 +28,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oarchive<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_woarchive_impl<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oarchive<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_woarchive_impl<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_grammar.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_grammar.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/basic_xml_grammar.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace boost::spirit::classic;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -67,7 +69,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicit instantiation of xml for 8 bit characters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_grammar<char>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_grammar<char>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of xml stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +27,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_iarchive<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_iarchive_impl<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_iarchive<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_iarchive_impl<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of xml stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +27,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_oarchive<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_oarchive_impl<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_oarchive<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_oarchive_impl<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_wgrammar.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_wgrammar.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/basic_xml_grammar.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace boost::spirit::classic;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -149,7 +151,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicit instantiation of xml for wide characters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_grammar<wchar_t>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_grammar<wchar_t>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_wiarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_wiarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_wiarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of xml stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,9 +32,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_iarchive<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_wiarchive_impl<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_iarchive<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_woarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_woarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_woarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,9 +32,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_oarchive<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_woarchive_impl<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_oarchive<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_woarchive_impl<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-libs-mpi-build-Jamfile.v2.diff b/devel/boost181/files/patch-libs-mpi-build-Jamfile.v2.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..eaa4a379598
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-libs-mpi-build-Jamfile.v2.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/mpi/build/Jamfile.v2.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/mpi/build/Jamfile.v2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,6 +49,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <link>shared:<define>BOOST_MPI_DYN_LINK=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   : # Default build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <link>shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    <threading>multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   : # Usage requirements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <library>../../serialization/build//boost_serialization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <library>/mpi//mpi [ mpi.extra-requirements ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,6 +96,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <python>$(py$(N)-version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               : # Default build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                <threading>multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               : # Usage requirements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <library>/mpi//mpi [ mpi.extra-requirements ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -122,6 +124,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared <runtime-link>shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                <threading>multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <python>$(py$(N)-version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-revert-lib-name-tagged.diff b/devel/boost181/files/patch-revert-lib-name-tagged.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9a264a50a81
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-revert-lib-name-tagged.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boostcpp.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boostcpp.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -163,7 +163,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             <base> <threading> <runtime> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case 1.69 :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         .format-name-args =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            <base> <threading> <runtime> <arch-and-model> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            <base> <threading> <runtime> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if $(layout) = system
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-tiger-availability.diff b/devel/boost181/files/patch-tiger-availability.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..438e4283e87
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-tiger-availability.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/core/uncaught_exceptions.hpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/core/uncaught_exceptions.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,7 +27,7 @@
</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 defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Apple systems only support std::uncaught_exceptions starting with specific versions:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - Mac OS >= 10.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // - iOS >= 10.0
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-tools-build-src-tools-python-2.jam.diff b/devel/boost181/files/patch-tools-build-src-tools-python-2.jam.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c68106cf241
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-tools-build-src-tools-python-2.jam.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/python.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -545,6 +545,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         libraries ?= $(default-library-path) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         includes ?= $(default-include-path) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else if $(target-os) = darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        includes ?= $(prefix)/Headers ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        local lib = $(exec-prefix)/lib ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        libraries ?= $(lib)/python$(version)/config $(lib) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         local default-include-path = $(prefix)/include/python$(version) ;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost181/files/patch-tools-build-src-tools-python.jam.diff b/devel/boost181/files/patch-tools-build-src-tools-python.jam.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..926795692ae
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost181/files/patch-tools-build-src-tools-python.jam.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/python.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -434,7 +434,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     version ?= $(.version-countdown) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      = [ GLOB /System/Library/Frameworks /Library/Frameworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      = [ GLOB @FRAMEWORKS_DIR@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           : Python.framework ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return $(prefix)/Versions/$(version)/bin/python ;
</span></pre><pre style='margin:0'>

</pre>