git: 32bbdaf1f437 - main - databases/mongodb70: update to 7.0.0 release

From: Ronald Klop <ronald_at_FreeBSD.org>
Date: Tue, 15 Aug 2023 10:03:08 UTC
The branch main has been updated by ronald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=32bbdaf1f437cc55439136d17ea1368f912e03f3

commit 32bbdaf1f437cc55439136d17ea1368f912e03f3
Author:     Ronald Klop <ronald@FreeBSD.org>
AuthorDate: 2023-08-15 09:56:07 +0000
Commit:     Ronald Klop <ronald@FreeBSD.org>
CommitDate: 2023-08-15 10:02:53 +0000

    databases/mongodb70: update to 7.0.0 release
    
    Changes: https://www.mongodb.com/docs/v7.0/release-notes/7.0/
    
    * version bump
    * new option ARMV80A to support older ARM cpus like Raspberry Pi 4
    * pet portclippy and portfmt
    * poudriere stage-qa: ok
    
    As upstream has stopped supporting non-LSE ARM cpus I'm adapting
    the port also. The option ARMV80A is for backwards compatibility,
    but use at your own risk. See pkg-message for more info.
---
 databases/mongodb70/Makefile                    | 15 +++++++++++----
 databases/mongodb70/distinfo                    |  6 +++---
 databases/mongodb70/files/extrapatch-SConstruct | 16 ++++++++++++++++
 databases/mongodb70/files/patch-SConstruct      | 14 --------------
 databases/mongodb70/pkg-message                 |  3 ++-
 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
 }
 ]