<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>