Changeset View
Changeset View
Standalone View
Standalone View
databases/mongodb50/Makefile
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/ | ||||
PKGNAMESUFFIX= ${DISTVERSION:R:S/.//} | PKGNAMESUFFIX= ${DISTVERSION:R:S/.//} | ||||
DISTNAME= mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION} | 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 | ||||
LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept | 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 \ | ||||
MAKE_ARGS= --use-system-zlib \ | |||||
--use-system-pcre \ | |||||
--use-system-snappy \ | |||||
--libc++ \ | --libc++ \ | ||||
--cxx-std=17 \ | |||||
--runtime-hardening=on \ | --runtime-hardening=on \ | ||||
--use-system-pcre \ | |||||
--use-system-snappy \ | |||||
--use-system-zlib \ | |||||
-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 | ||||
SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 | SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 | ||||
SASL_MAKE_ARGS= --use-sasl-client | SASL_MAKE_ARGS= --use-sasl-client | ||||
SSL_USES= ssl | SSL_USES= ssl | ||||
SSL_MAKE_ARGS= --ssl | 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 | ||||
ALL_TARGET= install-core | ALL_TARGET= install-core | ||||
PORTSCOUT= limitw:1,even | PORTSCOUT= limitw:1,even | ||||
CPE_PRODUCT= mongodb | CPE_PRODUCT= mongodb | ||||
pre-patch: | pre-patch: | ||||
${MV} ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.sx ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.S | ${MV} ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.sx ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.S | ||||
do-build: | do-build: | ||||
${WRKSRC}/buildscripts/scons.py -C ${WRKSRC} ${MAKE_ARGS} | ${WRKSRC}/buildscripts/scons.py -C ${WRKSRC} ${MAKE_ARGS} | ||||
do-install: | do-install: | ||||
.for f in mongo mongod mongos | .for f in mongo mongod mongos | ||||
${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> |