databases/mongodb50: Update to 5.0.3

* Enable LSE atomics on 14-CURRENT aarch64
* Pet portlint and portclippy
* Reformat Makefile with portfmt

ChangeLog:	https://docs.mongodb.com/manual/release-notes/5.0-changelog/#5.0.3-changelog
PR:		258978
Approved by:	meta (mentor)
Differential Revision:	https://reviews.freebsd.org/D32391
This commit is contained in:
Ronald Klop 2021-10-09 14:39:00 +09:00 committed by Yasuhiro Kimura
parent b15a31e89a
commit 4188e64d9c
4 changed files with 40 additions and 37 deletions

View file

@ -1,6 +1,6 @@
PORTNAME= mongodb PORTNAME= mongodb
DISTVERSIONPREFIX= r DISTVERSIONPREFIX= r
DISTVERSION= 5.0.2 DISTVERSION= 5.0.3
CATEGORIES= databases net CATEGORIES= databases net
MASTER_SITES= https://fastdl.mongodb.org/src/ \ MASTER_SITES= https://fastdl.mongodb.org/src/ \
http://fastdl.mongodb.org/src/ http://fastdl.mongodb.org/src/
@ -10,7 +10,7 @@ DISTNAME= mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION}
MAINTAINER= ronald-lists@klop.ws MAINTAINER= ronald-lists@klop.ws
COMMENT= Distributed document-oriented "NoSQL" database (5.0.x Branch) COMMENT= Distributed document-oriented "NoSQL" database (5.0.x Branch)
LICENSE= SSPLv1 APACHE20 # mongodb is SSPLv1, C++ driver is APACHE20 LICENSE= APACHE20 SSPLv1 # mongodb is SSPLv1, C++ driver is APACHE20
LICENSE_COMB= multi LICENSE_COMB= multi
LICENSE_NAME_SSPLv1= Server Side Public License Version 1 LICENSE_NAME_SSPLv1= Server Side Public License Version 1
LICENSE_FILE_SSPLv1= ${WRKSRC}/LICENSE-Community.txt LICENSE_FILE_SSPLv1= ${WRKSRC}/LICENSE-Community.txt
@ -19,40 +19,40 @@ LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64le ONLY_FOR_ARCHS= aarch64 amd64 powerpc64le
ONLY_FOR_ARCHS_REASON= Only ported to amd64, aarch64 and powerpc64le on FreeBSD. Upstream supports arm64, ppc64le, s390x and x86-64. ONLY_FOR_ARCHS_REASON= Only ported to amd64, aarch64 and powerpc64le on FreeBSD. Upstream supports arm64, ppc64le, s390x and x86-64.
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \ BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
${LOCALBASE}/bin/ar:devel/binutils ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR}
LIB_DEPENDS= libpcre.so:devel/pcre \ LIB_DEPENDS= libcurl.so:ftp/curl \
libcurl.so:ftp/curl \ libpcre.so:devel/pcre \
libsnappy.so:archivers/snappy libsnappy.so:archivers/snappy
USES= compiler:c++17-lang cpe python:3.5+,build scons shebangfix USES= compiler:c++17-lang cpe python:3.5+,build scons shebangfix
USE_RC_SUBR= mongod USE_RC_SUBR= mongod
SHEBANG_FILES= buildscripts/scons.py
python_OLD_CMD= @python_interpreter@
CONFLICTS_INSTALL= mongodb36 mongodb4[024] CONFLICTS_INSTALL= mongodb36 mongodb4[024]
USERS= mongodb
GROUPS= mongodb
OPTIONS_DEFINE= LTO SASL SSL OPTIONS_DEFINE= LTO SASL SSL
OPTIONS_DEFAULT= LTO SASL SSL OPTIONS_DEFAULT= LTO SASL SSL
OPTIONS_EXCLUDE_aarch64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}} OPTIONS_EXCLUDE_aarch64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
OPTIONS_EXCLUDE_aarch64_14= LTO # Does not work with llvm12 on aarch64. OPTIONS_EXCLUDE_aarch64_14= LTO # Does not work with llvm12 on aarch64.
SHEBANG_FILES= buildscripts/scons.py MAKE_ARGS= --cxx-std=17 \
python_OLD_CMD= @python_interpreter@ --disable-warnings-as-errors \
--libc++ \
MAKE_ARGS= --use-system-zlib \ --runtime-hardening=on \
--use-system-pcre \ --use-system-pcre \
--use-system-snappy \ --use-system-snappy \
--libc++ \ --use-system-zlib \
--cxx-std=17 \
--runtime-hardening=on \
-j ${MAKE_JOBS_NUMBER} \ -j ${MAKE_JOBS_NUMBER} \
--disable-warnings-as-errors \ AR=${PREFIX}/bin/ar \
VERBOSE=on \ VERBOSE=on
AR=${PREFIX}/bin/ar
USERS= mongodb
GROUPS= mongodb
LTO_MAKE_ARGS= --lto=on LTO_MAKE_ARGS= --lto=on
@ -64,6 +64,11 @@ SSL_MAKE_ARGS= --ssl
.include <bsd.port.pre.mk> .include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD && ((${OSREL:R} >= 14 && ${OSVERSION} < 1400033) \
&& ${ARCH} == "aarch64")
BROKEN= aarch64 needs LSE atomics which was fixed in https://cgit.freebsd.org/src/commit/?id=efe67f33c322265eb303ec0ab40275100795b22a
.endif
.if ${ARCH} == aarch64 || ${ARCH} == powerpc64le .if ${ARCH} == aarch64 || ${ARCH} == powerpc64le
EXTRA_PATCHES= ${FILESDIR}/${ARCH} EXTRA_PATCHES= ${FILESDIR}/${ARCH}
.endif .endif
@ -85,5 +90,9 @@ do-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
.endfor .endfor
${INSTALL_DATA} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample ${INSTALL_DATA} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in LICENSE-Community.txt MPL-2 README THIRD-PARTY-NOTICES
${MV} ${STAGEDIR}${PREFIX}/${doc} ${STAGEDIR}${DOCSDIR}/
.endfor
.include <bsd.port.post.mk> .include <bsd.port.post.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1628188110 TIMESTAMP = 1632143674
SHA256 (mongodb-src-r5.0.2.tar.gz) = 8877424e7568c209625ea7ed8bc38710887ab0133150d1fa713859db0064e315 SHA256 (mongodb-src-r5.0.3.tar.gz) = e01afa436d0275de79070449837efe343a7271432cdcf2edb69e9ae61ac037dd
SIZE (mongodb-src-r5.0.2.tar.gz) = 54527477 SIZE (mongodb-src-r5.0.3.tar.gz) = 54590513

