Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id AF45184EB3 for ; Sat, 29 Jul 2023 11:51:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id SyrjN8jDNe5O for ; Sat, 29 Jul 2023 11:51:16 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 0339284CDC for ; Sat, 29 Jul 2023 11:51:15 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id E9CF0FBDB; Sat, 29 Jul 2023 11:51:15 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_169063147573160" MIME-Version: 1.0 Date: Sat, 29 Jul 2023 11:51:15 +0000 From: "Adam Ciarcinski" Subject: CVS commit: pkgsrc/databases To: pkgsrc-changes@NetBSD.org Approved: commit_and_comment Reply-To: adam@netbsd.org X-Mailer: log_accum Message-Id: <20230729115115.E9CF0FBDB@cvs.NetBSD.org> This is a multi-part message in MIME format. --_----------=_169063147573160 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: adam Date: Sat Jul 29 11:51:15 UTC 2023 Modified Files: pkgsrc/databases: Makefile Added Files: pkgsrc/databases/mongodb4: DESCR Makefile PLIST distinfo options.mk pkgsrc/databases/mongodb4/files: mongodb.sh pkgsrc/databases/mongodb4/files/smf: manifest.xml mongodb.sh pkgsrc/databases/mongodb4/patches: patch-SConstruct patch-site__scons_mongo_platform.py patch-site__scons_site__tools_libtool.py patch-src_mongo_base_initializer.h patch-src_mongo_db_query_collation_collator__interface__icu.h patch-src_mongo_db_repl_isself.cpp patch-src_mongo_db_storage_storage__repair__observer.cpp patch-src_mongo_platform_random.cpp patch-src_mongo_platform_stack__locator__netbsd.cpp patch-src_mongo_shell_linenoise__utf8.h patch-src_mongo_shell_shell__utils__extended.cpp patch-src_mongo_util_intrusive__counter.h patch-src_mongo_util_processinfo__netbsd.cpp patch-src_mongo_util_time__support.cpp patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h patch-src_third__party_s2_base_port.h patch-src_third__party_wiredtiger_SConscript patch-src_third__party_wiredtiger_src_os__posix_os__fs.c Log Message: mongodb4: added version 4.4.23 https://www.mongodb.com/docs/manual/release-notes/4.4/ To generate a diff of this commit: cvs rdiff -u -r1.680 -r1.681 pkgsrc/databases/Makefile cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb4/DESCR \ pkgsrc/databases/mongodb4/Makefile pkgsrc/databases/mongodb4/PLIST \ pkgsrc/databases/mongodb4/distinfo pkgsrc/databases/mongodb4/options.mk cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb4/files/mongodb.sh cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb4/files/smf/manifest.xml \ pkgsrc/databases/mongodb4/files/smf/mongodb.sh cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb4/patches/patch-SConstruct \ pkgsrc/databases/mongodb4/patches/patch-site__scons_mongo_platform.py \ pkgsrc/databases/mongodb4/patches/patch-site__scons_site__tools_libtool.py \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_base_initializer.h \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_repl_isself.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_random.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_linenoise__utf8.h \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_shell__utils__extended.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_intrusive__counter.h \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_processinfo__netbsd.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_time__support.cpp \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_s2_base_port.h \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_SConscript \ pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_169063147573160 Content-Disposition: inline Content-Length: 49240 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/databases/Makefile diff -u pkgsrc/databases/Makefile:1.680 pkgsrc/databases/Makefile:1.681 --- pkgsrc/databases/Makefile:1.680 Mon Jul 10 22:55:49 2023 +++ pkgsrc/databases/Makefile Sat Jul 29 11:51:15 2023 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.680 2023/07/10 22:55:49 nia Exp $ +# $NetBSD: Makefile,v 1.681 2023/07/29 11:51:15 adam Exp $ COMMENT= Databases @@ -113,6 +113,7 @@ SUBDIR+= mongo-c-driver SUBDIR+= mongo-tools SUBDIR+= mongodb SUBDIR+= mongodb3 +SUBDIR+= mongodb4 SUBDIR+= myodbc SUBDIR+= mysql-connector-c++ SUBDIR+= mysql56-client Added files: Index: pkgsrc/databases/mongodb4/DESCR diff -u /dev/null pkgsrc/databases/mongodb4/DESCR:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/DESCR Sat Jul 29 11:51:15 2023 @@ -0,0 +1,6 @@ +Mongo (from "humongous") is a high-performance, open source, schema-free, +document-oriented database. It features: document data model with dynamic +schemas; full, flexible index support and rich queries; auto-Sharding for +horizontal scalability; built-in replication for high availability; text +search; advanced security; aggregation Framework and MapReduce; large media +storage with GridFS. Index: pkgsrc/databases/mongodb4/Makefile diff -u /dev/null pkgsrc/databases/mongodb4/Makefile:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/Makefile Sat Jul 29 11:51:15 2023 @@ -0,0 +1,188 @@ +# $NetBSD: Makefile,v 1.1 2023/07/29 11:51:15 adam Exp $ + +DISTNAME= mongodb-src-r4.4.23 +PKGNAME= ${DISTNAME:S/src-r//} +CATEGORIES= databases +MASTER_SITES= http://fastdl.mongodb.org/src/ + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://www.mongodb.com/ +COMMENT= NoSQL distributed document-oriented database +LICENSE= server-side-public-license # Client and tools licensed under apache-2.0 + +# MongoDB 3.4 onwards explicitly does not support 32-bit x86 platforms +NOT_FOR_PLATFORM+= *-*-i386 + +EXTRACT_USING= bsdtar + +# etc/pip/core-requirements.txt +TOOL_DEPENDS+= ${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah3 +TOOL_DEPENDS+= ${PYPKGPREFIX}-mongo>=3.0:../../databases/py-mongo +TOOL_DEPENDS+= ${PYPKGPREFIX}-psutil-[0-9]*:../../sysutils/py-psutil +TOOL_DEPENDS+= ${PYPKGPREFIX}-regex-[0-9]*:../../textproc/py-regex +TOOL_DEPENDS+= ${PYPKGPREFIX}-requests>=2.0.0:../../devel/py-requests +TOOL_DEPENDS+= ${PYPKGPREFIX}-yaml>=3.0.0:../../textproc/py-yaml +TOOL_DEPENDS+= ${PYPKGPREFIX}-wrapt>=1.12.1:../../devel/py-wrapt + +# https://github.com/mongodb/mongo/blob/master/docs/building.md +USE_LANGUAGES= c99 c++17 +USE_CXX_FEATURES+= c++17 filesystem + +USE_TOOLS+= pkg-config + +SCONS_BUILD_ARGS= ${_MAKE_JOBS} +SCONS_BUILD_ARGS+= --dbg=off # on: argument parsing problem +SCONS_BUILD_ARGS+= --disable-warnings-as-errors +SCONS_BUILD_ARGS+= --release +SCONS_BUILD_ARGS+= --runtime-hardening=off # on: does not produce executables +#SCONS_BUILD_ARGS+= --use-system-abseil-cpp +#SCONS_BUILD_ARGS+= --use-system-asio +SCONS_BUILD_ARGS+= --use-system-boost +SCONS_BUILD_ARGS+= --use-system-icu +SCONS_BUILD_ARGS+= --use-system-mongo-c +SCONS_BUILD_ARGS+= --use-system-pcre +SCONS_BUILD_ARGS+= --use-system-snappy +SCONS_BUILD_ARGS+= --use-system-tcmalloc +#SCONS_BUILD_ARGS+= --use-system-wiredtiger +SCONS_BUILD_ARGS+= --use-system-yaml +SCONS_BUILD_ARGS+= --use-system-zlib +SCONS_BUILD_ARGS+= --use-system-zstd + +PYTHON_VERSIONS_INCOMPATIBLE= 27 + +.include "../../mk/bsd.prefs.mk" + +INCL_PATH+= ${BUILDLINK_PREFIX.mongo-c-driver}/include/libbson-1.0 +INCL_PATH+= ${BUILDLINK_PREFIX.mongo-c-driver}/include/libmongoc-1.0 +LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib + +# needed for linking against boost_log, otherwise some symbols are not found +SCONS_BUILD_ARGS+= CPPDEFINES=-DBOOST_LOG_DYN_LINK=1 +SCONS_BUILD_ARGS+= CC=${CC:Q} +SCONS_BUILD_ARGS+= CXX=${CXX:Q} +SCONS_BUILD_ARGS+= CFLAGS=${CFLAGS:Q} +SCONS_BUILD_ARGS+= CXXFLAGS=${CXXFLAGS:Q} +SCONS_BUILD_ARGS+= LINKFLAGS=${LDFLAGS:Q} +SCONS_BUILD_ARGS+= CPPPATH=${INCL_PATH:Q} +INSTALL_TARGET= install-devcore +SCONS_INSTALL_ARGS+= DESTDIR=${DESTDIR} +SCONS_INSTALL_ARGS+= PREFIX=${PREFIX} + +.include "options.mk" + +SMF_METHODS+= mongodb + +BUILD_DEFS+= VARBASE +BUILD_DEFS+= MONGODB_USER MONGODB_GROUP MONGODB_DBPATH +BUILD_DEFS+= MONGODB_LOGPATH + +MONGODB_USER?= mongodb +MONGODB_GROUP?= mongodb +MONGODB_DBPATH?= ${VARBASE}/mongodb +MONGODB_CONFIGDBPATH?= ${VARBASE}/mongoconfigdb +MONGODB_LOGPATH?= ${VARBASE}/log/mongodb + +PKG_USERS_VARS+= MONGODB_USER +PKG_GROUPS_VARS+= MONGODB_GROUP + +PKG_GROUPS= ${MONGODB_GROUP} +PKG_USERS= ${MONGODB_USER}:${MONGODB_GROUP} + +PKG_GECOS.${MONGODB_USER}= MongoDB database administrator +PKG_HOME.${MONGODB_USER}= ${MONGODB_DBPATH} +PKG_SHELL.${MONGODB_USER}= ${SH} + +OWN_DIRS_PERMS+= ${MONGODB_DBPATH:Q} ${MONGODB_USER} ${MONGODB_GROUP} 0755 +OWN_DIRS_PERMS+= ${MONGODB_DBPATH:Q}/journal ${MONGODB_USER} ${MONGODB_GROUP} 0755 +OWN_DIRS_PERMS+= ${MONGODB_LOGPATH:Q} ${MONGODB_USER} ${MONGODB_GROUP} 0755 + +FILES_SUBST+= MONGODB_USER=${MONGODB_USER} +FILES_SUBST+= MONGODB_GROUP=${MONGODB_GROUP} +FILES_SUBST+= MONGODB_DBPATH=${MONGODB_DBPATH} +FILES_SUBST+= MONGODB_LOGPATH=${MONGODB_LOGPATH} + +SUBST_CLASSES+= path +SUBST_STAGE.path= pre-build +SUBST_MESSAGE.path= Replacing database paths. +SUBST_FILES.path= debian/mongo.1 debian/mongod.1 +SUBST_FILES.path+= src/mongo/db/storage/storage_options.cpp +SUBST_SED.path= -e 's,/data/db,${MONGODB_DBPATH},g' +SUBST_SED.path+= -e 's,/data/configdb,${MONGODB_CONFIGDBPATH},g' +SUBST_SED.path+= -e 's,/etc,${PKG_SYSCONFDIR},g' + +SUBST_CLASSES+= varbase +SUBST_STAGE.varbase= pre-build +SUBST_MESSAGE.varbase= Changing /var to ${VARBASE}. +SUBST_FILES.varbase= debian/mongod.conf +SUBST_SED.varbase= -e 's,/var/lib/mongodb,${VARBASE}/mongodb,g' +SUBST_SED.varbase+= -e 's,/var/log/mongodb,${VARBASE}/mongodb,g' + +REPLACE_PYTHON+= src/mongo/installer/compass/install_compass + +NOT_PAX_MPROTECT_SAFE+= bin/mongo bin/mongod bin/mongos + +RCD_SCRIPTS= mongodb + +INSTALLATION_DIRS+= share/doc/mongodb share/examples/mongodb ${PKGMANDIR}/man1 + +CONF_FILES+= share/examples/mongodb/mongod.conf \ + ${PKG_SYSCONFDIR}/mongod.conf + +CHECK_PORTABILITY_SKIP= src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/etc/add-license.sh + +# Copy system specific files for NetBSD and DragonFly +post-extract: + ${CHMOD} -R g-w ${WRKSRC} + ${CP} -R ${WRKSRC}/src/third_party/mozjs-60/platform/x86_64/freebsd \ + ${WRKSRC}/src/third_party/mozjs-60/platform/x86_64/dragonfly + ${CP} -R ${WRKSRC}/src/third_party/mozjs-60/platform/x86_64/freebsd \ + ${WRKSRC}/src/third_party/mozjs-60/platform/x86_64/netbsd + ${CP} ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_openbsd.cpp \ + ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_netbsd.cpp + ${CP} ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_freebsd.cpp \ + ${WRKSRC}/src/mongo/db/ftdc/ftdc_system_stats_dragonfly.cpp + ${CP} ${WRKSRC}/src/mongo/util/processinfo_openbsd.cpp \ + ${WRKSRC}/src/mongo/util/processinfo_netbsd.cpp + ${CP} ${WRKSRC}/src/mongo/util/processinfo_freebsd.cpp \ + ${WRKSRC}/src/mongo/util/processinfo_dragonfly.cpp + ${CP} ${WRKSRC}/src/mongo/platform/stack_locator_freebsd.cpp \ + ${WRKSRC}/src/mongo/platform/stack_locator_netbsd.cpp + ${CP} ${WRKSRC}/src/mongo/platform/stack_locator_freebsd.cpp \ + ${WRKSRC}/src/mongo/platform/stack_locator_dragonfly.cpp + ${CP} -R ${WRKSRC}/src/third_party/wiredtiger/build_openbsd \ + ${WRKSRC}/src/third_party/wiredtiger/build_netbsd + ${CP} -R ${WRKSRC}/src/third_party/wiredtiger/build_freebsd \ + ${WRKSRC}/src/third_party/wiredtiger/build_dragonfly + +# let REPLACE_INTERPRETER kick in +do-configure: + ${DO_NADA} + +post-install: +.for junk in LICENSE-Community.txt MPL-2 README THIRD-PARTY-NOTICES bin/resmoke.py macos_mongodb.plist + ${RM} -f ${DESTDIR}${PREFIX}/${junk} +.endfor + ${INSTALL_MAN} ${WRKSRC}/debian/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 + ${INSTALL_DATA} ${WRKSRC}/debian/mongod.conf \ + ${DESTDIR}${PREFIX}/share/examples/mongodb + +.include "../../archivers/zstd/buildlink3.mk" +.include "../../databases/mongo-c-driver/buildlink3.mk" +#.include "../../databases/wiredtiger/buildlink3.mk" +#.include "../../devel/abseil/buildlink3.mk" +#.include "../../devel/asio/buildlink3.mk" +.include "../../devel/boost-headers/buildlink3.mk" +.include "../../devel/boost-libs/buildlink3.mk" +.include "../../devel/libexecinfo/buildlink3.mk" +.include "../../devel/pcre/buildlink3.mk" +.include "../../devel/scons4/build.mk" +_SCONS_BUILD_ARGS= -j${MAKE_JOBS:U1} +_SCONS_BUILD_ARGS+= ${SCONS_BUILD_ARGS} +.include "../../devel/snappy/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../net/libpcap/buildlink3.mk" +.include "../../textproc/icu/buildlink3.mk" +.include "../../textproc/yaml-cpp/buildlink3.mk" +.include "../../www/curl/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" Index: pkgsrc/databases/mongodb4/PLIST diff -u /dev/null pkgsrc/databases/mongodb4/PLIST:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/PLIST Sat Jul 29 11:51:15 2023 @@ -0,0 +1,10 @@ +@comment $NetBSD: PLIST,v 1.1 2023/07/29 11:51:15 adam Exp $ +bin/mongo +bin/mongod +bin/mongos +man/man1/mongo.1 +man/man1/mongod.1 +man/man1/mongokerberos.1 +man/man1/mongoldap.1 +man/man1/mongos.1 +share/examples/mongodb/mongod.conf Index: pkgsrc/databases/mongodb4/distinfo diff -u /dev/null pkgsrc/databases/mongodb4/distinfo:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/distinfo Sat Jul 29 11:51:15 2023 @@ -0,0 +1,26 @@ +$NetBSD: distinfo,v 1.1 2023/07/29 11:51:15 adam Exp $ + +BLAKE2s (mongodb-src-r4.4.23.tar.gz) = ea3a0a1fc31c488918fd291f95cebb892886f6a412ded4cac802277489b726fc +SHA512 (mongodb-src-r4.4.23.tar.gz) = 54274526cd9ea8eb56398d4ec2aca12c560e8d8a44083c965ede9b6b8058e79a89a8f00e5a791f3b6e21f6deaf9082a57527f582ac3b11e310baa10c9d09f4f6 +Size (mongodb-src-r4.4.23.tar.gz) = 50914660 bytes +SHA1 (patch-SConstruct) = 2f8402c96d5a94c65a422a063e34785277ef7cc9 +SHA1 (patch-site__scons_mongo_platform.py) = 6a6daba04876f9779a26c579e6f6a66f55e1cbe6 +SHA1 (patch-site__scons_site__tools_libtool.py) = 5663c0095939fa5404776bfb7b472b27cfe3a254 +SHA1 (patch-src_mongo_base_initializer.h) = efaec2e3b5b8a4bfb15c65c6952924cd1469bdc7 +SHA1 (patch-src_mongo_db_query_collation_collator__interface__icu.h) = f6382a3dcdbaed26fe692aa1ea43b2640168b253 +SHA1 (patch-src_mongo_db_repl_isself.cpp) = b7931feac26dcffa7eac68f5cb348feb6b993c37 +SHA1 (patch-src_mongo_db_storage_storage__repair__observer.cpp) = 0a390aa59a4f041acbdd546a45241f9ffa2953dc +SHA1 (patch-src_mongo_platform_random.cpp) = 593cac552d27a64157b58be3f7c0d8656e5b604f +SHA1 (patch-src_mongo_platform_stack__locator__netbsd.cpp) = b4343403628b8b51177468eaa9f8a82b4c6bf21f +SHA1 (patch-src_mongo_shell_linenoise__utf8.h) = a29cbf034716ce48a23192320caf4928282b6c1a +SHA1 (patch-src_mongo_shell_shell__utils__extended.cpp) = a17b7b93f956b37f5239b57b69f7a745e7e25e51 +SHA1 (patch-src_mongo_util_intrusive__counter.h) = 4c8e0d2e834686403a557de489ad518071851911 +SHA1 (patch-src_mongo_util_processinfo__netbsd.cpp) = 6c15ceeddecb9fa81a44fc322081596d0c85969e +SHA1 (patch-src_mongo_util_time__support.cpp) = d576d8d39b10c496e492c8f0faf7e81f09ca875c +SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h) = 3c168389b9288df9055df0b01e8d26cf2f67293e +SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h) = aed897879501d74b19dd06a142ded0abf910898d +SHA1 (patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp) = 49a74ef12f20c4b243d328a2cd8317aa1a668b18 +SHA1 (patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h) = 2474fc221f0c59381c8529e986db1f3f67c405ec +SHA1 (patch-src_third__party_s2_base_port.h) = 892ce91b5aaa432f34e1e7c169b7fd6eea2a3e94 +SHA1 (patch-src_third__party_wiredtiger_SConscript) = e97dea310463f246c0a8007a1ba9c5385105036d +SHA1 (patch-src_third__party_wiredtiger_src_os__posix_os__fs.c) = 42c56c11e79b768aa3e454b63a62954d91953e0f Index: pkgsrc/databases/mongodb4/options.mk diff -u /dev/null pkgsrc/databases/mongodb4/options.mk:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/options.mk Sat Jul 29 11:51:15 2023 @@ -0,0 +1,14 @@ +# $NetBSD: options.mk,v 1.1 2023/07/29 11:51:15 adam Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.mongodb +PKG_SUPPORTED_OPTIONS= ssl + +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Mssl) +.include "../../security/openssl/buildlink3.mk" +SCONS_BUILD_ARGS+= --ssl=on +SCONS_BUILD_ARGS+= --ssl-provider=openssl +.else +SCONS_BUILD_ARGS+= --ssl=off +.endif Index: pkgsrc/databases/mongodb4/files/mongodb.sh diff -u /dev/null pkgsrc/databases/mongodb4/files/mongodb.sh:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/files/mongodb.sh Sat Jul 29 11:51:15 2023 @@ -0,0 +1,37 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: mongodb.sh,v 1.1 2023/07/29 11:51:15 adam Exp $ +# +# PROVIDE: mongodb +# REQUIRE: DAEMON LOGIN mountall +# KEYWORD: shutdown +# +# You will need to set some variables in /etc/rc.conf to start MongoDB: +# +# mongodb=YES +# +# The following variables are optional: +# +# mongodb_user="@MONGODB_USER@" # user to run mongod as +# mongodb_group="@MONGODB_GROUP@" # group to run mongod as +# mongodb_dbpath="@MONGODB_DBPATH@" # path to MongoDB database directory +# + +if [ -f /etc/rc.subr ]; then + . /etc/rc.subr +fi + +name="mongodb" +rcvar=${name} +command="@PREFIX@/bin/mongod" +: ${mongodb_user:=@MONGODB_USER@} +: ${mongodb_group:=@MONGODB_GROUP@} +: ${mongodb_dbpath:=@MONGODB_DBPATH@} +pidfile="${mongodb_dbpath}/mongod.pid" +logfile="${mongodb_dbpath}/mongod.log" +required_dirs="${mongodb_dbpath}" + +command_args="--fork --logpath ${logfile} --logappend --pidfilepath ${pidfile} --dbpath ${mongodb_dbpath} --smallfiles" + +load_rc_config ${name} +run_rc_command "$1" Index: pkgsrc/databases/mongodb4/files/smf/manifest.xml diff -u /dev/null pkgsrc/databases/mongodb4/files/smf/manifest.xml:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/files/smf/manifest.xml Sat Jul 29 11:51:15 2023 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: pkgsrc/databases/mongodb4/files/smf/mongodb.sh diff -u /dev/null pkgsrc/databases/mongodb4/files/smf/mongodb.sh:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/files/smf/mongodb.sh Sat Jul 29 11:51:15 2023 @@ -0,0 +1,33 @@ +#!/bin/bash +# +# SMF method for svc:/pkgsrc/mongodb:default + +. /lib/svc/share/smf_include.sh + +# mongodb doesn't really work with anything else but C locale +export LANG=C + +PATH="@PREFIX@/bin:@PREFIX@/gnu/bin:@PREFIX@/sbin:/usr/bin:/usr/sbin"; +MONGO_DBPATH="@MONGODB_DBPATH@"; +MONGO_CONF="@PKG_SYSCONFDIR@/mongod.conf"; +MONGO_PID="${MONGO_DBPATH}/mongod.pid"; + +case "$1" in + 'start') + mongod --fork -f ${MONGO_CONF} --pidfilepath ${MONGO_PID} + ;; + + 'stop') + [[ -s ${MONGO_PID} ]] && kill $(cat ${MONGO_PID}) 2>/dev/null + ;; + + 'restart') + [[ -s ${MONGO_PID} ]] && kill $(cat ${MONGO_PID}) 2>/dev/null + sleep 3; + mongod --fork -f ${MONGO_CONF} --pidfilepath ${MONGO_PID} + ;; + *) + echo "usage: $0 { start | stop | restart }" + exit 1; + ;; +esac Index: pkgsrc/databases/mongodb4/patches/patch-SConstruct diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-SConstruct:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-SConstruct Sat Jul 29 11:51:15 2023 @@ -0,0 +1,105 @@ +$NetBSD: patch-SConstruct,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add support for NetBSD and Dragonfly. +Fix locations. +Don't compile with debug info. +Don't mess with the linker. +Respect LDFLAGS and CXXFLAGS. + +--- SConstruct.orig 2023-06-29 02:35:52.000000000 +0000 ++++ SConstruct +@@ -1196,6 +1196,7 @@ envDict = dict(BUILD_ROOT=buildDir, + CONFIGURELOG='$BUILD_ROOT/scons/config.log', + CONFIG_HEADER_DEFINES={}, + LIBDEPS_TAG_EXPANSIONS=[], ++ ENV=os.environ, + ) + + # TODO: Remove these when hygienic builds are default. +@@ -1367,7 +1368,9 @@ def CheckForProcessor(context, which_arc + os_macros = { + "windows": "defined(_WIN32)", + "solaris": "defined(__sun)", ++ "dragonfly": "defined(__DragonFly__)", + "freebsd": "defined(__FreeBSD__)", ++ "netbsd": "defined(__NetBSD__)", + "openbsd": "defined(__OpenBSD__)", + "iOS": "defined(__APPLE__) && TARGET_OS_IOS && !TARGET_OS_SIMULATOR", + "iOS-sim": "defined(__APPLE__) && TARGET_OS_IOS && TARGET_OS_SIMULATOR", +@@ -1859,7 +1862,7 @@ if env['_LIBDEPS'] == '$_LIBDEPS_LIBS': + if not env.TargetOSIs('solaris', 'darwin', 'windows', 'openbsd'): + env.Tool('thin_archive') + +-if env.TargetOSIs('linux', 'freebsd', 'openbsd'): ++if env.TargetOSIs('linux', 'freebsd', 'openbsd', 'netbsd', 'dragonfly'): + # NOTE: The leading and trailing spaces here are important. Do not remove them. + env['LINK_WHOLE_ARCHIVE_LIB_START'] = '-Wl,--whole-archive ' + env['LINK_WHOLE_ARCHIVE_LIB_END'] = ' -Wl,--no-whole-archive' +@@ -1899,14 +1902,14 @@ if env.TargetOSIs('linux'): + elif env.TargetOSIs('solaris'): + env.Append( LIBS=["socket","resolv","lgrp"] ) + +-elif env.TargetOSIs('freebsd'): ++elif env.TargetOSIs('freebsd', 'dragonfly'): + env.Append( LIBS=[ "kvm" ] ) + env.Append( CCFLAGS=[ "-fno-omit-frame-pointer" ] ) + + elif env.TargetOSIs('darwin'): + env.Append( LIBS=["resolv"] ) + +-elif env.TargetOSIs('openbsd'): ++elif env.TargetOSIs('netbsd', 'openbsd'): + env.Append( LIBS=[ "kvm" ] ) + + elif env.TargetOSIs('windows'): +@@ -2204,7 +2207,6 @@ if env.TargetOSIs('posix'): + env.Append( CCFLAGS=["-fno-omit-frame-pointer", + "-fno-strict-aliasing", + "-fasynchronous-unwind-tables", +- "-ggdb" if not env.TargetOSIs('emscripten') else "-g", + "-pthread", + "-Wall", + "-Wsign-compare", +@@ -2869,9 +2871,9 @@ def doConfigure(myenv): + if usingLibStdCxx: + def CheckModernLibStdCxx(context): + test_body = """ +- #if !__has_include() +- #error "libstdc++ from GCC 5.3.0 or newer is required" +- #endif ++ //#if !__has_include() ++ //#error "libstdc++ from GCC 5.3.0 or newer is required" ++ //#endif + """ + + context.Message('Checking for libstdc++ 5.3.0 or better... ') +@@ -3226,7 +3228,7 @@ def doConfigure(myenv): + # + myenv.Append( CCFLAGS=["/Zc:inline"]) + +- if myenv.ToolchainIs('gcc', 'clang'): ++ if myenv.ToolchainIs('gcc', 'clang') and get_option('runtime-hardening') == "on": + # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker + # because it is much faster. Don't use it if the user has already configured another linker + # selection manually. +@@ -3458,8 +3460,9 @@ def doConfigure(myenv): + def checkOpenSSL(conf): + sslLibName = "ssl" + cryptoLibName = "crypto" +- sslLinkDependencies = ["crypto", "dl"] +- if conf.env.TargetOSIs('freebsd'): ++ if conf.env.TargetOSIs('linux', 'solaris'): ++ sslLinkDependencies = ["crypto", "dl"] ++ else: + sslLinkDependencies = ["crypto"] + + if conf.env.TargetOSIs('windows'): +@@ -3796,7 +3799,7 @@ def doConfigure(myenv): + myenv.ConfError("Couldn't find SASL header/libraries") + + # requires ports devel/libexecinfo to be installed +- if env.TargetOSIs('freebsd', 'openbsd'): ++ if env.TargetOSIs('dragonfly', 'freebsd', 'netbsd', 'openbsd'): + if not conf.CheckLib("execinfo"): + myenv.ConfError("Cannot find libexecinfo, please install devel/libexecinfo.") + Index: pkgsrc/databases/mongodb4/patches/patch-site__scons_mongo_platform.py diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-site__scons_mongo_platform.py:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-site__scons_mongo_platform.py Sat Jul 29 11:51:15 2023 @@ -0,0 +1,26 @@ +$NetBSD: patch-site__scons_mongo_platform.py,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add NetBSD and Dragonfly support. + +--- site_scons/mongo/platform.py.orig 2019-12-04 23:29:59.000000000 +0000 ++++ site_scons/mongo/platform.py +@@ -22,6 +22,10 @@ def get_running_os_name(): + running_os = 'linux' + elif running_os.startswith('freebsd'): + running_os = 'freebsd' ++ elif running_os.startswith('dragonfly'): ++ running_os = 'dragonfly' ++ elif running_os.startswith('netbsd'): ++ running_os = 'netbsd' + elif running_os.startswith('openbsd'): + running_os = 'openbsd' + elif running_os == 'sunos5': +@@ -42,7 +46,7 @@ def env_get_os_name_wrapper(self): + def is_os_raw(target_os, os_list_to_check): + darwin_os_list = ['macOS', 'tvOS', 'tvOS-sim', 'iOS', 'iOS-sim', 'watchOS', 'watchOS-sim'] + linux_os_list = ['android', 'linux'] +- posix_os_list = ['openbsd', 'freebsd', 'solaris', 'emscripten'] + darwin_os_list + linux_os_list ++ posix_os_list = ['netbsd', 'openbsd', 'freebsd', 'dragonfly', 'solaris', 'emscripten'] + darwin_os_list + linux_os_list + + os_families = { + "darwin": darwin_os_list, Index: pkgsrc/databases/mongodb4/patches/patch-site__scons_site__tools_libtool.py diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-site__scons_site__tools_libtool.py:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-site__scons_site__tools_libtool.py Sat Jul 29 11:51:15 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-site__scons_site__tools_libtool.py,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Use system libtool (Darwin only). + +--- site_scons/site_tools/libtool.py.orig 2023-06-29 02:35:52.000000000 +0000 ++++ site_scons/site_tools/libtool.py +@@ -3,7 +3,7 @@ import SCons + + def generate(env): + +- env["AR"] = "libtool" ++ env["AR"] = "/usr/bin/libtool" + env["ARCOM"] = "$AR -static -o $TARGET $ARFLAGS $SOURCES" + env["ARFLAGS"] = ["-s", "-no_warning_for_no_symbols"] + Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_base_initializer.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_base_initializer.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_base_initializer.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,14 @@ +$NetBSD: patch-src_mongo_base_initializer.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Fixes at least SunOS. + +--- src/mongo/base/initializer.h.orig 2019-12-04 23:29:59.000000000 +0000 ++++ src/mongo/base/initializer.h +@@ -31,6 +31,7 @@ + + #include + #include ++#include + + #include "mongo/base/initializer_context.h" + #include "mongo/base/initializer_dependency_graph.h" Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,35 @@ +$NetBSD: patch-src_mongo_db_query_collation_collator__interface__icu.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Fix for newer ICU. + +--- src/mongo/db/query/collation/collator_interface_icu.h.orig 2020-01-26 09:25:13.000000000 +0000 ++++ src/mongo/db/query/collation/collator_interface_icu.h +@@ -33,9 +33,7 @@ + + #include + +-namespace icu { +-class Collator; +-} // namespace icu ++#include + + namespace mongo { + +@@ -45,7 +43,7 @@ namespace mongo { + */ + class CollatorInterfaceICU final : public CollatorInterface { + public: +- CollatorInterfaceICU(CollationSpec spec, std::unique_ptr collator); ++ CollatorInterfaceICU(CollationSpec spec, std::unique_ptr collator); + + std::unique_ptr clone() const final; + +@@ -56,7 +54,7 @@ public: + private: + // The ICU implementation of the collator to which we delegate interesting work. Const methods + // on the ICU collator are expected to be thread-safe. +- const std::unique_ptr _collator; ++ const std::unique_ptr _collator; + }; + + } // namespace mongo Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_repl_isself.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_repl_isself.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_repl_isself.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,24 @@ +$NetBSD: patch-src_mongo_db_repl_isself.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add NetBSD support. + +--- src/mongo/db/repl/isself.cpp.orig 2017-04-20 21:43:42.000000000 +0000 ++++ src/mongo/db/repl/isself.cpp +@@ -50,7 +50,7 @@ + #include "mongo/util/scopeguard.h" + + #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun) || \ +- defined(__OpenBSD__) ++ defined(__OpenBSD__) || defined(__DragonFly__) || defined(__NetBSD__) + #define FASTPATH_UNIX 1 + #endif + +@@ -63,7 +63,7 @@ + #include + #include + +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__NetBSD__) + #include + #endif + Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,23 @@ +$NetBSD: patch-src_mongo_db_storage_storage__repair__observer.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +boost::filesystem::ofstream is deprected, use std::ofstream instead. + +--- src/mongo/db/storage/storage_repair_observer.cpp.orig 2023-06-29 02:35:52.000000000 +0000 ++++ src/mongo/db/storage/storage_repair_observer.cpp +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + + #ifdef __linux__ + #include +@@ -121,7 +122,7 @@ bool StorageRepairObserver::isDataInvali + } + + void StorageRepairObserver::_touchRepairIncompleteFile() { +- boost::filesystem::ofstream fileStream(_repairIncompleteFilePath); ++ std::ofstream fileStream(_repairIncompleteFilePath.string()); + fileStream << "This file indicates that a repair operation is in progress or incomplete."; + if (fileStream.fail()) { + LOGV2_FATAL_NOTRACE(50920, Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_random.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_random.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_random.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-src_mongo_platform_random.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add NetBSD and DragonFly support. + +--- src/mongo/platform/random.cpp.orig 2023-06-29 02:35:52.000000000 +0000 ++++ src/mongo/platform/random.cpp +@@ -57,7 +57,7 @@ + #ifdef _WIN32 + #define SECURE_RANDOM_BCRYPT + #elif defined(__linux__) || defined(__sun) || defined(__APPLE__) || defined(__FreeBSD__) || \ +- defined(__EMSCRIPTEN__) ++ defined(__EMSCRIPTEN__) || defined(__DragonFly__) || defined(__NetBSD__) + #define SECURE_RANDOM_URANDOM + #elif defined(__OpenBSD__) + #define SECURE_RANDOM_ARCFOUR Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,23 @@ +$NetBSD: patch-src_mongo_platform_stack__locator__netbsd.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add NetBSD support. + +--- src/mongo/platform/stack_locator_netbsd.cpp.orig 2023-07-27 07:57:01.000000000 +0000 ++++ src/mongo/platform/stack_locator_netbsd.cpp +@@ -32,7 +32,6 @@ + #include "mongo/platform/stack_locator.h" + + #include +-#include + + #include "mongo/util/assert_util.h" + #include "mongo/util/scopeguard.h" +@@ -52,7 +51,7 @@ StackLocator::StackLocator() { + + invariant(pthread_attr_getstack(&attr, &_end, &size) == 0); + +- // TODO: Assumes stack grows downward on FreeBSD ++ // TODO: Assumes stack grows downward on NetBSD + _begin = static_cast(_end) + size; + } + Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_linenoise__utf8.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_linenoise__utf8.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_linenoise__utf8.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,27 @@ +$NetBSD: patch-src_mongo_shell_linenoise__utf8.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Use Boost swap instead of std. Fixes build on SunOS. + +--- src/mongo/shell/linenoise_utf8.h.orig 2019-01-30 14:26:33.000000000 +0000 ++++ src/mongo/shell/linenoise_utf8.h +@@ -29,6 +29,7 @@ + * it in the license file. + */ + ++#include + #include + #include + #include +@@ -176,9 +177,9 @@ struct UtfStringMixin { + } + + void swap(UtfStringMixin& other) { +- std::swap(_len, other._len); +- std::swap(_cap, other._cap); +- std::swap(_chars, other._chars); ++ boost::swap(_len, other._len); ++ boost::swap(_cap, other._cap); ++ boost::swap(_chars, other._chars); + _str.swap(other._str); + } + Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_shell__utils__extended.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_shell__utils__extended.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_shell_shell__utils__extended.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,24 @@ +$NetBSD: patch-src_mongo_shell_shell__utils__extended.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +boost::filesystem::ofstream is deprected, use std::ofstream instead. + +--- src/mongo/shell/shell_utils_extended.cpp.orig 2023-06-29 02:35:52.000000000 +0000 ++++ src/mongo/shell/shell_utils_extended.cpp +@@ -318,7 +318,7 @@ BSONObj writeFile(const BSONObj& args, v + mode |= std::ios::binary; + } + +- boost::filesystem::ofstream ofs{normalizedFilePath, mode}; ++ std::ofstream ofs{normalizedFilePath.string(), mode}; + uassert(40346, + str::stream() << "failed to open file " << normalizedFilePath.string() + << " for writing", +@@ -382,7 +382,7 @@ BSONObj readDumpFile(const BSONObj& a, v + + // Open the file for reading in binary mode. + const auto pathStr = a.firstElement().String(); +- boost::filesystem::ifstream stream(pathStr, std::ios::in | std::ios::binary); ++ ifstream stream(pathStr, std::ios::in | std::ios::binary); + uassert(31405, + str::stream() << "readDumpFile(): Unable to open file \"" << pathStr + << "\" for reading", Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_intrusive__counter.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_intrusive__counter.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_intrusive__counter.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,14 @@ +$NetBSD: patch-src_mongo_util_intrusive__counter.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Fix buidling. + +--- src/mongo/util/intrusive_counter.h.orig 2016-01-05 18:31:44.000000000 +0000 ++++ src/mongo/util/intrusive_counter.h +@@ -28,6 +28,7 @@ + + #pragma once + ++#include + #include + #include + Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_processinfo__netbsd.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_processinfo__netbsd.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_processinfo__netbsd.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,58 @@ +$NetBSD: patch-src_mongo_util_processinfo__netbsd.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add NetBSD support. + +--- src/mongo/util/processinfo_netbsd.cpp.orig 2023-07-27 08:51:13.000000000 +0000 ++++ src/mongo/util/processinfo_netbsd.cpp +@@ -26,6 +26,7 @@ + * exception statement from all source files in the program, then also delete + * it in the license file. + */ ++#define _KMEMUSER + + #define MONGO_LOGV2_DEFAULT_COMPONENT ::mongo::logv2::LogComponent::kControl + +@@ -38,7 +39,6 @@ + #include + #include + #include +-#include + #include + #include + +@@ -85,7 +85,7 @@ template <> + int getSysctlByIDWithDefault(const int* sysctlID, + const int idLen, + const std::string& defaultValue, +- string* result) { ++ std::string* result) { + char value[256] = {0}; + size_t len = sizeof(value); + if (sysctl(sysctlID, idLen, &value, &len, NULL, 0) == -1) { +@@ -105,7 +105,7 @@ int ProcessInfo::getVirtualMemorySize() + return -1; + } + +- kinfo_proc* task = kvm_getprocs(kd, KERN_PROC_PID, _pid.toNative(), sizeof(kinfo_proc), &cnt); ++ kinfo_proc2* task = kvm_getproc2(kd, KERN_PROC_PID, _pid.toNative(), sizeof(kinfo_proc), &cnt); + int vss = ((task->p_vm_dsize + task->p_vm_ssize + task->p_vm_tsize) * sysconf(_SC_PAGESIZE)) / + 1048576; + kvm_close(kd); +@@ -120,7 +120,7 @@ int ProcessInfo::getResidentSize() { + LOGV2(23344, "Unable to get res mem size: {err}", "err"_attr = err); + return -1; + } +- kinfo_proc* task = kvm_getprocs(kd, KERN_PROC_PID, _pid.toNative(), sizeof(kinfo_proc), &cnt); ++ kinfo_proc2* task = kvm_getproc2(kd, KERN_PROC_PID, _pid.toNative(), sizeof(kinfo_proc), &cnt); + int rss = (task->p_vm_rssize * sysconf(_SC_PAGESIZE)) / 1048576; // convert from pages to MB + kvm_close(kd); + return rss; +@@ -132,7 +132,7 @@ double ProcessInfo::getSystemMemoryPress + + void ProcessInfo::SystemInfo::collectSystemInfo() { + osType = "BSD"; +- osName = "OpenBSD"; ++ osName = "NetBSD"; + int mib[2]; + + mib[0] = CTL_KERN; Index: pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_time__support.cpp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_time__support.cpp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_mongo_util_time__support.cpp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-src_mongo_util_time__support.cpp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Add support for NetBSD, OpenBSD, and DragonFly. + +--- src/mongo/util/time_support.cpp.orig 2019-12-04 23:29:59.000000000 +0000 ++++ src/mongo/util/time_support.cpp +@@ -952,7 +952,7 @@ private: + // Find minimum timer resolution of OS + Nanoseconds getMinimumTimerResolution() { + Nanoseconds minTimerResolution; +-#if defined(__linux__) || defined(__FreeBSD__) || defined(__EMSCRIPTEN__) ++#if defined(__linux__) || defined(__FreeBSD__) || defined(__EMSCRIPTEN__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) + struct timespec tp; + clock_getres(CLOCK_REALTIME, &tp); + minTimerResolution = Nanoseconds{tp.tv_nsec}; Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,132 @@ +$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Support NetBSD. + +--- src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/op_system.h.orig 2019-12-04 23:29:59.000000000 +0000 ++++ src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/op_system.h +@@ -45,6 +45,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define dos 1 + # define OP_SYSTEM dos +@@ -64,6 +65,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define vms 2 + # define OP_SYSTEM vms +@@ -83,6 +85,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define wnt 3 + # define OP_SYSTEM wnt +@@ -102,6 +105,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define linux 8 + # define OP_SYSTEM linux +@@ -122,6 +126,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define osf 4 + # define OP_SYSTEM osf +@@ -141,6 +146,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define hp_ux 5 + # define OP_SYSTEM hp_ux +@@ -160,6 +166,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define unicos 6 + # define OP_SYSTEM unicos +@@ -179,6 +186,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define ultrix 7 + # define OP_SYSTEM ultrix +@@ -197,6 +205,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define win64 9 + # define OP_SYSTEM win64 +@@ -215,6 +224,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define darwin 10 + # define OP_SYSTEM darwin +@@ -232,6 +242,7 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define interix 11 + # define OP_SYSTEM interix +@@ -250,10 +261,29 @@ + # undef darwin + # undef interix + # undef emscripten ++# undef netbsd + + # define emscripten 12 + # define OP_SYSTEM emscripten + ++#elif defined(__NetBSD__) ++# undef dos ++# undef vms ++# undef wnt ++# undef osf ++# undef hp_ux ++# undef linux ++# undef unicos ++# undef ultrix ++# undef win64 ++# undef darwin ++# undef interix ++# undef emscripten ++# undef netbsd ++ ++# define netbsd 12 ++# define OP_SYSTEM netbsd ++ + #else + + # error Operating system must be specified. +@@ -266,6 +296,7 @@ + OP_SYSTEM == osf || \ + OP_SYSTEM == ultrix || \ + OP_SYSTEM == unicos || \ ++ OP_SYSTEM == netbsd || \ + OP_SYSTEM == emscripten \ + ) + Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Fix buidling. + +--- src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h.orig 2019-01-30 14:26:33.000000000 +0000 ++++ src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h +@@ -164,7 +164,7 @@ typedef unsigned long fexcept_t; + typedef unsigned bid__int64 fexcept_t; + #endif + #else +-#if defined(__QNX__) || defined(__OpenBSD__) ++#if defined(__QNX__) || defined(__NetBSD__) || defined(__OpenBSD__) + #include + #else + typedef unsigned short int fexcept_t; Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp Sat Jul 29 11:51:15 2023 @@ -0,0 +1,17 @@ +$NetBSD: patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Fix build with recent NetBSD 9.99. + +--- src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp.orig 2020-01-26 17:31:51.341577994 +0000 ++++ src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp +@@ -28,6 +28,10 @@ + #include "asio/detail/push_options.hpp" + + #if defined(__NetBSD__) ++#include ++#endif ++ ++#if defined(__NetBSD__) && __NetBSD_Version__ < 999001500 + # define ASIO_KQUEUE_EV_SET(ev, ident, filt, flags, fflags, data, udata) \ + EV_SET(ev, ident, filt, flags, fflags, data, \ + reinterpret_cast(static_cast(udata))) Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,21 @@ +$NetBSD: patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +--- src/third_party/mozjs-60/platform/x86_64/netbsd/build/js-confdefs.h.orig 2020-01-29 20:09:04.581823530 +0000 ++++ src/third_party/mozjs-60/platform/x86_64/netbsd/build/js-confdefs.h +@@ -31,7 +31,6 @@ + #define HAVE_POSIX_FALLOCATE 1 + #define HAVE_POSIX_MEMALIGN 1 + #define HAVE_RES_NINIT 1 +-#define HAVE_SINCOS 1 + #define HAVE_SSIZE_T 1 + #define HAVE_STDINT_H 1 + #define HAVE_STRNDUP 1 +@@ -54,7 +53,7 @@ + #define JS_POSIX_NSPR 1 + #define JS_PUNBOX64 1 + #define JS_STANDALONE 1 +-#define MALLOC_H ++#define MALLOC_H + #define MALLOC_USABLE_SIZE_CONST_PTR const + #define MOZILLA_UAVERSION "60.0" + #define MOZILLA_VERSION "60.3.0" Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_s2_base_port.h diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_s2_base_port.h:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_s2_base_port.h Sat Jul 29 11:51:15 2023 @@ -0,0 +1,27 @@ +$NetBSD: patch-src_third__party_s2_base_port.h,v 1.1 2023/07/29 11:51:15 adam Exp $ + +* Add NetBSD support. + +--- src/third_party/s2/base/port.h.orig 2016-01-05 18:31:44.000000000 +0000 ++++ src/third_party/s2/base/port.h +@@ -102,7 +102,7 @@ typedef uint16_t u_int16_t; + + #endif + +-#if defined __sun || defined __FreeBSD__ || defined __OpenBSD__ ++#if defined __sun || defined __FreeBSD__ || defined __OpenBSD__ || defined __DragonFly__ || defined __NetBSD__ + #ifdef _LITTLE_ENDIAN + #define IS_LITTLE_ENDIAN + #elif defined _BIG_ENDIAN +@@ -139,6 +139,11 @@ typedef uint16_t u_int16_t; + #define bswap_16(x) swap16(x) + #define bswap_32(x) swap32(x) + #define bswap_64(x) swap64(x) ++#elif defined __NetBSD__ ++#include ++#define bswap_16(x) bswap16(x) ++#define bswap_32(x) bswap32(x) ++#define bswap_64(x) bswap64(x) + #else + #include + #endif Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_SConscript diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_SConscript:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_SConscript Sat Jul 29 11:51:15 2023 @@ -0,0 +1,19 @@ +$NetBSD: patch-src_third__party_wiredtiger_SConscript,v 1.1 2023/07/29 11:51:15 adam Exp $ + +Support NetBSD and Dragonfly. + +--- src/third_party/wiredtiger/SConscript.orig 2017-04-20 21:43:42.000000000 +0000 ++++ src/third_party/wiredtiger/SConscript +@@ -62,8 +62,12 @@ elif env.TargetOSIs('solaris'): + # For an explanation of __EXTENSIONS__, + # see http://docs.oracle.com/cd/E19253-01/816-5175/standards-5/index.html + env.Append(CPPDEFINES=["__EXTENSIONS__"]) ++elif env.TargetOSIs('dragonfly'): ++ env.Append(CPPPATH=["build_dragonfly"]) + elif env.TargetOSIs('freebsd'): + env.Append(CPPPATH=["build_freebsd"]) ++elif env.TargetOSIs('netbsd'): ++ env.Append(CPPPATH=["build_netbsd"]) + elif env.TargetOSIs('openbsd'): + env.Append(CPPPATH=["build_openbsd"]) + elif env.TargetOSIs('linux'): Index: pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c diff -u /dev/null pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c:1.1 --- /dev/null Sat Jul 29 11:51:15 2023 +++ pkgsrc/databases/mongodb4/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c Sat Jul 29 11:51:15 2023 @@ -0,0 +1,22 @@ +$NetBSD: patch-src_third__party_wiredtiger_src_os__posix_os__fs.c,v 1.1 2023/07/29 11:51:15 adam Exp $ + +The fdatasync call is specified by POSIX, and the definition has changed: + https://pubs.opengroup.org/onlinepubs/009695399/functions/fdatasync.html + https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html + +NetBSD's fdatasync follows the earlier specification. For now, simply avoid +crashing on EBADF, at the possible expense of sync safety. + +\todo Change NetBSD to follow the current standard. + +--- src/third_party/wiredtiger/src/os_posix/os_fs.c.orig 2023-06-29 02:35:52.000000000 +0000 ++++ src/third_party/wiredtiger/src/os_posix/os_fs.c +@@ -89,7 +89,7 @@ __posix_sync(WT_SESSION_IMPL *session, i + #if defined(HAVE_FDATASYNC) + /* See comment in __posix_sync(): sync cannot be retried or fail. */ + WT_SYSCALL(fdatasync(fd), ret); +- if (ret == 0) ++ if (ret == 0 || errno == EBADF) + return (0); + WT_RET_PANIC(session, ret, "%s: %s: fdatasync", name, func); + #else --_----------=_169063147573160--