diff --git a/srcpkgs/mongodb/patches/fix-build-std-string.patch b/srcpkgs/mongodb/patches/fix-build-std-string.patch new file mode 100644 index 00000000000..9fd8810ae63 --- /dev/null +++ b/srcpkgs/mongodb/patches/fix-build-std-string.patch @@ -0,0 +1,115 @@ +--- src/mongo/shell/bench.cpp.orig 2017-07-06 09:07:04.718310572 +0000 ++++ src/mongo/shell/bench.cpp 2017-07-06 09:12:39.849290597 +0000 +@@ -674,7 +674,7 @@ + invariant(bsonTemplateEvaluator.setId(_id) == BsonTemplateEvaluator::StatusSuccess); + + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(15931, "Authenticating to connection for _benchThread failed: " + errmsg); + } +@@ -918,7 +918,7 @@ + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE" + ++ throw DBException((std::string) "From benchRun GLE" + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -984,7 +984,7 @@ + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE" + ++ throw DBException((std::string) "From benchRun GLE" + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -1031,7 +1031,7 @@ + + if (!result["err"].eoo() && result["err"].type() == String && + (_config->throwGLE || op.throwGLE)) +- throw DBException((string) "From benchRun GLE " + ++ throw DBException((std::string) "From benchRun GLE " + + causedBy(result["err"].String()), + result["code"].eoo() ? 0 : result["code"].Int()); + } +@@ -1133,7 +1133,7 @@ + try { + std::unique_ptr conn(_config->createConnection()); + if (!_config->username.empty()) { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted(15932, "Authenticating to connection for benchThread failed: " + errmsg); + } +@@ -1165,7 +1165,7 @@ + std::unique_ptr conn(_config->createConnection()); + // Must authenticate to admin db in order to run serverStatus command + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted( + 16704, +@@ -1201,7 +1201,7 @@ + { + std::unique_ptr conn(_config->createConnection()); + if (_config->username != "") { +- string errmsg; ++ std::string errmsg; + // this can only fail if admin access was revoked since start of run + if (!conn->auth("admin", _config->username, _config->password, errmsg)) { + uasserted( +--- src/mongo/db/dbwebserver.cpp.orig 2017-06-27 19:02:43.000000000 +0000 ++++ src/mongo/db/dbwebserver.cpp 2017-07-06 09:27:54.070236105 +0000 +@@ -65,6 +65,7 @@ + namespace mongo { + + using std::map; ++using std::string; + using std::stringstream; + using std::vector; + +--- src/mongo/db/matcher/expression_leaf.cpp.orig 2017-06-27 19:02:43.000000000 +0000 ++++ src/mongo/db/matcher/expression_leaf.cpp 2017-07-06 09:31:40.097222633 +0000 +@@ -202,7 +202,7 @@ + } + + void ComparisonMatchExpression::serialize(BSONObjBuilder* out) const { +- string opString = ""; ++ std::string opString = ""; + switch (matchType()) { + case LT: + opString = "$lt"; +@@ -884,7 +884,7 @@ + } + + void BitTestMatchExpression::serialize(BSONObjBuilder* out) const { +- string opString = ""; ++ std::string opString = ""; + + switch (matchType()) { + case BITS_ALL_SET: +--- src/mongo/db/repl/master_slave.cpp.orig 2017-06-27 19:02:43.000000000 +0000 ++++ src/mongo/db/repl/master_slave.cpp 2017-07-06 09:36:53.549203950 +0000 +@@ -78,6 +78,7 @@ + using std::max; + using std::min; + using std::set; ++using std::string; + using std::stringstream; + using std::unique_ptr; + using std::vector; +--- src/mongo/util/net/miniwebserver.cpp.orig 2017-06-27 19:02:43.000000000 +0000 ++++ src/mongo/util/net/miniwebserver.cpp 2017-07-06 09:42:57.518182256 +0000 +@@ -45,6 +45,7 @@ + namespace mongo { + + using std::shared_ptr; ++using std::string; + using std::stringstream; + using std::vector; + diff --git a/srcpkgs/mongodb/patches/libressl.patch b/srcpkgs/mongodb/patches/libressl.patch new file mode 100644 index 00000000000..c57f7ad8389 --- /dev/null +++ b/srcpkgs/mongodb/patches/libressl.patch @@ -0,0 +1,22 @@ +--- src/mongo/crypto/sha1_block_openssl.cpp 2017-06-08 16:11:03.000000000 +0000 ++++ src/mongo/crypto/sha1_block_openssl.cpp 2017-07-05 17:52:36.991580944 +0000 +@@ -41,7 +41,7 @@ + #include + #include + #include +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + namespace { + // Copies of OpenSSL after 1.1.0 define new EVP digest routines. We must + // polyfill used definitions to interact with older OpenSSL versions. +--- src/mongo/util/net/ssl_manager.cpp.orig 2017-06-08 16:11:03.000000000 +0000 ++++ src/mongo/util/net/ssl_manager.cpp 2017-07-05 17:59:28.566556412 +0000 +@@ -125,7 +125,7 @@ + #endif // MONGO_CONFIG_NEEDS_ASN1_ANY_DEFINITIONS + // clang-format on + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + // Copies of OpenSSL after 1.1.0 define new functions for interaction with + // X509 structure. We must polyfill used definitions to interact with older + // OpenSSL versions. diff --git a/srcpkgs/mongodb/patches/no-boost-min-version-check.patch b/srcpkgs/mongodb/patches/no-boost-min-version-check.patch new file mode 100644 index 00000000000..f1af44e5430 --- /dev/null +++ b/srcpkgs/mongodb/patches/no-boost-min-version-check.patch @@ -0,0 +1,11 @@ +--- SConstruct.orig 2017-07-05 17:34:21.000000000 +0000 ++++ SConstruct 2017-07-05 17:35:17.126642925 +0000 +@@ -2799,8 +2799,6 @@ + if use_system_version_of_library("boost"): + if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ): + myenv.ConfError("can't find boost headers") +- if not conf.CheckBoostMinVersion(): +- myenv.ConfError("system's version of boost is too old. version 1.49 or better required") + + # Note that on Windows with using-system-boost builds, the following + # FindSysLibDep calls do nothing useful (but nothing problematic either) diff --git a/srcpkgs/mongodb/template b/srcpkgs/mongodb/template index b8d849970bf..79a97bca291 100644 --- a/srcpkgs/mongodb/template +++ b/srcpkgs/mongodb/template @@ -1,7 +1,7 @@ # Template file for 'mongodb' pkgname=mongodb -version=3.4.5 -revision=3 +version=3.4.6 +revision=1 wrksrc="mongodb-src-r${version}" hostmakedepends="scons" makedepends="boost-devel pcre-devel snappy-devel libressl-devel libpcap-devel @@ -15,11 +15,10 @@ maintainer="Enno Boland " homepage="http://www.mongodb.org" license="AGPL-3" distfiles="https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz" -checksum=84806e5496a1a0a8fe9a59d6eab0acfab0e68476437e94e2772f898677bb21f0 +checksum=8170360f6dfede9c19c131f3d76831e952b3f1494925aa7e2a3a2f95b58ad901 # build flags broken. nopie=yes only_for_archs="aarch64 x86_64 aarch64-musl x86_64-musl" -broken="https://build.voidlinux.eu/builders/x86_64_builder/builds/3157/steps/shell_3/logs/stdio" make_dirs=" /var/lib/mongodb 0700 mongodb mongodb