pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/databases/mongodb5
Module Name: pkgsrc
Committed By: abs
Date: Tue Sep 22 16:47:11 UTC 2026
Added Files:
pkgsrc/databases/mongodb5: DESCR Makefile PLIST distinfo options.mk
pkgsrc/databases/mongodb5/files: mongodb.sh
pkgsrc/databases/mongodb5/patches: patch-SConstruct
patch-SConstruct.orig patch-buildscripts_moduleconfig.py
patch-site__scons_mongo_platform.py
patch-site__scons_site__tools_libtool.py
patch-src_mongo_base_initializer.h
patch-src_mongo_db_exec_plan__stats.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_process__id.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_extract_js_src_wasm_WasmSignalHandlers.cpp
patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp.orig
patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h
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:
Import mongodb-5.0.34
MongoDB 5.0 was released July 13, 2021, and the latest update (5.0.34)
was released June 11, 2026
The main consumer of this version of mongodb in pkgsrc is net/unifi, and
this will allow users to upgrade theit mongodb4 install (mongodb only allows
version+1 upgrades, so 4.4 -> 5.0 then 5.0 -> 6.0 etc
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb5/DESCR \
pkgsrc/databases/mongodb5/Makefile pkgsrc/databases/mongodb5/PLIST \
pkgsrc/databases/mongodb5/distinfo pkgsrc/databases/mongodb5/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb5/files/mongodb.sh
cvs rdiff -u -r0 -r1.1 pkgsrc/databases/mongodb5/patches/patch-SConstruct \
pkgsrc/databases/mongodb5/patches/patch-SConstruct.orig \
pkgsrc/databases/mongodb5/patches/patch-buildscripts_moduleconfig.py \
pkgsrc/databases/mongodb5/patches/patch-site__scons_mongo_platform.py \
pkgsrc/databases/mongodb5/patches/patch-site__scons_site__tools_libtool.py \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_base_initializer.h \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_exec_plan__stats.h \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_repl_isself.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_process__id.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_random.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_linenoise__utf8.h \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_shell__utils__extended.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_intrusive__counter.h \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_processinfo__netbsd.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_time__support.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp.orig \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_s2_base_port.h \
pkgsrc/databases/mongodb5/patches/patch-src_third__party_wiredtiger_SConscript \
pkgsrc/databases/mongodb5/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.
Added files:
Index: pkgsrc/databases/mongodb5/DESCR
diff -u /dev/null pkgsrc/databases/mongodb5/DESCR:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/DESCR Tue Sep 22 16:47:10 2026
@@ -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/mongodb5/Makefile
diff -u /dev/null pkgsrc/databases/mongodb5/Makefile:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/Makefile Tue Sep 22 16:47:10 2026
@@ -0,0 +1,201 @@
+# $NetBSD: Makefile,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+DISTNAME= mongodb-src-r5.0.34
+PKGNAME= ${DISTNAME:S/src-r//}
+CATEGORIES= databases
+MASTER_SITES= ${MASTER_SITE_GITHUB:=mongodb/}
+GITHUB_TAG= r${PKGVERSION_NOREV}
+GITHUB_PROJECT= mongo
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+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/compile-requirements.txt
+TOOL_DEPENDS+= ${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah3
+TOOL_DEPENDS+= ${PYPKGPREFIX}-mongo>=3.9:../../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}-setuptools-[0-9]*:../../devel/py-setuptools
+TOOL_DEPENDS+= ${PYPKGPREFIX}-types-yaml>=6.0.5:../../textproc/py-types-yaml
+TOOL_DEPENDS+= ${PYPKGPREFIX}-yaml>=3.0.0:../../textproc/py-yaml
+
+# https://github.com/mongodb/mongo/blob/master/docs/building.md
+USE_LANGUAGES= c c++
+USE_CC_FEATURES= c99
+USE_CXX_FEATURES= c++17 filesystem
+# \todo Justify GCC_REQD; the documented languages/features imply 10.
+GCC_REQD+= 11
+
+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-asio
+#SCONS_BUILD_ARGS+= --use-system-boost
+#SCONS_BUILD_ARGS+= --use-system-fmt
+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
+SCONS_BUILD_ARGS+= --modules='' # avoid enterprise build
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${MACHINE_ARCH} == "aarch64"
+CXXFLAGS+= --param=destructive-interference-size=64
+.endif
+
+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
+
+# Workaround for PR pkg/59842 - build fails with pkgsrc GCC
+# due to cwrappers bug. Tell mongodb we can handle very long commands
+# so `cc @args` syntax won't be used.
+SCONS_BUILD_ARGS+= MAXLINELENGTH=262144
+
+# 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}
+SCONS_BUILD_ARGS+= MONGO_VERSION=${PKGVERSION_NOREV} # github source does not include version.json
+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:Q}
+FILES_SUBST+= MONGODB_GROUP=${MONGODB_GROUP:Q}
+FILES_SUBST+= MONGODB_DBPATH=${MONGODB_DBPATH:Q}
+FILES_SUBST+= MONGODB_LOGPATH=${MONGODB_LOGPATH:Q}
+
+SUBST_CLASSES+= path
+SUBST_STAGE.path= pre-build
+SUBST_MESSAGE.path= Replacing database paths.
+SUBST_FILES.path= debian/mongod.1 debian/mongoldap.1 debian/mongos.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
+CHECK_PORTABILITY_SKIP+= src/third_party/unwind/dist/tests/check-namespace.sh.in
+
+# 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
+ ${CP} -R ${WRKSRC}/src/third_party/mozjs-60/platform/aarch64/linux \
+ ${WRKSRC}/src/third_party/mozjs-60/platform/aarch64/netbsd
+
+# 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 "../../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/mongodb5/PLIST
diff -u /dev/null pkgsrc/databases/mongodb5/PLIST:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/PLIST Tue Sep 22 16:47:10 2026
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST,v 1.1 2026/09/22 16:47:10 abs 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/mongodb5/distinfo
diff -u /dev/null pkgsrc/databases/mongodb5/distinfo:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/distinfo Tue Sep 22 16:47:10 2026
@@ -0,0 +1,31 @@
+$NetBSD: distinfo,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+BLAKE2s (mongodb-src-r5.0.34.tar.gz) = cf977d68e3451b7bb2af0877c601e770e17794b7d1f0785cfb6e10b3db9d06a3
+SHA512 (mongodb-src-r5.0.34.tar.gz) = 13cdc98e24b42675d0dbc367b11835637635e30ccda059ed11993d78517f877d1b95d67552cb220f9588d9ce5abed6a0d6db3105498abb9894a2cdee7f79c409
+Size (mongodb-src-r5.0.34.tar.gz) = 57332527 bytes
+SHA1 (patch-SConstruct) = 8fdd61885a8cc8ca3d5c38b74c0128dc42bfb246
+SHA1 (patch-buildscripts_moduleconfig.py) = c88d13662bc30c627184d36690650e61c853dad5
+SHA1 (patch-site__scons_mongo_platform.py) = 6a6daba04876f9779a26c579e6f6a66f55e1cbe6
+SHA1 (patch-site__scons_site__tools_libtool.py) = 5663c0095939fa5404776bfb7b472b27cfe3a254
+SHA1 (patch-src_mongo_base_initializer.h) = e4a6d77b5881fae2d4102c14d15f2d94b92ff3cf
+SHA1 (patch-src_mongo_db_exec_plan__stats.h) = e0d920d694b4d4ac10de013103f2e7bf922b9125
+SHA1 (patch-src_mongo_db_query_collation_collator__interface__icu.h) = 816fb353844b117f945f6367d6bfc71445da7336
+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_process__id.cpp) = 8fe3aef889d5202fe3d19da8968796a1089c0fd6
+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) = 0f00e7e1b710b3d19a936d5832ab08279bff48ee
+SHA1 (patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp) = 49a74ef12f20c4b243d328a2cd8317aa1a668b18
+SHA1 (patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp) = a81c3db8eb610bb27db8007e1223ec5597f28d8e
+SHA1 (patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h) = bd4c0a282f898a20f331ce1fcf1451cc92d5677c
+SHA1 (patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h) = d58772d7abb048d14f4ea57f5e8a5b045b3b346c
+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/mongodb5/options.mk
diff -u /dev/null pkgsrc/databases/mongodb5/options.mk:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/options.mk Tue Sep 22 16:47:10 2026
@@ -0,0 +1,14 @@
+# $NetBSD: options.mk,v 1.1 2026/09/22 16:47:10 abs 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/mongodb5/files/mongodb.sh
diff -u /dev/null pkgsrc/databases/mongodb5/files/mongodb.sh:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/files/mongodb.sh Tue Sep 22 16:47:10 2026
@@ -0,0 +1,37 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: mongodb.sh,v 1.1 2026/09/22 16:47:10 abs 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}"
+
+load_rc_config ${name}
+run_rc_command "$1"
Index: pkgsrc/databases/mongodb5/patches/patch-SConstruct
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-SConstruct:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-SConstruct Tue Sep 22 16:47:10 2026
@@ -0,0 +1,170 @@
+$NetBSD: patch-SConstruct,v 1.1 2026/09/22 16:47:10 abs 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.
+Fix compatibility issue with scons 4.9's CheckLibWithHeader
+
+--- SConstruct.orig 2026-06-16 02:58:57.000000000 +0000
++++ SConstruct
+@@ -16,10 +16,10 @@ import textwrap
+ import uuid
+ from glob import glob
+
+-from pkg_resources import parse_version
+-
+ import SCons
+
++from packaging.version import parse as parse_version
++
+ # This must be first, even before EnsureSConsVersion, if
+ # we are to avoid bulk loading all tools in the DefaultEnvironment.
+ DefaultEnvironment(tools=[])
+@@ -1244,6 +1244,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+ CONFIGURELOG='$BUILD_ROOT/scons/config.log',
+ CONFIG_HEADER_DEFINES={},
+ LIBDEPS_TAG_EXPANSIONS=[],
++ ENV=os.environ,
+ )
+
+ # By default, we will get the normal SCons tool search. But if the
+@@ -1442,7 +1443,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",
+@@ -1558,7 +1561,7 @@ if env.TargetOSIs('posix'):
+ env.Append(
+ CCFLAGS_WERROR=["-Werror"],
+ CXXFLAGS_WERROR=['-Werror=unused-result'] if env.ToolchainIs('clang') else [],
+- LINKFLAGS_WERROR=['-Wl,-fatal_warnings' if env.TargetOSIs('darwin') else "-Wl,--fatal-warnings"],
++ ## LINKFLAGS_WERROR=['-Wl,-fatal_warnings' if env.TargetOSIs('darwin') else "-Wl,--fatal-warnings"],
+ )
+ elif env.TargetOSIs('windows'):
+ env.Append(
+@@ -1959,7 +1962,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'):
+ env['LINK_WHOLE_ARCHIVE_LIB_START'] = '-Wl,--whole-archive'
+ env['LINK_WHOLE_ARCHIVE_LIB_END'] = '-Wl,--no-whole-archive'
+ env['LINK_AS_NEEDED_LIB_START'] = '-Wl,--as-needed'
+@@ -2136,14 +2139,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'):
+@@ -2434,7 +2437,6 @@ if env.TargetOSIs('posix'):
+
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fasynchronous-unwind-tables",
+- "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
+ "-Wall",
+ "-Wsign-compare",
+ "-Wno-unknown-pragmas",
+@@ -2909,7 +2911,7 @@ def doConfigure(myenv):
+ def AddToSHLINKFLAGSIfSupported(env, flag):
+ return AddFlagIfSupported(env, 'C', '.c', flag, True, SHLINKFLAGS=[flag])
+
+- 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.
+@@ -3043,7 +3045,7 @@ def doConfigure(myenv):
+
+ # This warning was added in clang-5 and incorrectly flags our implementation of
+ # exceptionToStatus(). See https://bugs.llvm.org/show_bug.cgi?id=34804
+- AddToCCFLAGSIfSupported(myenv, "-Wno-exceptions")
++ AddToCXXFLAGSIfSupported(myenv, "-Wno-exceptions")
+
+ # Enable sized deallocation support.
+ AddToCXXFLAGSIfSupported(myenv, '-fsized-deallocation')
+@@ -3276,9 +3278,9 @@ def doConfigure(myenv):
+ if usingLibStdCxx:
+ def CheckModernLibStdCxx(context):
+ test_body = """
+- #if !__has_include(<experimental/filesystem>)
+- #error "libstdc++ from GCC 5.3.0 or newer is required"
+- #endif
++ //#if !__has_include(<experimental/filesystem>)
++ //#error "libstdc++ from GCC 5.3.0 or newer is required"
++ //#endif
+ """
+
+ context.Message('Checking for libstdc++ 5.3.0 or better... ')
+@@ -3897,8 +3899,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'):
+@@ -3947,7 +3950,7 @@ def doConfigure(myenv):
+ cryptoLibName,
+ ["openssl/crypto.h"],
+ "C",
+- "SSLeay_version(0);",
++ call="SSLeay_version(0);",
+ autoadd=True):
+ maybeIssueDarwinSSLAdvice(conf.env)
+ conf.env.ConfError("Couldn't find OpenSSL crypto.h header and library")
+@@ -4104,7 +4107,7 @@ def doConfigure(myenv):
+ if conf.CheckLibWithHeader(
+ "curl",
+ ["curl/curl.h"], "C",
+- "curl_global_init(0);",
++ call="curl_global_init(0);",
+ autoadd=False):
+ return True
+
+@@ -4230,12 +4233,12 @@ def doConfigure(myenv):
+ "sasl2",
+ ["stddef.h","sasl/sasl.h"],
+ "C",
+- "sasl_version_info(0, 0, 0, 0, 0, 0);",
++ call="sasl_version_info(0, 0, 0, 0, 0, 0);",
+ autoadd=False ):
+ 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'):
+ if not conf.CheckLib("execinfo"):
+ myenv.ConfError("Cannot find libexecinfo, please install devel/libexecinfo.")
+
+@@ -4373,7 +4376,7 @@ def doConfigure(myenv):
+ ["mongoc-1.0"],
+ ["mongoc/mongoc.h"],
+ "C",
+- "mongoc_get_major_version();",
++ call="mongoc_get_major_version();",
+ autoadd=False ):
+ conf.env['MONGO_HAVE_LIBMONGOC'] = True
+ if not conf.env['MONGO_HAVE_LIBMONGOC'] and mongoc_mode == 'on':
Index: pkgsrc/databases/mongodb5/patches/patch-SConstruct.orig
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-SConstruct.orig:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-SConstruct.orig Tue Sep 22 16:47:10 2026
@@ -0,0 +1,157 @@
+$NetBSD: patch-SConstruct.orig,v 1.1 2026/09/22 16:47:10 abs 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.
+Fix compatibility issue with scons 4.9's CheckLibWithHeader
+
+--- SConstruct.orig 2025-12-22 22:01:16.000000000 +0000
++++ SConstruct
+@@ -1244,6 +1244,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+ CONFIGURELOG='$BUILD_ROOT/scons/config.log',
+ CONFIG_HEADER_DEFINES={},
+ LIBDEPS_TAG_EXPANSIONS=[],
++ ENV=os.environ,
+ )
+
+ # By default, we will get the normal SCons tool search. But if the
+@@ -1442,7 +1443,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",
+@@ -1558,7 +1561,7 @@ if env.TargetOSIs('posix'):
+ env.Append(
+ CCFLAGS_WERROR=["-Werror"],
+ CXXFLAGS_WERROR=['-Werror=unused-result'] if env.ToolchainIs('clang') else [],
+- LINKFLAGS_WERROR=['-Wl,-fatal_warnings' if env.TargetOSIs('darwin') else "-Wl,--fatal-warnings"],
++ ## LINKFLAGS_WERROR=['-Wl,-fatal_warnings' if env.TargetOSIs('darwin') else "-Wl,--fatal-warnings"],
+ )
+ elif env.TargetOSIs('windows'):
+ env.Append(
+@@ -1959,7 +1962,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'):
+ env['LINK_WHOLE_ARCHIVE_LIB_START'] = '-Wl,--whole-archive'
+ env['LINK_WHOLE_ARCHIVE_LIB_END'] = '-Wl,--no-whole-archive'
+ env['LINK_AS_NEEDED_LIB_START'] = '-Wl,--as-needed'
+@@ -2136,14 +2139,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'):
+@@ -2434,7 +2437,6 @@ if env.TargetOSIs('posix'):
+
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fasynchronous-unwind-tables",
+- "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
+ "-Wall",
+ "-Wsign-compare",
+ "-Wno-unknown-pragmas",
+@@ -2909,7 +2911,7 @@ def doConfigure(myenv):
+ def AddToSHLINKFLAGSIfSupported(env, flag):
+ return AddFlagIfSupported(env, 'C', '.c', flag, True, SHLINKFLAGS=[flag])
+
+- 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.
+@@ -3043,7 +3045,7 @@ def doConfigure(myenv):
+
+ # This warning was added in clang-5 and incorrectly flags our implementation of
+ # exceptionToStatus(). See https://bugs.llvm.org/show_bug.cgi?id=34804
+- AddToCCFLAGSIfSupported(myenv, "-Wno-exceptions")
++ AddToCXXFLAGSIfSupported(myenv, "-Wno-exceptions")
+
+ # Enable sized deallocation support.
+ AddToCXXFLAGSIfSupported(myenv, '-fsized-deallocation')
+@@ -3276,9 +3278,9 @@ def doConfigure(myenv):
+ if usingLibStdCxx:
+ def CheckModernLibStdCxx(context):
+ test_body = """
+- #if !__has_include(<experimental/filesystem>)
+- #error "libstdc++ from GCC 5.3.0 or newer is required"
+- #endif
++ //#if !__has_include(<experimental/filesystem>)
++ //#error "libstdc++ from GCC 5.3.0 or newer is required"
++ //#endif
+ """
+
+ context.Message('Checking for libstdc++ 5.3.0 or better... ')
+@@ -3897,8 +3899,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'):
+@@ -3947,7 +3950,7 @@ def doConfigure(myenv):
+ cryptoLibName,
+ ["openssl/crypto.h"],
+ "C",
+- "SSLeay_version(0);",
++ call="SSLeay_version(0);",
+ autoadd=True):
+ maybeIssueDarwinSSLAdvice(conf.env)
+ conf.env.ConfError("Couldn't find OpenSSL crypto.h header and library")
+@@ -4104,7 +4107,7 @@ def doConfigure(myenv):
+ if conf.CheckLibWithHeader(
+ "curl",
+ ["curl/curl.h"], "C",
+- "curl_global_init(0);",
++ call="curl_global_init(0);",
+ autoadd=False):
+ return True
+
+@@ -4230,12 +4233,12 @@ def doConfigure(myenv):
+ "sasl2",
+ ["stddef.h","sasl/sasl.h"],
+ "C",
+- "sasl_version_info(0, 0, 0, 0, 0, 0);",
++ call="sasl_version_info(0, 0, 0, 0, 0, 0);",
+ autoadd=False ):
+ 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'):
+ if not conf.CheckLib("execinfo"):
+ myenv.ConfError("Cannot find libexecinfo, please install devel/libexecinfo.")
+
+@@ -4373,7 +4376,7 @@ def doConfigure(myenv):
+ ["mongoc-1.0"],
+ ["mongoc/mongoc.h"],
+ "C",
+- "mongoc_get_major_version();",
++ call="mongoc_get_major_version();",
+ autoadd=False ):
+ conf.env['MONGO_HAVE_LIBMONGOC'] = True
+ if not conf.env['MONGO_HAVE_LIBMONGOC'] and mongoc_mode == 'on':
Index: pkgsrc/databases/mongodb5/patches/patch-buildscripts_moduleconfig.py
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-buildscripts_moduleconfig.py:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-buildscripts_moduleconfig.py Tue Sep 22 16:47:10 2026
@@ -0,0 +1,21 @@
+$NetBSD: patch-buildscripts_moduleconfig.py,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+Python 3.12 support. Fix similar to waf.
+
+--- buildscripts/moduleconfig.py.orig 2024-08-17 15:28:15.030051822 +0000
++++ buildscripts/moduleconfig.py
+@@ -27,7 +27,13 @@ MongoDB SConscript files do.
+ __all__ = ('discover_modules', 'discover_module_directories', 'configure_modules',
+ 'register_module_test') # pylint: disable=undefined-all-variable
+
+-import imp
++import sys
++if sys.hexversion > 0x3040000:
++ import types
++ class imp(object):
++ new_module = lambda x: types.ModuleType(x)
++else:
++ import imp
+ import inspect
+ import os
+
Index: pkgsrc/databases/mongodb5/patches/patch-site__scons_mongo_platform.py
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-site__scons_mongo_platform.py:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-site__scons_mongo_platform.py Tue Sep 22 16:47:10 2026
@@ -0,0 +1,26 @@
+$NetBSD: patch-site__scons_mongo_platform.py,v 1.1 2026/09/22 16:47:10 abs 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/mongodb5/patches/patch-site__scons_site__tools_libtool.py
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-site__scons_site__tools_libtool.py:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-site__scons_site__tools_libtool.py Tue Sep 22 16:47:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-site__scons_site__tools_libtool.py,v 1.1 2026/09/22 16:47:10 abs 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/mongodb5/patches/patch-src_mongo_base_initializer.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_base_initializer.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_base_initializer.h Tue Sep 22 16:47:10 2026
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_mongo_base_initializer.h,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+Fixes at least SunOS.
+
+--- src/mongo/base/initializer.h.orig 2025-12-22 22:01:16.000000000 +0000
++++ src/mongo/base/initializer.h
+@@ -32,6 +32,7 @@
+ #include <functional>
+ #include <string>
+ #include <vector>
++#include <unistd.h>
+
+ #include "mongo/base/status.h"
+
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_exec_plan__stats.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_exec_plan__stats.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_exec_plan__stats.h Tue Sep 22 16:47:10 2026
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_mongo_db_exec_plan__stats.h,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+Add missing include.
+
+--- src/mongo/db/exec/plan_stats.h.orig 2023-08-27 11:41:19.643519257 +0000
++++ src/mongo/db/exec/plan_stats.h
+@@ -31,6 +31,7 @@
+
+ #include <cstdint>
+ #include <cstdlib>
++#include <optional>
+ #include <string>
+ #include <vector>
+
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_query_collation_collator__interface__icu.h Tue Sep 22 16:47:10 2026
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_mongo_db_query_collation_collator__interface__icu.h,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+Fix for newer ICU.
+
+--- src/mongo/db/query/collation/collator_interface_icu.h.orig 2025-12-22 22:01:16.000000000 +0000
++++ src/mongo/db/query/collation/collator_interface_icu.h
+@@ -33,9 +33,7 @@
+
+ #include <memory>
+
+-namespace icu {
+-class Collator;
+-} // namespace icu
++#include <unicode/coll.h>
+
+ namespace mongo {
+
+@@ -45,7 +43,7 @@ namespace mongo {
+ */
+ class CollatorInterfaceICU final : public CollatorInterface {
+ public:
+- CollatorInterfaceICU(Collation spec, std::unique_ptr<icu::Collator> collator);
++ CollatorInterfaceICU(Collation spec, std::unique_ptr<U_ICU_NAMESPACE::Collator> collator);
+
+ std::unique_ptr<CollatorInterface> 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<icu::Collator> _collator;
++ const std::unique_ptr<U_ICU_NAMESPACE::Collator> _collator;
+ };
+
+ } // namespace mongo
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_repl_isself.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_repl_isself.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_repl_isself.cpp Tue Sep 22 16:47:10 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_mongo_db_repl_isself.cpp,v 1.1 2026/09/22 16:47:10 abs 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 <ifaddrs.h>
+ #include <netdb.h>
+
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <netinet/in.h>
+ #endif
+
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_db_storage_storage__repair__observer.cpp Tue Sep 22 16:47:10 2026
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_mongo_db_storage_storage__repair__observer.cpp,v 1.1 2026/09/22 16:47:10 abs 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 <algorithm>
+ #include <cerrno>
+ #include <cstring>
++#include <fstream>
+
+ #ifdef __linux__
+ #include <fcntl.h>
+@@ -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/mongodb5/patches/patch-src_mongo_platform_process__id.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_process__id.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_process__id.cpp Tue Sep 22 16:47:10 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_mongo_platform_process__id.cpp,v 1.1 2026/09/22 16:47:10 abs Exp $
+
+Add getCurrentNativeThreadId() implementation for NetBSD
+
+--- src/mongo/platform/process_id.cpp.orig 2026-01-10 17:09:51.945999791 +0000
++++ src/mongo/platform/process_id.cpp
+@@ -73,6 +73,10 @@ inline NativeProcessId getCurrentNativeT
+ invariant(::pthread_threadid_np(NULL, &tid) == 0);
+ return tid;
+ }
++#elif __NetBSD__
++inline NativeProcessId getCurrentNativeThreadId() {
++ return (intptr_t)pthread_self();
++}
+ #else
+ inline NativeProcessId getCurrentNativeThreadId() {
+ return ::syscall(SYS_gettid);
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_random.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_random.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_random.cpp Tue Sep 22 16:47:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_mongo_platform_random.cpp,v 1.1 2026/09/22 16:47:10 abs 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/mongodb5/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_platform_stack__locator__netbsd.cpp Tue Sep 22 16:47:10 2026
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_mongo_platform_stack__locator__netbsd.cpp,v 1.1 2026/09/22 16:47:10 abs 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 <pthread.h>
+-#include <pthread_np.h>
+
+ #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<char*>(_end) + size;
+ }
+
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_linenoise__utf8.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_linenoise__utf8.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_linenoise__utf8.h Tue Sep 22 16:47:10 2026
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_mongo_shell_linenoise__utf8.h,v 1.1 2026/09/22 16:47:10 abs 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 <boost/core/swap.hpp>
+ #include <algorithm>
+ #include <memory>
+ #include <string.h>
+@@ -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/mongodb5/patches/patch-src_mongo_shell_shell__utils__extended.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_shell__utils__extended.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_shell_shell__utils__extended.cpp Tue Sep 22 16:47:10 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_mongo_shell_shell__utils__extended.cpp,v 1.1 2026/09/22 16:47:10 abs 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/mongodb5/patches/patch-src_mongo_util_intrusive__counter.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_intrusive__counter.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_intrusive__counter.h Tue Sep 22 16:47:10 2026
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_mongo_util_intrusive__counter.h,v 1.1 2026/09/22 16:47:10 abs 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 <cstdlib>
+ #include <boost/intrusive_ptr.hpp>
+ #include <stdlib.h>
+
Index: pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_processinfo__netbsd.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_processinfo__netbsd.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_processinfo__netbsd.cpp Tue Sep 22 16:47:11 2026
@@ -0,0 +1,58 @@
+$NetBSD: patch-src_mongo_util_processinfo__netbsd.cpp,v 1.1 2026/09/22 16:47:11 abs 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 <sys/param.h>
+ #include <sys/sysctl.h>
+ #include <sys/types.h>
+-#include <sys/user.h>
+ #include <sys/vmmeter.h>
+ #include <unistd.h>
+
+@@ -85,7 +85,7 @@ template <>
+ int getSysctlByIDWithDefault<std::string>(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/mongodb5/patches/patch-src_mongo_util_time__support.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_time__support.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_mongo_util_time__support.cpp Tue Sep 22 16:47:11 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_mongo_util_time__support.cpp,v 1.1 2026/09/22 16:47:11 abs 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/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h Tue Sep 22 16:47:11 2026
@@ -0,0 +1,132 @@
+$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h,v 1.1 2026/09/22 16:47:11 abs 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/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h Tue Sep 22 16:47:11 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h,v 1.1 2026/09/22 16:47:11 abs 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 <fenv.h>
+ #else
+ typedef unsigned short int fexcept_t;
Index: pkgsrc/databases/mongodb5/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp Tue Sep 22 16:47:11 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp,v 1.1 2026/09/22 16:47:11 abs 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 <sys/param.h>
++#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<intptr_t>(static_cast<void*>(udata)))
Index: pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp Tue Sep 22 16:47:11 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp,v 1.1 2026/09/22 16:47:11 abs Exp $
+
+Add cast to fix NetBSD XMM_sig definition for more recent compilers
+
+--- src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp.orig 2026-09-21 19:20:42.429001143 +0000
++++ src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp
+@@ -189,7 +189,7 @@ struct AutoSignalHandler
+ # define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
+ # endif
+ #elif defined(__NetBSD__)
+-# define XMM_sig(p,i) (((struct fxsave64*)(p)->uc_mcontext.__fpregs)->fx_xmm[i])
++# define XMM_sig(p,i) (((struct fxsave64*)&((p)->uc_mcontext.__fpregs))->fx_xmm[i])
+ # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
+ # define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
+ # define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
Index: pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h Tue Sep 22 16:47:11 2026
@@ -0,0 +1,77 @@
+$NetBSD: patch-src_third__party_mozjs-60_platform_aarch64_netbsd_build_js-confdefs.h,v 1.1 2026/09/22 16:47:11 abs Exp $
+
+This patch is generated with gen-config.sh and is a diff relative
+to aarch64/linux.
+
+--- src/third_party/mozjs-60/platform/aarch64/netbsd/build/js-confdefs.h.orig 2024-06-16 10:57:54.462683348 +0000
++++ src/third_party/mozjs-60/platform/aarch64/netbsd/build/js-confdefs.h
+@@ -11,8 +11,6 @@
+ #define CROSS_COMPILE
+ #define EDITLINE 1
+ #define HAVE_64BIT_BUILD 1
+-#define HAVE_ALLOCA_H 1
+-#define HAVE_BYTESWAP_H 1
+ #define HAVE_CLOCK_MONOTONIC 1
+ #define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1
+ #define HAVE_DIRENT_H 1
+@@ -23,33 +21,23 @@
+ #define HAVE_INTTYPES_H 1
+ #define HAVE_LANGINFO_CODESET 1
+ #define HAVE_LIBM 1
+-#define HAVE_LINUX_IF_ADDR_H 1
+-#define HAVE_LINUX_PERF_EVENT_H 1
+-#define HAVE_LINUX_QUOTA_H 1
+-#define HAVE_LINUX_RTNETLINK_H 1
+ #define HAVE_LOCALECONV 1
+ #define HAVE_LOCALTIME_R 1
+ #define HAVE_MALLOC_H 1
+-#define HAVE_MALLOC_USABLE_SIZE 1
+-#define HAVE_MEMALIGN 1
+ #define HAVE_NETINET_IN_H 1
+ #define HAVE_NL_TYPES_H 1
+ #define HAVE_POSIX_FADVISE 1
+ #define HAVE_POSIX_FALLOCATE 1
+ #define HAVE_POSIX_MEMALIGN 1
+ #define HAVE_PTHREAD_GETNAME_NP 1
+-#define HAVE_RES_NINIT 1
+ #define HAVE_SINCOS 1
+ #define HAVE_SSIZE_T 1
+ #define HAVE_STDINT_H 1
+ #define HAVE_STRNDUP 1
+ #define HAVE_SYS_MOUNT_H 1
+ #define HAVE_SYS_QUEUE_H 1
+-#define HAVE_SYS_QUOTA_H 1
+-#define HAVE_SYS_STATFS_H 1
+ #define HAVE_SYS_STATVFS_H 1
+ #define HAVE_SYS_TYPES_H 1
+-#define HAVE_SYS_VFS_H 1
+ #define HAVE_THREAD_TLS_KEYWORD 1
+ #define HAVE_TM_ZONE_TM_GMTOFF 1
+ #define HAVE_UNISTD_H 1
+@@ -65,7 +53,7 @@
+ #define JS_PUNBOX64 1
+ #define JS_STANDALONE 1
+ #define MALLOC_H <malloc.h>
+-#define MALLOC_USABLE_SIZE_CONST_PTR
++#define MALLOC_USABLE_SIZE_CONST_PTR const
+ #define MOZILLA_UAVERSION "60.0"
+ #define MOZILLA_VERSION "60.3.0"
+ #define MOZILLA_VERSION_U 60.3.0
+@@ -73,16 +61,13 @@
+ #define MOZJS_MINOR_VERSION 3
+ #define MOZ_BUILD_APP js
+ #define MOZ_DLL_SUFFIX ".so"
+-#define MOZ_GLUE_IN_PROGRAM 1
+-#define MOZ_MEMORY 1
+ #define MOZ_UPDATE_CHANNEL default
+ #define NO_NSPR_10_SUPPORT 1
+ #define RELEASE_OR_BETA 1
+ #define STDC_HEADERS 1
+ #define VA_COPY va_copy
+-#define XP_LINUX 1
+ #define XP_UNIX 1
+-#define _REENTRANT 1
++#define X_DISPLAY_MISSING 1
+
+ #include "js/RequiredDefines.h"
+
Index: pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h Tue Sep 22 16:47:11 2026
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_third__party_mozjs-60_platform_x86__64_netbsd_build_js-confdefs.h,v 1.1 2026/09/22 16:47:11 abs Exp $
+
+Update mozjs-60 NetBSD config
+
+--- 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 <malloc_np.h>
++#define MALLOC_H <stdlib.h>
+ #define MALLOC_USABLE_SIZE_CONST_PTR const
+ #define MOZILLA_UAVERSION "60.0"
+ #define MOZILLA_VERSION "60.3.0"
Index: pkgsrc/databases/mongodb5/patches/patch-src_third__party_s2_base_port.h
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_s2_base_port.h:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_s2_base_port.h Tue Sep 22 16:47:11 2026
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_third__party_s2_base_port.h,v 1.1 2026/09/22 16:47:11 abs 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 <machine/bswap.h>
++#define bswap_16(x) bswap16(x)
++#define bswap_32(x) bswap32(x)
++#define bswap_64(x) bswap64(x)
+ #else
+ #include <byteswap.h>
+ #endif
Index: pkgsrc/databases/mongodb5/patches/patch-src_third__party_wiredtiger_SConscript
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_wiredtiger_SConscript:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_wiredtiger_SConscript Tue Sep 22 16:47:11 2026
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_third__party_wiredtiger_SConscript,v 1.1 2026/09/22 16:47:11 abs 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/mongodb5/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c
diff -u /dev/null pkgsrc/databases/mongodb5/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c:1.1
--- /dev/null Tue Sep 22 16:47:11 2026
+++ pkgsrc/databases/mongodb5/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c Tue Sep 22 16:47:11 2026
@@ -0,0 +1,22 @@
+$NetBSD: patch-src_third__party_wiredtiger_src_os__posix_os__fs.c,v 1.1 2026/09/22 16:47:11 abs 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
Home |
Main Index |
Thread Index |
Old Index