<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a8d615212e1a662f9085d74a38cef794a3f77aad">https://github.com/macports/macports-ports/commit/a8d615212e1a662f9085d74a38cef794a3f77aad</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a8d615212e1a662f9085d74a38cef794a3f77aad
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sat Nov 16 12:27:57 2019 -0600

<span style='display:block; white-space:pre;color:#404040;'>    mongodb: Update to 4.2.1
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/58921
</span>---
 databases/mongodb/Portfile            | 127 +++++++++++++++++-----------------
 databases/mongodb/files/clang-8.patch |  16 +++++
 2 files changed, 79 insertions(+), 64 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mongodb/Portfile b/databases/mongodb/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 57b4e94..8c62b97 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mongodb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mongodb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,21 +1,18 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           active_variants 1.1
</span> PortGroup           compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           conflicts_build 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           xcodeversion 1.0
</span> 
 # When updating mongodb to a new version, update mongo-tools to the
 # same version.
 
 name                mongodb
 epoch               1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             4.0.13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             4.2.1
</span> revision            0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  26c01b6f7ad6e83369aa9b0d3d970e947228286a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  0bee69054986df77f0169d6d954391b7d880935335d6f54fdabb0d7d4e3c27a4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    50006727
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  46004ed972e923f2cb42a2af555ebb34b70c3e2e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  6d0e82e70b6940698ed464e11894c441db5f07c98a0e16e1607283277553683a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    60922510
</span> 
 license             SSPL
 categories          databases
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,83 +27,82 @@ homepage            https://www.mongodb.com/community
</span> master_sites        https://fastdl.mongodb.org/src
 distname            ${name}-src-r${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       port:scons \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py27-yaml \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py27-typing \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py27-regex \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py27-cheetah \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py27-setuptools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:python37 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py37-cheetah \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py37-psutil \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py37-regex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py37-setuptools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py37-yaml
</span> 
 depends_lib         port:curl \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:libpcap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license_noconflict  scons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:cyrus-sasl2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libpcap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libstemmer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pcre \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:snappy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:sqlite3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:yaml-cpp \
</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;'>+patchfiles-append   clang-8.patch
</span> 
 use_configure       no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# mongodb 3.0.5 and later requires C++11. Forcing the use of libc++ is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# acceptable because mongodb already requires Mac OS X 10.7 or later, so we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# know libc++ is available; mongodb doesn't provide any libraries for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# other ports to use; and the only C++ libraries mongodb uses (boost,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# pcre, snappy) are bundled.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# mongodb 4.2 and later requires C++17.
</span> configure.cxx_stdlib libc++
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           cxx11 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2017
</span> 
 # This matches a version check of __apple_build_version__ in SConstruct.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append *gcc* {clang < 802.0.42} macports-clang-3.3 macports-clang-3.4 macports-clang-3.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: fix me
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts_build     libbson mongo-c-driver mongo-cxx-driver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# When targeting Mac OS X 10.7, mongodb needs at least the 10.8 SDK, which is in Xcode 4.4:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://jira.mongodb.org/browse/SERVER-20320
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-minimum_xcodeversions-append {11 4.4}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[vercmp ${configure.sdk_version} 10.8] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.sdk_version   10.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# When targeting OS X 10.11, mongodb needs at least the 10.12 SDK, which is in Xcode 8:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://jira.mongodb.org/browse/SERVER-37640
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-minimum_xcodeversions-append {15 8}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[vercmp ${macosx_deployment_target} 10.11] >= 0 && [vercmp ${configure.sdk_version} 10.12] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.sdk_version   10.12
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # We don't require the ld64 port, but if it is installed, it must defer to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Xcode to be new enough to understand the newer SDK, otherwise:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ld: unexpected token: !tapi-tbd-v2 file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # See https://trac.macports.org/ticket/53784
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # And require_active_variants doesn't work unless a dependency is declared.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append    port:ld64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    require_active_variants ld64 ld64_xcode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 1000}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          string_view.patch
</span> # Duplicate symbol errors with clang 9 (and later?).
 # https://trac.macports.org/ticket/59461
 # TODO: Report bug and put link here
 compiler.blacklist-append macports-clang-9.0 macports-clang-10.0 macports-clang-devel
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cflags    {*}${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ldflags   {*}${configure.ld_archflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It sets its own optimization flags via the --opt flag.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.optflags
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${configure.sdkroot} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cflags-append -isysroot${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.ldflags-append -Wl,-syslibroot,${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -L flags are handled via LIBPATH.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ldflags-delete -L${prefix}/lib
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.cmd           ${prefix}/bin/scons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd           ${prefix}/bin/python3.7 buildscripts/scons.py
</span> build.target        core mongobridge
 build.args          CC="${configure.cc}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CCFLAGS="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CCFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
</span>                     CPPPATH="${prefix}/include" \
                     CXX="${configure.cxx}" \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CXXFLAGS="${configure.cxxflags} [get_canonical_archflags cxx]" \
</span>                     LIBPATH="${prefix}/lib" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LINKFLAGS="${configure.ldflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LINKFLAGS="${configure.ldflags} [get_canonical_archflags ld]" \
</span>                     TARGET_ARCH=${build_arch} \
                     --disable-warnings-as-errors \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-http-client=on \
</span>                     --libc++ \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --ssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --opt=size \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --release \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --ssl=on \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-sasl-client \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-pcre \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-snappy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-sqlite \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-stemmer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-yaml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --use-system-zstd \
</span>                     --wiredtiger=on
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# It should build with --use-system-asio, but doesn't:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO: Report bug and put link here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It should build with --use-system-icu, but doesn't:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO: Report bug and put link here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Do not build mongoc_embedded.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See https://jira.mongodb.org/browse/SERVER-44592
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append   --use-system-mongo-c=off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${os.platform} eq "darwin" && ${os.major} >= 15} {
     build.args-append \
                     --ssl-provider=native
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -147,19 +143,22 @@ post-destroot {
</span> startupitem.create      yes
 startupitem.executable  sudo -u ${mongouser} ${prefix}/bin/mongod --dbpath ${dbdir} --logpath ${logdir}/mongodb.log --logappend
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    known_fail          yes
</span>     depends_build
     depends_lib
     pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "${name} @${version} requires Mac OS X 10.7 or greater."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "incompatible Mac OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "${name} @${version} requires OS X 10.10 or greater"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "incompatible OS X version"
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} > 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} >= 16 && [vercmp ${os.version} 18.2.0] < 0} {
</span>     notes-append {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        Warning: mongodb may lose data if it crashes on macOS 10.13 or greater.\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        See https://jira.mongodb.org/browse/WT-4018.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        Warning: MONGODB MAY LOSE DATA if it crashes on macOS 10.14.0 or\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        earlier and the database is on an APFS volume. This problem is fixed\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        in macOS 10.14.1 and later so please update your operating system.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        See https://jira.mongodb.org/browse/WT-4112 for more information.
</span>     }
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mongodb/files/clang-8.patch b/databases/mongodb/files/clang-8.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..ce0ed8b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mongodb/files/clang-8.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[PATCH] SERVER-44270 Compilation fails with --libc++ and clang 8.0+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://jira.mongodb.org/browse/SERVER-44270
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/mongodb/mongo/commit/aac59681b3ae4d3806174227ba4c88aaf8e89ea2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/mongo/stdx/new.h.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/mongo/stdx/new.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace mongo {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace stdx {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if __cplusplus < 201703L || !defined(__cpp_lib_hardware_interference_size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// libc++ 8.0 and later define __cpp_lib_hardware_interference_size but don't actually implement it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201703L || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    !(defined(__cpp_lib_hardware_interference_size) && !defined(_LIBCPP_VERSION))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(MONGO_CONFIG_MAX_EXTENDED_ALIGNMENT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static_assert(MONGO_CONFIG_MAX_EXTENDED_ALIGNMENT >= sizeof(uint64_t), "Bad extended alignment");
</span></pre><pre style='margin:0'>

</pre>