View file

@ -36,13 +36,3 @@
"i386" : { "-march=" : "nocona", "-mtune=" : "generic" }, "i386" : { "-march=" : "nocona", "-mtune=" : "generic" },
"ppc64le" : { "-mcpu=" : "power8", "-mtune=" : "power8", "-mcmodel=" : "medium" }, "ppc64le" : { "-mcpu=" : "power8", "-mtune=" : "power8", "-mcmodel=" : "medium" },
"s390x" : { "-march=" : "z196", "-mtune=" : "zEC12" }, "s390x" : { "-march=" : "z196", "-mtune=" : "zEC12" },
@@ -4520,7 +4524,8 @@ def doConfigure(myenv):
myenv = conf.Finish()
if env['TARGET_ARCH'] == "aarch64":
- AddToCCFLAGSIfSupported(myenv, "-moutline-atomics")
+ # https://lists.freebsd.org/archives/freebsd-ports/2021-July/000431.html
+ AddToCCFLAGSIfSupported(myenv, "-mno-outline-atomics")
conf = Configure(myenv)
usdt_enabled = get_option('enable-usdt-probes')

View file

@ -2,3 +2,7 @@ bin/mongo
bin/mongod bin/mongod
bin/mongos bin/mongos
@sample etc/mongodb.conf.sample @sample etc/mongodb.conf.sample
%%DOCSDIR%%/LICENSE-Community.txt
%%DOCSDIR%%/MPL-2
%%DOCSDIR%%/README
%%DOCSDIR%%/THIRD-PARTY-NOTICES