summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--databases/mongodb70/Makefile15
-rw-r--r--databases/mongodb70/distinfo6
-rw-r--r--databases/mongodb70/files/extrapatch-SConstruct16
-rw-r--r--databases/mongodb70/files/patch-SConstruct14
-rw-r--r--databases/mongodb70/pkg-message3
5 files changed, 32 insertions, 22 deletions
diff --git a/databases/mongodb70/Makefile b/databases/mongodb70/Makefile
index a58c1a2426c6..48a879949ed5 100644
--- a/databases/mongodb70/Makefile
+++ b/databases/mongodb70/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mongodb
DISTVERSIONPREFIX= r
-DISTVERSION= 7.0.0-rc10
+DISTVERSION= 7.0.0
CATEGORIES= databases net
PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}
@@ -25,7 +25,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR}
# build depends used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh
BUILD_DEPENDS+= autoconf2.13:devel/autoconf2.13 \
gsed:textproc/gsed
-LIB_DEPENDS= libcurl.so:ftp/curl \
+LIB_DEPENDS= libcurl.so:ftp/curl \
libpcre2-8.so:devel/pcre2 \
libsnappy.so:archivers/snappy \
libstemmer.so:textproc/snowballstemmer \
@@ -49,10 +49,10 @@ USE_RC_SUBR= mongod
SHEBANG_FILES= buildscripts/scons.py
python_OLD_CMD= @python_interpreter@
-MAKE_ARGS= --cxx-std=20 \
+MAKE_ARGS= --allocator=system \
+ --cxx-std=20 \
--disable-warnings-as-errors \
--libc++ \
- --allocator=system \
--runtime-hardening=on \
--use-system-libunwind \
--use-system-pcre2 \
@@ -74,10 +74,17 @@ USERS= mongodb
GROUPS= mongodb
OPTIONS_DEFINE= LTO SASL SSL NOAVX
+OPTIONS_DEFINE_aarch64= ARMV80A
OPTIONS_DEFAULT= LTO SASL SSL
+# MongoDB on non-LSE ARM cpu like Raspberry Pi can work but is unsupported upstream.
+# Can give corruption on high concurrency.
+# Please read https://jira.mongodb.org/browse/SERVER-71772.
+ARMV80A_DESC= Enable non-LSE ARM64 CPUs like RPI4.
NOAVX_DESC= "Disable AVX instructions on amd64 (Sandybridge+)"
+ARMV80A_EXTRA_PATCHES= ${FILESDIR}/extrapatch-SConstruct
+
LTO_MAKE_ARGS= --lto=on
NOAVX_MAKE_ARGS= --experimental-optimization="-sandybridge"
diff --git a/databases/mongodb70/distinfo b/databases/mongodb70/distinfo
index dd9d38b66a35..cee89957d4f2 100644
--- a/databases/mongodb70/distinfo
+++ b/databases/mongodb70/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1690478790
-SHA256 (mongodb-mongo-r7.0.0-rc10_GH0.tar.gz) = ea5c1cce1c58dcfc802c28ce3df34eb56db0d826f90a4fe3f13337902073887b
-SIZE (mongodb-mongo-r7.0.0-rc10_GH0.tar.gz) = 113471282
+TIMESTAMP = 1691085993
+SHA256 (mongodb-mongo-r7.0.0_GH0.tar.gz) = 922460d4eafcb3f7cc2a0bfc3d77422ed1a3a6c665826a2ed7609efd598820f1
+SIZE (mongodb-mongo-r7.0.0_GH0.tar.gz) = 113448068
SHA256 (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = a365bf54ef4e4fd6a136cf6afa9c620ba0c8982402473b9bfac38928a688a9e0
SIZE (mongodb-forks-spidermonkey-82aac6af18abcd5bf188afbc821779ccb0ca0902_GH0.tar.gz) = 141291901
diff --git a/databases/mongodb70/files/extrapatch-SConstruct b/databases/mongodb70/files/extrapatch-SConstruct
new file mode 100644
index 000000000000..05946bd82cdc
--- /dev/null
+++ b/databases/mongodb70/files/extrapatch-SConstruct
@@ -0,0 +1,16 @@
+--- SConstruct.orig 2023-06-07 17:07:38 UTC
++++ SConstruct
+@@ -3217,8 +3205,12 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too
+ # setting it for both C and C++ by setting both of CFLAGS and
+ # CXXFLAGS.
+
++ arm_march_flag = "armv8-a"
++ if get_option('use-hardware-crc32') == "on":
++ arm_march_flag += "+crc"
++
+ default_targeting_flags_for_architecture = {
+- "aarch64": {"-march=": "armv8.2-a", "-mtune=": "generic"},
++ "aarch64": {"-march=": arm_march_flag, "-mtune=": "generic"},
+ "i386": {"-march=": "nocona", "-mtune=": "generic"},
+ "ppc64le": {"-mcpu=": "power8", "-mtune=": "power8", "-mcmodel=": "medium"},
+ "s390x": {"-march=": "z196", "-mtune=": "zEC12"},
diff --git a/databases/mongodb70/files/patch-SConstruct b/databases/mongodb70/files/patch-SConstruct
index b5998fcb4a52..a6da48e57114 100644
--- a/databases/mongodb70/files/patch-SConstruct
+++ b/databases/mongodb70/files/patch-SConstruct
@@ -55,17 +55,3 @@
"-Wall",
"-Wsign-compare",
"-Wno-unknown-pragmas",
-@@ -3217,8 +3205,12 @@ if not env.TargetOSIs('windows', 'macOS') and (env.Too
- # setting it for both C and C++ by setting both of CFLAGS and
- # CXXFLAGS.
-
-+ arm_march_flag = "armv8-a"
-+ if get_option('use-hardware-crc32') == "on":
-+ arm_march_flag += "+crc"
-+
- default_targeting_flags_for_architecture = {
-- "aarch64": {"-march=": "armv8.2-a", "-mtune=": "generic"},
-+ "aarch64": {"-march=": arm_march_flag, "-mtune=": "generic"},
- "i386": {"-march=": "nocona", "-mtune=": "generic"},
- "ppc64le": {"-mcpu=": "power8", "-mtune=": "power8", "-mcmodel=": "medium"},
- "s390x": {"-march=": "z196", "-mtune=": "zEC12"},
diff --git a/databases/mongodb70/pkg-message b/databases/mongodb70/pkg-message
index e0a343760e63..53d27f877b5a 100644
--- a/databases/mongodb70/pkg-message
+++ b/databases/mongodb70/pkg-message
@@ -2,7 +2,8 @@
{ type: install
message: <<EOM
MongoDB on Raspberry Pi can work but is unsupported upstream.
-Please read https://jira.mongodb.org/browse/SERVER-71772 if you run this on a non-LSE ARM cpu.
+Please read https://jira.mongodb.org/browse/SERVER-71772 and enable option
+ARMV80A if you run this on a non-LSE ARM cpu like Raspberry Pi 4.
EOM
}
]