aboutsummaryrefslogtreecommitdiff
path: root/databases/mongodb50/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'databases/mongodb50/Makefile')
-rw-r--r--databases/mongodb50/Makefile69
1 files changed, 45 insertions, 24 deletions
diff --git a/databases/mongodb50/Makefile b/databases/mongodb50/Makefile
index 29b5cd451aa1..ccbc2e666182 100644
--- a/databases/mongodb50/Makefile
+++ b/databases/mongodb50/Makefile
@@ -1,14 +1,16 @@
PORTNAME= mongodb
DISTVERSIONPREFIX= r
-DISTVERSION= 5.0.3
+DISTVERSION= 5.0.26
+PORTREVISION= 1
CATEGORIES= databases net
MASTER_SITES= https://fastdl.mongodb.org/src/ \
http://fastdl.mongodb.org/src/
PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}
DISTNAME= mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION}
-MAINTAINER= ronald-lists@klop.ws
+MAINTAINER= ronald@FreeBSD.org
COMMENT= Distributed document-oriented "NoSQL" database (5.0.x Branch)
+WWW= https://docs.mongodb.com/v5.0/
LICENSE= APACHE20 SSPLv1 # mongodb is SSPLv1, C++ driver is APACHE20
LICENSE_COMB= multi
@@ -19,43 +21,56 @@ LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
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
-BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
- ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
+BUILD_DEPENDS= ${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 \
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
+USES= compiler:c++17-lang cpe python:build scons shebangfix
USE_RC_SUBR= mongod
SHEBANG_FILES= buildscripts/scons.py
python_OLD_CMD= @python_interpreter@
-CONFLICTS_INSTALL= mongodb36 mongodb4[024]
-
-USERS= mongodb
-GROUPS= mongodb
-
-OPTIONS_DEFINE= LTO SASL SSL
-OPTIONS_DEFAULT= LTO SASL SSL
-OPTIONS_EXCLUDE_aarch64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
-OPTIONS_EXCLUDE_aarch64_14= LTO # Does not work with llvm12 on aarch64.
-
+# --modules= disables "enterprise" module from src/mongo/db/modules/
MAKE_ARGS= --cxx-std=17 \
--disable-warnings-as-errors \
--libc++ \
+ --modules= \
--runtime-hardening=on \
+ --use-system-libunwind \
--use-system-pcre \
--use-system-snappy \
+ --use-system-stemmer \
+ --use-system-yaml \
--use-system-zlib \
+ --use-system-zstd \
-j ${MAKE_JOBS_NUMBER} \
- AR=${PREFIX}/bin/ar \
+ AR=llvm-ar \
VERBOSE=on
+CFLAGS+= -DBOOST_NO_CXX98_FUNCTION_BASE
+
+CONFLICTS_INSTALL= mongodb[0-9][0-9] # etc/mongodb.conf.sample
+
+USERS= mongodb
+GROUPS= mongodb
+
+OPTIONS_DEFINE= LTO SASL SSL NOAVX
+OPTIONS_DEFAULT= SASL SSL
+
+NOAVX_DESC= "Disable AVX instructions on amd64 (Sandybridge+)"
+
LTO_MAKE_ARGS= --lto=on
+NOAVX_MAKE_ARGS= --experimental-optimization="-sandybridge"
+
SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
SASL_MAKE_ARGS= --use-sasl-client
@@ -64,24 +79,29 @@ SSL_MAKE_ARGS= --ssl
.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
EXTRA_PATCHES= ${FILESDIR}/${ARCH}
.endif
ALL_TARGET= install-core
-PORTSCOUT= limitw:1,even
+# This ports is only following the Major Release.
+# https://docs.mongodb.com/manual/reference/versioning/
+PORTSCOUT= limit:^5\.0\.
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/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}
@@ -90,9 +110,10 @@ do-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
.endfor
${INSTALL_DATA} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in LICENSE-Community.txt MPL-2 README THIRD-PARTY-NOTICES
${MV} ${STAGEDIR}${PREFIX}/${doc} ${STAGEDIR}${DOCSDIR}/
.endfor
+ ${RM} ${STAGEDIR}${PREFIX}/bin/resmoke.py
.include <bsd.port.post.mk>