From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A4AE91584AD for ; Tue, 06 May 2025 19:20:24 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 8E07034316C for ; Tue, 06 May 2025 19:20:24 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 102CD1103DE; Tue, 06 May 2025 19:20:06 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 064821103DE for ; Tue, 06 May 2025 19:20:06 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 847303430F7 for ; Tue, 06 May 2025 19:20:05 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id D2B9727FC for ; Tue, 06 May 2025 19:20:02 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1746558634.25f98c57ed251a6352419c34840a9849e61bfd8b.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mongodb/files/, dev-db/mongodb/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-db/mongodb/Manifest dev-db/mongodb/files/mongodb-8.0.4-scons.patch dev-db/mongodb/files/mongodb-8.0.6-fixes-for-boost-1.85.patch dev-db/mongodb/files/mongodb-8.0.6-mozjs-remove-unused-constructor.patch dev-db/mongodb/files/mongodb-8.0.6-skip-reqs-check.patch dev-db/mongodb/files/mongodb-8.0.6-use-tenacity.patch dev-db/mongodb/mongodb-8.0.8.ebuild X-VCS-Directories: dev-db/mongodb/ dev-db/mongodb/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 25f98c57ed251a6352419c34840a9849e61bfd8b X-VCS-Branch: master Date: Tue, 06 May 2025 19:20:02 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: cad27605-3294-44cd-b129-c382264e454e X-Archives-Hash: f74b7cf01cae177e7a3d0cc2da6863b4 commit: 25f98c57ed251a6352419c34840a9849e61bfd8b Author: François Valenduc gmail com> AuthorDate: Fri May 2 11:14:36 2025 +0000 Commit: Sam James gentoo org> CommitDate: Tue May 6 19:10:34 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25f98c57 dev-db/mongodb: add 8.0.8 Bug: https://bugs.gentoo.org/882515 Signed-off-by: François Valenduc gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41580 Closes: https://github.com/gentoo/gentoo/pull/41580 Signed-off-by: Sam James gentoo.org> dev-db/mongodb/Manifest | 1 + dev-db/mongodb/files/mongodb-8.0.4-scons.patch | 25 ++ .../files/mongodb-8.0.6-fixes-for-boost-1.85.patch | 267 +++++++++++++++++++++ ...odb-8.0.6-mozjs-remove-unused-constructor.patch | 28 +++ .../files/mongodb-8.0.6-skip-reqs-check.patch | 24 ++ .../mongodb/files/mongodb-8.0.6-use-tenacity.patch | 37 +++ dev-db/mongodb/mongodb-8.0.8.ebuild | 212 ++++++++++++++++ 7 files changed, 594 insertions(+) diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index b53236d593ff..56cbacb4d034 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -1,3 +1,4 @@ DIST mongodb-5.0.30.gh.tar.gz 57312372 BLAKE2B 72b026115cf3c8b1b81857bc5bffcd5b72bae4b581a7ada598bc7bbe594f264f581212159788113c5709ab751dd8a57943a3cc9b78f0d31aeb50375fa1da2c28 SHA512 97642da12cf199fa3f17825b1eb20e4d9bc1f65c8950f54b36347af11b6964cdd2007d11b01147d0c253077ef14121de52517c1739b433b49a9cbbe2596d9d05 DIST mongodb-6.0.22.gh.tar.gz 87688277 BLAKE2B 1ff5206cb996763ca051129572eb9bf6f8cff0ceeae7f86c4472e49a7d2210de602beead53d3aba7d8ee3b168a50a2505b8cfc91cd22968dd39a42ba13432e73 SHA512 4a3258b22d31ee81d5932d82dc5d19aec0b3648593d57cedd21b74c46bf4bfea833a519f4e90c1f2f860aa46781297dd16b7324145713e36eee81d41e684c420 DIST mongodb-7.0.18.gh.tar.gz 87225100 BLAKE2B 7ede32f4c6b6968ee8d797ce71457133020a3e4a039cd0db914e344e5042a0b871deb5741f86098b2e82b9ff619a511a754a06a29dcbb9527a3b7a7edf52b3ac SHA512 599767db66e95d8dd0bd0e6d51fd70129ea6df1e18a0cdaa52bc6cbe301c982684ff5aab446c50cb825573051e372d8f791aeab7df58e2a4d855e6073f2b46d5 +DIST mongodb-8.0.8.gh.tar.gz 94643838 BLAKE2B c559af9f3b2d1a3ad7139cd9476114bd6c990a1269f4dedf3010118c5e182689703c731ca04fba0bcce91c4f05c521fbbf0556c8b76af27fa10298f0258b5921 SHA512 28fb8455ae4290f9f704e69fcc78c939751ed95a4cbff6f6af55786a10606c1431f9c450b343486bc7b21177b0a3dab04fe088a76a9b8740a207e2cd770cd5eb diff --git a/dev-db/mongodb/files/mongodb-8.0.4-scons.patch b/dev-db/mongodb/files/mongodb-8.0.4-scons.patch new file mode 100644 index 000000000000..9edf80d44861 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-8.0.4-scons.patch @@ -0,0 +1,25 @@ +From bc8f2b53c1b99943e49f7bd42ee4d0e1bd8d4562 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Valenduc?= +Date: Mon, 28 Apr 2025 13:46:34 +0200 +Subject: [PATCH] add PATH backup for scons + +--- + SConstruct | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/SConstruct b/SConstruct +index e9aa2ca0b16..2f04bc9b8f6 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1718,7 +1718,7 @@ envDict = dict( + if get_option('build-tools') == 'next': + SCons.Tool.DefaultToolpath.insert(0, os.path.abspath('site_scons/site_tools/next')) + +-env = Environment(variables=env_vars, **envDict) ++env = Environment(variables=env_vars, ENV={'PATH': os.environ['PATH']}, **envDict) + del envDict + env.AddMethod(lambda env, name, **kwargs: add_option(name, **kwargs), 'AddOption') + +-- +2.49.0 + diff --git a/dev-db/mongodb/files/mongodb-8.0.6-fixes-for-boost-1.85.patch b/dev-db/mongodb/files/mongodb-8.0.6-fixes-for-boost-1.85.patch new file mode 100644 index 000000000000..ed4eff891b76 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-8.0.6-fixes-for-boost-1.85.patch @@ -0,0 +1,267 @@ +From 9a65b01b0d86c48af4e8b40c6142ae501dc11141 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Valenduc?= +Date: Thu, 17 Apr 2025 17:49:59 +0200 +Subject: [PATCH] fixes for boost 1.85 + +--- + src/mongo/client/sdam/sdam_json_test_runner.cpp | 2 +- + .../sdam/server_selection_json_test_runner.cpp | 2 +- + src/mongo/db/initialize_server_global_state.cpp | 2 +- + src/mongo/db/startup_warnings_mongod.cpp | 3 ++- + .../db/storage/storage_engine_lock_file_posix.cpp | 4 ++-- + src/mongo/db/storage/storage_engine_metadata.cpp | 4 ++-- + .../db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 3 ++- + src/mongo/shell/shell_utils_launcher.cpp | 12 ++++++------ + src/mongo/shell/shell_utils_launcher.h | 2 +- + src/mongo/unittest/golden_test.cpp | 2 +- + src/mongo/unittest/golden_test.h | 2 +- + src/mongo/unittest/golden_test_base.cpp | 4 ++-- + src/mongo/unittest/golden_test_test.cpp | 2 +- + src/mongo/util/options_parser/options_parser.cpp | 2 +- + 14 files changed, 24 insertions(+), 22 deletions(-) + +diff --git a/src/mongo/client/sdam/sdam_json_test_runner.cpp b/src/mongo/client/sdam/sdam_json_test_runner.cpp +index b10f7a25971..e29907a089f 100644 +--- a/src/mongo/client/sdam/sdam_json_test_runner.cpp ++++ b/src/mongo/client/sdam/sdam_json_test_runner.cpp +@@ -41,7 +41,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + +diff --git a/src/mongo/client/sdam/server_selection_json_test_runner.cpp b/src/mongo/client/sdam/server_selection_json_test_runner.cpp +index 5b916ff7ce7..d20909fce74 100644 +--- a/src/mongo/client/sdam/server_selection_json_test_runner.cpp ++++ b/src/mongo/client/sdam/server_selection_json_test_runner.cpp +@@ -29,7 +29,7 @@ + + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/src/mongo/db/initialize_server_global_state.cpp b/src/mongo/db/initialize_server_global_state.cpp +index 2e03433fabb..64481d9e227 100644 +--- a/src/mongo/db/initialize_server_global_state.cpp ++++ b/src/mongo/db/initialize_server_global_state.cpp +@@ -332,7 +332,7 @@ bool checkAndMoveLogFile(const std::string& absoluteLogpath) { + << "\" should name a file, not a directory."); + } + +- if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) { ++ if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) { + std::string renameTarget = absoluteLogpath + "." + terseCurrentTimeForFilename(); + boost::system::error_code ec; + boost::filesystem::rename(absoluteLogpath, renameTarget, ec); +diff --git a/src/mongo/db/startup_warnings_mongod.cpp b/src/mongo/db/startup_warnings_mongod.cpp +index a7fcc3e632b..6bf12381704 100644 +--- a/src/mongo/db/startup_warnings_mongod.cpp ++++ b/src/mongo/db/startup_warnings_mongod.cpp +@@ -28,7 +28,8 @@ + */ + + #include "mongo/db/startup_warnings_mongod.h" +- ++#include ++#include + #include + #include + #include +diff --git a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp +index 5116a72bc0e..39182f0e6a0 100644 +--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp ++++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp +@@ -72,7 +72,7 @@ void flushMyDirectory(const boost::filesystem::path& file) { + // if called without a fully qualified path it asserts; that makes mongoperf fail. + // so make a warning. need a better solution longer term. + // massert(40389, str::stream() << "Couldn't find parent dir for file: " << file.string(),); +- if (!file.has_branch_path()) { ++ if (!file.has_parent_path()) { + LOGV2(22274, + "flushMyDirectory couldn't find parent dir for file", + "file"_attr = file.generic_string()); +@@ -80,7 +80,7 @@ void flushMyDirectory(const boost::filesystem::path& file) { + } + + +- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts ++ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts + + LOGV2_DEBUG(22275, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string()); + +diff --git a/src/mongo/db/storage/storage_engine_metadata.cpp b/src/mongo/db/storage/storage_engine_metadata.cpp +index 690e34d2630..6ecfb48de5b 100644 +--- a/src/mongo/db/storage/storage_engine_metadata.cpp ++++ b/src/mongo/db/storage/storage_engine_metadata.cpp +@@ -232,7 +232,7 @@ void flushMyDirectory(const boost::filesystem::path& file) { + // if called without a fully qualified path it asserts; that makes mongoperf fail. + // so make a warning. need a better solution longer term. + // massert(13652, str::stream() << "Couldn't find parent dir for file: " << file.string(),); +- if (!file.has_branch_path()) { ++ if (!file.has_parent_path()) { + LOGV2(22283, + "flushMyDirectory couldn't find parent dir for file", + "file"_attr = file.generic_string()); +@@ -240,7 +240,7 @@ void flushMyDirectory(const boost::filesystem::path& file) { + } + + +- boost::filesystem::path dir = file.branch_path(); // parent_path in new boosts ++ boost::filesystem::path dir = file.parent_path(); // parent_path in new boosts + + LOGV2_DEBUG(22284, 1, "flushing directory {dir_string}", "dir_string"_attr = dir.string()); + +diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +index ff6c81e38db..632a142ef28 100644 +--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp ++++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +@@ -69,6 +69,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -182,7 +183,7 @@ std::string extractIdentFromPath(const boost::filesystem::path& dbpath, + + // Remove the file extension and convert to generic form (i.e. replace "\" with "/" + // on windows, no-op on unix). +- return boost::filesystem::change_extension(identWithExtension, "").generic_string(); ++ return boost::filesystem::path(identWithExtension).replace_extension("").generic_string(); + } + + bool WiredTigerFileVersion::shouldDowngrade(bool hasRecoveryTimestamp) { +diff --git a/src/mongo/shell/shell_utils_launcher.cpp b/src/mongo/shell/shell_utils_launcher.cpp +index ae5175a2a6d..b89fa59ac0d 100644 +--- a/src/mongo/shell/shell_utils_launcher.cpp ++++ b/src/mongo/shell/shell_utils_launcher.cpp +@@ -331,26 +331,26 @@ void copyDir(const boost::filesystem::path& from, const boost::filesystem::path& + boost::filesystem::directory_iterator i(from); + while (i != end) { + boost::filesystem::path p = *i; +- if (p.leaf() == "metrics.interim" || p.leaf() == "metrics.interim.temp") { ++ if (p.filename() == "metrics.interim" || p.filename() == "metrics.interim.temp") { + // Ignore any errors for metrics.interim* files as these may disappear during copy + boost::system::error_code ec; +- boost::filesystem::copy_file(p, to / p.leaf(), ec); ++ boost::filesystem::copy_file(p, to / p.filename(), ec); + if (ec) { + LOGV2_INFO(22814, + "Skipping copying of file from '{from}' to " + "'{to}' due to: {error}", + "Skipping copying of file due to error" + "from"_attr = p.generic_string(), +- "to"_attr = (to / p.leaf()).generic_string(), ++ "to"_attr = (to / p.filename()).generic_string(), + "error"_attr = ec.message()); + } +- } else if (p.leaf() != "mongod.lock" && p.leaf() != "WiredTiger.lock") { ++ } else if (p.filename() != "mongod.lock" && p.filename() != "WiredTiger.lock") { + if (boost::filesystem::is_directory(p)) { +- boost::filesystem::path newDir = to / p.leaf(); ++ boost::filesystem::path newDir = to / p.filename(); + boost::filesystem::create_directory(newDir); + copyDir(p, newDir); + } else { +- boost::filesystem::copy_file(p, to / p.leaf()); ++ boost::filesystem::copy_file(p, to / p.filename()); + } + } + ++i; +diff --git a/src/mongo/shell/shell_utils_launcher.h b/src/mongo/shell/shell_utils_launcher.h +index 65337f061b3..fc15c8c0d85 100644 +--- a/src/mongo/shell/shell_utils_launcher.h ++++ b/src/mongo/shell/shell_utils_launcher.h +@@ -29,7 +29,7 @@ + + #pragma once + +-#include ++#include + #include + #include + #include +diff --git a/src/mongo/unittest/golden_test.cpp b/src/mongo/unittest/golden_test.cpp +index e01961b6060..be8f70148cf 100644 +--- a/src/mongo/unittest/golden_test.cpp ++++ b/src/mongo/unittest/golden_test.cpp +@@ -33,7 +33,7 @@ + #include + + #include +-#include ++#include + #include + + #include "mongo/base/init.h" // IWYU pragma: keep +diff --git a/src/mongo/unittest/golden_test.h b/src/mongo/unittest/golden_test.h +index 4c83503a9d3..75390265c75 100644 +--- a/src/mongo/unittest/golden_test.h ++++ b/src/mongo/unittest/golden_test.h +@@ -30,7 +30,7 @@ + #pragma once + + #include +-#include ++#include + #include + #include + #include +diff --git a/src/mongo/unittest/golden_test_base.cpp b/src/mongo/unittest/golden_test_base.cpp +index 1d6c4331c32..a000658b099 100644 +--- a/src/mongo/unittest/golden_test_base.cpp ++++ b/src/mongo/unittest/golden_test_base.cpp +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -116,7 +116,7 @@ GoldenTestEnvironment::GoldenTestEnvironment() : _goldenDataRoot(".") { + fs::path outputRoot; + if (opts.outputRootPattern) { + fs::path pattern(*opts.outputRootPattern); +- outputRoot = pattern.parent_path() / fs::unique_path(pattern.leaf()); ++ outputRoot = pattern.parent_path() / fs::unique_path(pattern.filename()); + } else { + outputRoot = fs::temp_directory_path() / fs::unique_path("out-%%%%-%%%%-%%%%-%%%%"); + } +diff --git a/src/mongo/unittest/golden_test_test.cpp b/src/mongo/unittest/golden_test_test.cpp +index 874d73bf52a..fb64834cfc7 100644 +--- a/src/mongo/unittest/golden_test_test.cpp ++++ b/src/mongo/unittest/golden_test_test.cpp +@@ -32,7 +32,7 @@ + #include + + #include +-#include ++#include + #include + + #include "mongo/base/string_data.h" +diff --git a/src/mongo/util/options_parser/options_parser.cpp b/src/mongo/util/options_parser/options_parser.cpp +index 46255631358..100b4c7c2bb 100644 +--- a/src/mongo/util/options_parser/options_parser.cpp ++++ b/src/mongo/util/options_parser/options_parser.cpp +@@ -35,7 +35,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +2.49.0 + diff --git a/dev-db/mongodb/files/mongodb-8.0.6-mozjs-remove-unused-constructor.patch b/dev-db/mongodb/files/mongodb-8.0.6-mozjs-remove-unused-constructor.patch new file mode 100644 index 000000000000..60f231d9ae48 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-8.0.6-mozjs-remove-unused-constructor.patch @@ -0,0 +1,28 @@ +From 67320f150c65ece68118d1c9ecfd1c0a1f69ba6f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Valenduc?= +Date: Mon, 28 Apr 2025 14:16:08 +0200 +Subject: [PATCH] remove unused constructor + +--- + .../mozjs/extract/js/src/threading/ExclusiveData.h | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h b/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h +index 38e89f10a1d..2d8ca831bf7 100644 +--- a/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h ++++ b/src/third_party/mozjs/extract/js/src/threading/ExclusiveData.h +@@ -109,11 +109,6 @@ class ExclusiveData { + explicit ExclusiveData(const MutexId& id, Args&&... args) + : lock_(id), value_(std::forward(args)...) {} + +- ExclusiveData(ExclusiveData&& rhs) +- : lock_(std::move(rhs.lock)), value_(std::move(rhs.value_)) { +- MOZ_ASSERT(&rhs != this, "self-move disallowed!"); +- } +- + ExclusiveData& operator=(ExclusiveData&& rhs) { + this->~ExclusiveData(); + new (mozilla::KnownNotNull, this) ExclusiveData(std::move(rhs)); +-- +2.49.0 + diff --git a/dev-db/mongodb/files/mongodb-8.0.6-skip-reqs-check.patch b/dev-db/mongodb/files/mongodb-8.0.6-skip-reqs-check.patch new file mode 100644 index 000000000000..395abeffe1cf --- /dev/null +++ b/dev-db/mongodb/files/mongodb-8.0.6-skip-reqs-check.patch @@ -0,0 +1,24 @@ +diff --git a/buildscripts/scons2.py b/buildscripts/scons.py +index b1ddc85..b2e61e9 100755 +--- a/buildscripts/scons2.py ++++ b/buildscripts/scons.py +@@ -19,13 +19,13 @@ SITE_TOOLS_DIR = os.path.join(MONGODB_ROOT, 'site_scons') + sys.path = [SCONS_DIR, SITE_TOOLS_DIR] + sys.path + + # pylint: disable=C0413 +-from mongo.pip_requirements import verify_requirements, MissingRequirements ++#from mongo.pip_requirements import verify_requirements, MissingRequirements + +-try: +- verify_requirements() +-except MissingRequirements as ex: +- print(ex) +- sys.exit(1) ++#try: ++# verify_requirements() ++#except MissingRequirements as ex: ++# print(ex) ++# sys.exit(1) + + try: + import SCons.Script diff --git a/dev-db/mongodb/files/mongodb-8.0.6-use-tenacity.patch b/dev-db/mongodb/files/mongodb-8.0.6-use-tenacity.patch new file mode 100644 index 000000000000..1cad9842a533 --- /dev/null +++ b/dev-db/mongodb/files/mongodb-8.0.6-use-tenacity.patch @@ -0,0 +1,37 @@ +From 4903458dd8933b0754da3b00109a042a5ccf23a8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Valenduc?= +Date: Tue, 29 Apr 2025 18:52:54 +0200 +Subject: [PATCH] replace retry by tenacity + +the retry decorator is used in site_scons/site_tools/integrate_bazel.py +which is part of the retry package not available in Gentoo. +Replace it by tenacity which is well included in Gentoo. +--- + site_scons/site_tools/integrate_bazel.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/site_scons/site_tools/integrate_bazel.py b/site_scons/site_tools/integrate_bazel.py +index b9e2143f23c..995df696d10 100644 +--- a/site_scons/site_tools/integrate_bazel.py ++++ b/site_scons/site_tools/integrate_bazel.py +@@ -16,7 +16,7 @@ import threading + from typing import List, Dict, Set, Tuple, Any + import urllib.request + import requests +-from retry import retry ++from tenacity import retry, stop_after_attempt, wait_fixed + import sys + + import SCons +@@ -477,7 +477,7 @@ def generate_bazel_info_for_ninja(env: SCons.Environment.Environment) -> None: + env["NINJA_BAZEL_INPUTS"] = ninja_bazel_ins + + +-@retry(tries=5, delay=3) ++@retry(stop=stop_after_attempt(3), wait=wait_fixed(0.1)) + def download_path_with_retry(*args, **kwargs): + urllib.request.urlretrieve(*args, **kwargs) + +-- +2.49.0 + diff --git a/dev-db/mongodb/mongodb-8.0.8.ebuild b/dev-db/mongodb/mongodb-8.0.8.ebuild new file mode 100644 index 000000000000..408631e0c502 --- /dev/null +++ b/dev-db/mongodb/mongodb-8.0.8.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +SCONS_MIN_VERSION="3.3.1" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs + +MY_PV=r${PV/_rc/-rc} +MY_P=mongo-${MY_PV} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://github.com/mongodb/mongo/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="Apache-2.0 SSPL-1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 -riscv" +CPU_FLAGS="cpu_flags_x86_avx" +IUSE="debug kerberos mongosh ssl +tools ${CPU_FLAGS}" + +# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server +# resmoke needs python packages not yet present in Gentoo +RESTRICT="test" + +RDEPEND="acct-group/mongodb + acct-user/mongodb + >=app-arch/snappy-1.1.7:= + app-arch/zstd:= + >=dev-cpp/yaml-cpp-0.6.2:= + dev-libs/boost:=[nls] + >=dev-libs/libpcre-8.42[cxx] + dev-libs/snowball-stemmer:= + net-misc/curl + >=sys-libs/zlib-1.2.12:= + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + ssl? ( + >=dev-libs/openssl-1.0.1g:0= + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + sys-libs/ncurses:0= + sys-libs/readline:0= + debug? ( dev-debug/valgrind )" +BDEPEND=" + $(python_gen_any_dep ' + >=dev-build/scons-3.1.1[${PYTHON_USEDEP}] + dev-python/cheetah3[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/distro[${PYTHON_USEDEP}] + dev-python/gitpython[${PYTHON_USEDEP}] + dev-python/poetry[${PYTHON_USEDEP}] + dev-python/pymongo[${PYTHON_USEDEP}] + dev-python/tenacity[${PYTHON_USEDEP}] + ') +" +PDEPEND=" + mongosh? ( app-admin/mongosh-bin ) + tools? ( >=app-admin/mongo-tools-100 ) +" + +PATCHES=( + "${FILESDIR}/mongodb-4.4.29-no-enterprise.patch" + "${FILESDIR}/${PN}-5.0.2-no-compass.patch" + "${FILESDIR}/${PN}-7.0.2-sconstruct.patch" + "${FILESDIR}/${PN}-8.0.6-skip-reqs-check.patch" + "${FILESDIR}/${PN}-8.0.6-fixes-for-boost-1.85.patch" + "${FILESDIR}/${PN}-8.0.4-scons.patch" + "${FILESDIR}/${PN}-8.0.6-mozjs-remove-unused-constructor.patch" + "${FILESDIR}/${PN}-8.0.6-use-tenacity.patch" +) + +python_check_deps() { + python_has_version -b ">=dev-build/scons-3.1.1[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/cheetah3[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/psutil[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" + python_has_version -b "dev-python/distro[${PYTHON_USEDEP}]" + python_has_version -b "dev-python/gitpython[${PYTHON_USEDEP}]" + python_has_version -b "dev-python/poetry[${PYTHON_USEDEP}]" + python_has_version -b "dev-python/pymongo[${PYTHON_USEDEP}]" + python_has_version -b "dev-python/tenacity[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + # Bug 809692 + 890294 + if use amd64 && ! use cpu_flags_x86_avx; then + ewarn "MongoDB 5.0 requires use of the AVX instruction set." + ewarn "This ebuild will use --experimental-optimization=-sandybridge which" + ewarn "will result in an experimental build of MongoDB as per upstream." + ewarn "https://docs.mongodb.com/v5.0/administration/production-notes/" + fi + + if [[ -n ${REPLACING_VERSIONS} ]]; then + if ver_replacing -lt 4.4; then + ewarn "To upgrade from a version earlier than the 4.4-series, you must" + ewarn "successively upgrade major releases until you have upgraded" + ewarn "to 4.4-series. Then upgrade to 5.0 series." + else + ewarn "Be sure to set featureCompatibilityVersion to 4.4 before upgrading." + fi + fi +} + +src_prepare() { + default + # remove bundled libs + rm -r src/third_party/{boost,snappy,yaml-cpp} || die + + # remove compass + rm -r src/mongo/installer/compass || die +} + +src_configure() { + # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source + # --use-system-icu fails tests + # --use-system-tcmalloc is strongly NOT recommended: + # for MONGO_GIT_HASH use GitOrigin-RevId from the commit of the tag + scons_opts=( + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + CCFLAGS="${CXXFLAGS}" + + VERBOSE=1 + VARIANT_DIR=gentoo + MONGO_VERSION="${PV}" + MONGO_GIT_HASH="966efda23d779a86c76c34e1b13e561d68f2bb37" + + --disable-warnings-as-errors + --force-jobs # Reapply #906897, fix #935274 + --jobs="$(makeopts_jobs)" + --use-system-boost + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + --use-system-zstd + ) + + use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300 + use amd64 && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294 + use debug && scons_opts+=( --dbg=on ) + use kerberos && scons_opts+=( --use-sasl-client ) + + scons_opts+=( --ssl=$(usex ssl on off) ) + + # Needed to avoid forcing FORTIFY_SOURCE + # Gentoo's toolchain applies these anyway + scons_opts+=( --runtime-hardening=off ) + + # gold is an option here but we don't really do that anymore + if tc-ld-is-lld; then + scons_opts+=( --linker=lld ) + else + scons_opts+=( --linker=bfd ) + fi + + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + + default +} + +src_compile() { + PREFIX="${EPREFIX}/usr" ./buildscripts/scons.py "${scons_opts[@]}" install-devcore || die +} + +src_install() { + dobin build/install/bin/{mongo,mongod,mongos} + + doman debian/mongo*.1 + dodoc docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + newinitd "${FILESDIR}/mongos.initd-r3" mongos + newconfd "${FILESDIR}/mongos.confd-r3" mongos + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/mongos.conf-r2" mongos.conf + + systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} + + diropts -m0750 -o mongodb -g mongodb + keepdir /var/log/${PN} +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" +}