Date: Mon, 15 Aug 2022 20:28:15 GMT From: Daniel Engberg <diizzy@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: cdca8109d6d0 - main - databases/mongodb50: Use more external libraries Message-ID: <202208152028.27FKSFUM069362@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by diizzy: URL: https://cgit.FreeBSD.org/ports/commit/?id=cdca8109d6d09b7f7b8ddcba55f9e1eb09332161 commit cdca8109d6d09b7f7b8ddcba55f9e1eb09332161 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2022-08-15 20:23:37 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2022-08-15 20:27:40 +0000 databases/mongodb50: Use more external libraries Make use of following libraries in tree: devel/boost-libs textproc/snowballstemmer devel/libunwind devel/yaml-cpp archivers/zstd While at it remove mtune option on amd64 as it potentially overrides CPUTYPE set by ports framework References: [1] https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/mongodb/files/mongodb-4.4.1-boost.patch https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/mongodb/files/mongodb-5.0.2-boost-1.79.patch PR: 265210 Reviewed by: Ronald Klop <ronald-lists@klop.ws> (maintainer) --- databases/mongodb50/Makefile | 24 +++++++- databases/mongodb50/files/patch-SConstruct | 9 +++ databases/mongodb50/files/patch-boost-179-compat | 70 ++++++++++++++++++++++ databases/mongodb50/files/patch-boost-179-link-fix | 21 +++++++ 4 files changed, 122 insertions(+), 2 deletions(-) diff --git a/databases/mongodb50/Makefile b/databases/mongodb50/Makefile index d7651e3e3103..853eb146a685 100644 --- a/databases/mongodb50/Makefile +++ b/databases/mongodb50/Makefile @@ -1,6 +1,7 @@ PORTNAME= mongodb DISTVERSIONPREFIX= r DISTVERSION= 5.0.10 +PORTREVISION= 1 CATEGORIES= databases net MASTER_SITES= https://fastdl.mongodb.org/src/ \ http://fastdl.mongodb.org/src/ @@ -23,9 +24,14 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \ ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} -LIB_DEPENDS= libcurl.so:ftp/curl \ +LIB_DEPENDS= libboost_log.so:devel/boost-libs \ + libcurl.so:ftp/curl \ libpcre.so:devel/pcre \ - libsnappy.so:archivers/snappy + libsnappy.so:archivers/snappy \ + libstemmer.so:textproc/snowballstemmer \ + libunwind.so:devel/libunwind \ + libyaml-cpp.so:devel/yaml-cpp \ + libzstd.so:archivers/zstd USES= compiler:c++17-lang cpe python:3.5+,build scons shebangfix USE_RC_SUBR= mongod @@ -37,9 +43,14 @@ MAKE_ARGS= --cxx-std=17 \ --disable-warnings-as-errors \ --libc++ \ --runtime-hardening=on \ + --use-system-boost \ --use-system-pcre \ --use-system-snappy \ + --use-system-stemmer \ + --use-system-libunwind \ + --use-system-yaml \ --use-system-zlib \ + --use-system-zstd \ -j ${MAKE_JOBS_NUMBER} \ AR=${PREFIX}/bin/ar \ VERBOSE=on @@ -79,6 +90,15 @@ CPE_PRODUCT= mongodb pre-patch: ${MV} ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.sx ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.S +post-patch: + ${RM} -rf ${WRKSRC}/src/third_party/boost + ${RM} -rf ${WRKSRC}/src/third_party/pcre-* + ${RM} -rf ${WRKSRC}/src/third_party/snappy-* + ${RM} -rf ${WRKSRC}/src/third_party/unwind + ${RM} -rf ${WRKSRC}/src/third_party/yaml-cpp + ${RM} -rf ${WRKSRC}/src/third_party/zlib-* + ${RM} -rf ${WRKSRC}/src/third_party/zstandard-* + do-build: ${WRKSRC}/buildscripts/scons.py -C ${WRKSRC} ${MAKE_ARGS} diff --git a/databases/mongodb50/files/patch-SConstruct b/databases/mongodb50/files/patch-SConstruct index fa8b0bb3ca4f..01af9a42437c 100644 --- a/databases/mongodb50/files/patch-SConstruct +++ b/databases/mongodb50/files/patch-SConstruct @@ -43,3 +43,12 @@ "i386" : { "-march=" : "nocona", "-mtune=" : "generic" }, "ppc64le" : { "-mcpu=" : "power8", "-mtune=" : "power8", "-mcmodel=" : "medium" }, "s390x" : { "-march=" : "z196", "-mtune=" : "zEC12" }, +@@ -2554,7 +2558,7 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too + if "sandybridge" in selected_experimental_optimizations: + default_targeting_flags_for_architecture["x86_64"] = { + "-march=" : "sandybridge", +- "-mtune=" : "generic", ++ # "-mtune=" : "generic", + "-mprefer-vector-width=" : "128", + } + diff --git a/databases/mongodb50/files/patch-boost-179-compat b/databases/mongodb50/files/patch-boost-179-compat new file mode 100644 index 000000000000..8135db48dd3c --- /dev/null +++ b/databases/mongodb50/files/patch-boost-179-compat @@ -0,0 +1,70 @@ +--- src/mongo/db/auth/security_key_test.cpp ++++ src/mongo/db/auth/security_key_test.cpp +@@ -30,6 +30,7 @@ + #include "mongo/platform/basic.h" + + #include <boost/filesystem.hpp> ++#include <boost/filesystem/fstream.hpp> + + #include "mongo/base/string_data.h" + #include "mongo/db/auth/authorization_manager.h" +--- src/mongo/db/storage/storage_repair_observer.cpp ++++ src/mongo/db/storage/storage_repair_observer.cpp +@@ -41,6 +41,7 @@ + #include <sys/types.h> + #endif + ++#include <boost/filesystem/fstream.hpp> + #include <boost/filesystem/path.hpp> + + #include "mongo/db/dbhelpers.h" +--- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp ++++ src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp +@@ -34,6 +34,7 @@ + #include "mongo/db/storage/kv/kv_engine_test_harness.h" + + #include <boost/filesystem.hpp> ++#include <boost/filesystem/fstream.hpp> + #include <boost/filesystem/path.hpp> + #include <memory> + +--- src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp ++++ src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp +@@ -36,6 +36,7 @@ + #include <limits> + + #include <boost/filesystem.hpp> ++#include <boost/filesystem/fstream.hpp> + #include <boost/filesystem/path.hpp> + + #include "mongo/base/simple_string_data_comparator.h" +--- src/mongo/shell/shell_utils_extended.cpp ++++ src/mongo/shell/shell_utils_extended.cpp +@@ -37,6 +37,7 @@ + #endif + + #include <boost/filesystem.hpp> ++#include <boost/filesystem/fstream.hpp> + #include <fmt/format.h> + #include <fstream> + +--- src/mongo/util/stacktrace_threads.cpp ++++ src/mongo/util/stacktrace_threads.cpp +@@ -36,6 +36,7 @@ + #include <array> + #include <atomic> + #include <boost/filesystem.hpp> ++#include <boost/filesystem/fstream.hpp> + #include <cstdint> + #include <cstdlib> + #include <dirent.h> +--- src/mongo/util/processinfo_linux.cpp ++++ src/mongo/util/processinfo_linux.cpp +@@ -36,6 +36,7 @@ + #include <iostream> + #include <malloc.h> + #include <pcrecpp.h> ++#include <fstream> + #include <sched.h> + #include <stdio.h> + #include <sys/mman.h> diff --git a/databases/mongodb50/files/patch-boost-179-link-fix b/databases/mongodb50/files/patch-boost-179-link-fix new file mode 100644 index 000000000000..157ebaaf0221 --- /dev/null +++ b/databases/mongodb50/files/patch-boost-179-link-fix @@ -0,0 +1,21 @@ +--- SConstruct ++++ SConstruct +@@ -3511,17 +3511,11 @@ def doConfigure(myenv): + "BOOST_LOG_NO_SHORTHAND_NAMES", + "BOOST_LOG_USE_NATIVE_SYSLOG", + "BOOST_LOG_WITHOUT_THREAD_ATTR", ++ "BOOST_LOG_DYN_LINK", + "ABSL_FORCE_ALIGNED_ACCESS", + ] + ) + +- if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk': +- conf.env.AppendUnique( +- CPPDEFINES=[ +- "BOOST_LOG_DYN_LINK", +- ] +- ) +- + if use_system_version_of_library("boost"): + if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ): + myenv.ConfError("can't find boost headers")
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202208152028.27FKSFUM069362>