aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Engberg <diizzy@FreeBSD.org>2022-08-15 20:23:37 +0000
committerDaniel Engberg <diizzy@FreeBSD.org>2022-08-15 20:27:40 +0000
commitcdca8109d6d09b7f7b8ddcba55f9e1eb09332161 (patch)
treea988210db59076c22a7ad7748f2be91f5006ba58
parent261ad60e13b346e4c996f0089f4d90a0b22d9550 (diff)
downloadports-cdca8109d6d09b7f7b8ddcba55f9e1eb09332161.tar.gz
ports-cdca8109d6d09b7f7b8ddcba55f9e1eb09332161.zip
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)
-rw-r--r--databases/mongodb50/Makefile24
-rw-r--r--databases/mongodb50/files/patch-SConstruct9
-rw-r--r--databases/mongodb50/files/patch-boost-179-compat70
-rw-r--r--databases/mongodb50/files/patch-boost-179-link-fix21
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")