summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-05-28 02:38:59 +0100
committerSam James <sam@gentoo.org>2024-05-28 02:38:59 +0100
commit4f2c752ff3afb0952991e09cb7fb4947b57df06f (patch)
treedb47339962f7ceed753776978b4b10cd130481dc /dev-db
parentnet-wireless/uhd: fix build w/ boost-1.85 (diff)
downloadgentoo-4f2c752ff3afb0952991e09cb7fb4947b57df06f.tar.gz
gentoo-4f2c752ff3afb0952991e09cb7fb4947b57df06f.tar.bz2
gentoo-4f2c752ff3afb0952991e09cb7fb4947b57df06f.zip
dev-db/mongodb: fix build w/ boost-1.85
Closes: https://bugs.gentoo.org/932251 Thanks-to: Jura <me@slie.ru> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch139
-rw-r--r--dev-db/mongodb/mongodb-5.0.26.ebuild1
2 files changed, 140 insertions, 0 deletions
diff --git a/dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch b/dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch
new file mode 100644
index 000000000000..71da50fe21eb
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-5.0.26-boost-1.85.patch
@@ -0,0 +1,139 @@
+https://bugs.gentoo.org/932251
+https://github.com/mongodb/mongo/commit/f8e4be7f6da71f978b2aa9991febb4c7ad89c903#diff-010644a9158d28e5745762753c7ce454444c9fb9ab4c684e9f2fdcff50c6f539
+https://bugs.gentoo.org/932251#c3
+
+--- a/src/mongo/db/initialize_server_global_state.cpp
++++ b/src/mongo/db/initialize_server_global_state.cpp
+@@ -34,7 +34,7 @@
+ #include "mongo/db/initialize_server_global_state.h"
+ #include "mongo/db/initialize_server_global_state_gen.h"
+
+-#include <boost/filesystem/operations.hpp>
++#include <boost/filesystem.hpp>
+ #include <fmt/format.h>
+ #include <iostream>
+ #include <memory>
+@@ -328,7 +328,7 @@
+ << "\" 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);
+--- a/src/mongo/db/startup_warnings_mongod.cpp
++++ b/src/mongo/db/startup_warnings_mongod.cpp
+@@ -34,6 +34,7 @@
+ #include "mongo/db/startup_warnings_mongod.h"
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <fstream>
+ #ifndef _WIN32
+ #include <sys/resource.h>
+--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
++++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
+@@ -55,7 +55,7 @@
+ // 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,
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+@@ -64,7 +64,7 @@
+ }
+
+
+- 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());
+
+--- a/src/mongo/db/storage/storage_engine_metadata.cpp
++++ b/src/mongo/db/storage/storage_engine_metadata.cpp
+@@ -220,7 +220,7 @@
+ // 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,
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+@@ -229,7 +229,7 @@
+ }
+
+
+- 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());
+
+--- a/src/mongo/scripting/engine.cpp
++++ b/src/mongo/scripting/engine.cpp
+@@ -35,6 +35,7 @@
+
+ #include <algorithm>
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+
+ #include "mongo/base/string_data.h"
+ #include "mongo/client/dbclient_base.h"
+--- a/src/mongo/shell/shell_utils_launcher.cpp
++++ b/src/mongo/shell/shell_utils_launcher.cpp
+@@ -39,6 +39,7 @@
+ #include <boost/iostreams/stream.hpp>
+ #include <boost/iostreams/stream_buffer.hpp>
+ #include <boost/iostreams/tee.hpp>
++#include <boost/filesystem.hpp>
+ #include <fcntl.h>
+ #include <fmt/format.h>
+ #include <iostream>
+@@ -947,26 +948,26 @@
+ 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;
+--- a/src/mongo/shell/shell_utils_launcher.h
++++ b/src/mongo/shell/shell_utils_launcher.h
+@@ -29,7 +29,7 @@
+
+ #pragma once
+
+-#include <boost/filesystem/convenience.hpp>
++#include <boost/filesystem/path.hpp>
+ #include <map>
+ #include <sstream>
+ #include <string>
+
diff --git a/dev-db/mongodb/mongodb-5.0.26.ebuild b/dev-db/mongodb/mongodb-5.0.26.ebuild
index a31c0680250e..28ab71b3da37 100644
--- a/dev-db/mongodb/mongodb-5.0.26.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.26.ebuild
@@ -74,6 +74,7 @@ PATCHES=(
"${FILESDIR}/${PN}-5.0.5-boost-1.81-extra.patch"
"${FILESDIR}/${PN}-5.0.16-arm64-assert.patch"
"${FILESDIR}/${PN}-4.4.29-no-enterprise.patch"
+ "${FILESDIR}/${PN}-5.0.26-boost-1.85.patch"
)
python_check_deps() {