git: 69a829258a9a - main - databases/mongodb90: new port 9.0.0-alpha1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 Oct 2026 16:57:41 UTC
The branch main has been updated by ronald:
URL: https://cgit.FreeBSD.org/ports/commit/?id=69a829258a9a643a9fb5e72b569b356d08ab087a
commit 69a829258a9a643a9fb5e72b569b356d08ab087a
Author: Ronald Klop <ronald@FreeBSD.org>
AuthorDate: 2026-10-10 10:12:03 +0000
Commit: Ronald Klop <ronald@FreeBSD.org>
CommitDate: 2026-10-12 16:56:46 +0000
databases/mongodb90: new port 9.0.0-alpha1
Ready enough to get added to the ports tree.
Not the final 9.0.0 yet. That is not tagged on github yet.
Compiles on amd64. Aarch64 is in the planning.
This port is copied from mongodb80 and adjusted.
---
databases/Makefile | 1 +
databases/mongodb90/Makefile | 227 +++++++++++++++++
databases/mongodb90/Makefile.bazel-cache | 121 +++++++++
databases/mongodb90/distinfo | 11 +
...hird__party_mozjs_extract_mozglue_misc_SIMD.cpp | 11 +
databases/mongodb90/files/make.test.sh | 31 +++
databases/mongodb90/files/mongod.in | 53 ++++
databases/mongodb90/files/patch-MODULE.bazel | 59 +++++
databases/mongodb90/files/patch-WORKSPACE.bazel | 23 ++
.../files/patch-bazel_cargo__bindeps.lock | 65 +++++
.../mongodb90/files/patch-bazel_config_BUILD.bazel | 105 ++++++++
databases/mongodb90/files/patch-bazel_crates.lock | 271 +++++++++++++++++++++
.../files/patch-bazel_freebsd__repositories.bzl | 18 ++
.../patch-bazel_install__rules_install__rules.bzl | 29 +++
.../files/patch-bazel_mongo__src__rules.bzl | 22 ++
...tch-bazel_platforms_local__config__platform.bzl | 25 ++
.../files/patch-bazel_platforms_normalize.bzl | 8 +
.../patch-bazel_rules__poetry_rules__poetry.patch | 170 +++++++++++++
...h-bazel_rules__rust_freebsd__host__triple.patch | 70 ++++++
.../files/patch-bazel_separate__debug.bzl | 44 ++++
...-bazel_toolchains_cc_mongo__compiler__flags.bzl | 20 ++
...asm_toolchain_cc__toolchain__config__wasip2.bzl | 30 +++
...lchains_cc_mongo__wasm_toolchain_wasi__repo.bzl | 42 ++++
...s_cc_mongo__wasm_toolchain_wasi__transition.bzl | 17 ++
...h-bazel_toolchains_python_python__toolchain.bzl | 222 +++++++++++++++++
.../mongodb90/files/patch-src_mongo_BUILD.bazel | 12 +
...h-src_mongo_BUILD.bazel_stack__locator__freebsd | 10 +
...rc_mongo_crypto_crypto__parameters__openssl.idl | 17 ++
.../files/patch-src_mongo_db_ftdc_BUILD.bazel | 10 +
...-src_mongo_platform_stack__locator__freebsd.cpp | 66 +++++
.../patch-src_mongo_platform_waitable__atomic.cpp | 64 +++++
...rc_mongo_transport_asio_asio__session__impl.cpp | 11 +
...patch-src_mongo_util_net_http__client__curl.cpp | 10 +
...c_third__party_IntelRDFPMathLib20U1_BUILD.bazel | 13 +
...y_asio_dist_asio_include_asio_detail_config.hpp | 12 +
.../files/patch-src_third__party_boost_BUILD.bazel | 41 ++++
.../patch-src_third__party_libbson_BUILD.bazel | 32 +++
...party_libbson_dist_src_libbson_src_bson_error.c | 10 +
...atch-src_third__party_libmongocrypt_BUILD.bazel | 33 +++
.../files/patch-src_third__party_mozjs_BUILD.bazel | 23 ++
...ch-src_third__party_mozjs_scripts_gen-config.sh | 45 ++++
.../files/patch-src_third__party_s2_BUILD.bazel | 13 +
...rd__party_snappy_platform_build__posix_config.h | 11 +
.../patch-src_third__party_wiredtiger_BUILD.bazel | 26 ++
...rd__party_wiredtiger_src_include_wt__internal.h | 33 +++
...ird__party_wiredtiger_src_os__linux_os__futex.c | 73 ++++++
.../patch-src_third__party_zstandard_BUILD.bazel | 14 ++
databases/mongodb90/pkg-descr | 5 +
databases/mongodb90/pkg-message | 16 ++
databases/mongodb90/pkg-plist | 10 +
50 files changed, 2305 insertions(+)
diff --git a/databases/Makefile b/databases/Makefile
index f83f58a66c75..791404eed182 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -194,6 +194,7 @@
SUBDIR += mongodb-tools
SUBDIR += mongodb70
SUBDIR += mongodb80
+ SUBDIR += mongodb90
SUBDIR += mongosh
SUBDIR += mroonga
SUBDIR += mtop
diff --git a/databases/mongodb90/Makefile b/databases/mongodb90/Makefile
new file mode 100644
index 000000000000..95a530a56e97
--- /dev/null
+++ b/databases/mongodb90/Makefile
@@ -0,0 +1,227 @@
+PORTNAME= mongodb
+DISTVERSIONPREFIX= r
+DISTVERSION= 9.0.0-alpha1
+CATEGORIES= databases net
+MASTER_SITES+= LOCAL/ronald:mongodb_bazel \
+ https://codeload.github.com/bazelbuild/bazel-central-registry/tar.gz/${BAZEL_REGISTRY_COMMIT}?dummy=/:bazel_registry \
+ https://codeload.github.com/mongodb-forks/rules_poetry/tar.gz/${RULES_POETRY_COMMIT}?dummy=/:rules_poetry
+PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}
+BAZEL_CACHE_DISTFILE= ${PORTNAME}-${DISTVERSIONFULL}-bazel-repository-cache.tar.gz
+BAZEL_REGISTRY_DISTFILE= bazelbuild-bazel-central-registry-${BAZEL_REGISTRY_COMMIT}_GH0.tar.gz
+RULES_POETRY_DISTFILE= mongodb-forks-rules_poetry-${RULES_POETRY_COMMIT}_GH0.tar.gz
+DISTFILES+= ${BAZEL_CACHE_DISTFILE}:mongodb_bazel \
+ ${BAZEL_REGISTRY_DISTFILE}:bazel_registry \
+ ${RULES_POETRY_DISTFILE}:rules_poetry
+
+MAINTAINER= ronald@FreeBSD.org
+COMMENT= MongoDB Community Edition (9.0.x Branch)
+WWW= https://www.mongodb.com/docs/v9.0/
+
+LICENSE= APACHE20 SSPLv1 # mongodb is SSPLv1, C++ driver is APACHE20
+LICENSE_COMB= multi
+LICENSE_NAME_SSPLv1= Server Side Public License Version 1
+LICENSE_FILE_SSPLv1= ${WRKSRC}/LICENSE-Community.txt
+LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64le
+ONLY_FOR_ARCHS_REASON= only ported to amd64, aarch64, and powerpc64le on FreeBSD; upstream supports arm64, ppc64le, s390x, and x86-64
+
+BUILD_DEPENDS= bazel:devel/bazel7 \
+ bash:shells/bash \
+ clang22:devel/llvm22@lite \
+ rg:textproc/ripgrep \
+ ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}cheetah3>0:devel/py-cheetah3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}distro>0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}gitpython>0:devel/py-gitpython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pymongo>0:databases/py-pymongo@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>=3.11:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}retry2>0:devel/py-retry2@${PY_FLAVOR} \
+ rust-cbindgen>0:devel/rust-cbindgen \
+ yq:textproc/go-yq
+# build depends used while running ${WRKSRC}/src/third_party/mozjs/scripts/gen-config.sh
+BUILD_DEPENDS+= gm4:devel/m4 \
+ gsed:textproc/gsed
+LIB_DEPENDS= libcurl.so:ftp/curl
+
+FLAVORS= default armv80a
+
+armv80a_PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}-armv80a
+
+# gmake is used while running ${WRKSRC}/src/third_party/mozjs/scripts/gen-config.sh
+USES= compiler:c++20-lang cpe gmake java:build pkgconfig python:build shebangfix ssl
+CPE_PRODUCT= mongodb
+
+# mozjs tag comes from ${WRKSRC}/src/third_party/mozjs/scripts/import.sh
+MOZJS_TAG= 7aeaf7a44d420360bde75db8453636092c3e2f56
+BAZEL_REGISTRY_COMMIT= 5df17720d4367282afb8e5ca27a35199ab7620e4
+RULES_POETRY_COMMIT= 092d43107d13e711ac4ac92050d8b570bcc8ef43
+
+USE_GITHUB= yes
+GH_ACCOUNT= mongodb mongodb-forks:mozjs
+GH_PROJECT= mongo spidermonkey:mozjs
+GH_TAGNAME= ${MOZJS_TAG}:mozjs
+JAVA_VERSION= 21
+USE_RC_SUBR= mongod
+
+SHEBANG_FILES= src/third_party/mozjs/scripts/gen-config.sh
+
+HAS_CONFIGURE= yes
+CONFIGURE_SCRIPT= scripts/gen-config.sh
+CONFIGURE_ARGS= ${MOZJS_ARCH} \
+ freebsd
+CONFIGURE_ENV+= PYTHON3="${PYTHON_CMD}"
+
+BAZEL= ${LOCALBASE}/bin/bazel
+BAZEL_OUTPUT_USER_ROOT= ${WRKDIR}/bazel
+BAZEL_REPOSITORY_CACHE=${WRKDIR}/bazel-repository-cache
+BAZEL_STARTUP_ARGS= --output_user_root=${BAZEL_OUTPUT_USER_ROOT}
+BAZEL_ENV= BAZEL_SH=${LOCALBASE}/bin/bash \
+ CARGO_NET_OFFLINE=true \
+ CC="${CC}" \
+ CXX="${CXX}" \
+ HOME=${WRKDIR} \
+ JAVA_HOME=${JAVA_HOME} \
+ MONGO_USE_SYSTEM_PYTHON=1 \
+ PYTHON_CMD=${PYTHON_CMD} \
+ TMPDIR=${WRKDIR}
+BAZEL_ARGS= --repository_cache=${BAZEL_REPOSITORY_CACHE} \
+ --distdir=${DISTDIR} \
+ --registry=file://${BAZEL_REGISTRY_WRKSRC} \
+ --repository_disable_download \
+ --lockfile_mode=off \
+ --//bazel/config:running_through_bazelisk=True \
+ --config=local \
+ --config=opt \
+ --verbose_failures \
+ --jobs=${MAKE_JOBS_NUMBER} \
+ --action_env=AR=llvm-ar \
+ --action_env=CC=${CC} \
+ --action_env=CXX=${CXX} \
+ --repo_env=CC=${CC} \
+ --repo_env=CXX=${CXX} \
+ --repo_env=JAVA_HOME=${JAVA_HOME} \
+ --repo_env=LOCALBASE=${LOCALBASE} \
+ --repo_env=MONGO_USE_SYSTEM_PYTHON=1 \
+ --repo_env=PYTHON_CMD=${PYTHON_CMD} \
+ --build_enterprise=False \
+ --enterprise_feature_all=False \
+ --allocator=system \
+ --libunwind=off \
+ --ssl=True \
+ --disable_warnings_as_errors=True \
+ --create_dwp=False \
+ --copt=-isystem${LOCALBASE}/include \
+ --define=GIT_COMMIT_HASH=freebsd-${PORTVERSION} \
+ --define=MONGO_DISTMOD=freebsd \
+ --define=MONGO_VERSION=${DISTVERSION} \
+ --cxxopt=-isystem${LOCALBASE}/include \
+ --cxxopt=-Iexternal/abseil-cpp~ \
+ --cxxopt=-DBOOST_NO_CXX98_FUNCTION_BASE \
+ --cxxopt=-Wno-unused-function \
+ --cxxopt=-Wno-invalid-offsetof \
+ --cxxopt=-Wno-defaulted-function-deleted \
+ --cxxopt=-Wno-unknown-warning-option \
+ --cxxopt=-Wno-macro-redefined \
+ --cxxopt=-Wno-register \
+ --linkopt=-L${LOCALBASE}/lib \
+ --linkopt=-lm \
+ --linkopt=-lcrypto \
+ --linkopt=-pthread \
+ --linkopt=-lexecinfo \
+ --linkopt=-lkvm \
+ --noexperimental_collect_system_network_usage
+ALL_TARGET= install-core
+
+CONFLICTS_INSTALL= mongodb[0-9][0-9]
+
+BINARY_ALIAS= python3=${PYTHON_CMD}
+EXTRACT_AFTER_ARGS= --no-same-owner --no-same-permissions
+
+# This ports is only following the Major Release.
+# https://docs.mongodb.com/manual/reference/versioning/
+PORTSCOUT= limit:^9\.0\.
+
+CONFIGURE_WRKSRC= ${MOZJS_WRKSRC}
+
+USERS= mongodb
+GROUPS= mongodb
+
+OPTIONS_DEFINE= LTO NOAVX
+OPTIONS_DEFINE_aarch64= ARMV80A
+OPTIONS_DEFAULT= NOAVX
+
+# MongoDB on non-LSE ARM cpu like Raspberry Pi can work but is unsupported upstream.
+# Can give corruption on high concurrency.
+# Please read https://jira.mongodb.org/browse/SERVER-71772.
+ARMV80A_DESC= Enable non-LSE ARM64 CPUs like RPI4.
+NOAVX_DESC= "Disable AVX instructions on amd64 (Sandybridge+)"
+
+ARMV80A_VARS= BAZEL_ARGS+="--copt=-march=armv8-a --cxxopt=-march=armv8-a"
+
+LTO_VARS= BAZEL_ARGS+=--thin_lto=True
+
+NOAVX_EXTRA_PATCHES= ${FILESDIR}/extrapatch-src_third__party_mozjs_extract_mozglue_misc_SIMD.cpp
+
+MOZJS_WRKSRC= ${WRKSRC}/src/third_party/mozjs
+BAZEL_REGISTRY_WRKSRC= ${WRKDIR}/bazel-central-registry-${BAZEL_REGISTRY_COMMIT}
+RULES_POETRY_WRKSRC= ${WRKDIR}/rules_poetry-${RULES_POETRY_COMMIT}
+BAZEL_INSTALL_WRKSRC= ${WRKSRC}/bazel-bin/${ALL_TARGET}
+
+.if ${FLAVOR:U} == armv80a
+OPTIONS_SET+= ARMV80A
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${FLAVOR:U} == armv80a && ${ARCH} != aarch64
+IGNORE= flavor armv80a is only valid on aarch64
+.endif
+
+.if ${ARCH} == amd64
+MOZJS_ARCH= x86_64
+.elif ${ARCH} == powerpc64le
+MOZJS_ARCH= ppc64le
+.elif ${ARCH} == aarch64
+MOZJS_ARCH= ${ARCH}
+.endif
+
+post-extract:
+# Verify we downloaded the proper mozjs git tag.
+ ${SH} -xc "test \"X`grep -E '^LIB_GIT_REVISION=' ${MOZJS_WRKSRC}/scripts/import.sh`\" = \"XLIB_GIT_REVISION=${MOZJS_TAG}\""
+
+pre-configure:
+# Replacement of ${WRKSRC}/src/third_party/mozjs/scripts/import.sh
+ ${LN} -sF ${WRKDIR}/spidermonkey-${MOZJS_TAG} ${MOZJS_WRKSRC}/mozilla-release
+ ${PYTHON_CMD} ${WRKSRC}/bazel/resmoke/derive_suite_selectors.py
+ cd ${WRKSRC} && ${PYTHON_CMD} -c 'from pathlib import Path; from bazel.auto_header.gen_all_headers import spawn_all_headers_thread; th, state = spawn_all_headers_thread(Path(".")); th.join(); assert state["ok"], state["err"]; print("Generated all_headers (%s)" % ("wrote" if state["wrote"] else "unchanged"))'
+ cd ${WRKSRC} && ${SETENV} RG_PATH=${LOCALBASE}/bin/rg ${PYTHON_CMD} -c 'from pathlib import Path; from bazel.auto_header.auto_header import gen_auto_headers; state = gen_auto_headers(Path(".")); assert state["ok"], state["err"]; print("Generated auto_headers (%s wrote, %s skipped)" % (state["wrote"], state["skipped"]))'
+
+post-patch:
+ ${PATCH} -d ${RULES_POETRY_WRKSRC} -p0 < ${WRKSRC}/bazel/rules_poetry/rules_poetry.patch
+
+do-build:
+ ${MKDIR} ${BAZEL_REPOSITORY_CACHE}
+ cd ${WRKSRC} && ${SETENV} ${BAZEL_ENV} ${BAZEL} ${BAZEL_STARTUP_ARGS} build ${BAZEL_ARGS} ${ALL_TARGET}
+
+do-install:
+ ${INSTALL_PROGRAM} ${BAZEL_INSTALL_WRKSRC}/bin/mongod ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${BAZEL_INSTALL_WRKSRC}/bin/mongos ${STAGEDIR}${PREFIX}/bin/
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mongod
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mongos
+ ${INSTALL_DATA} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for doc in LICENSE-Community.txt distsrc/MPL-2 distsrc/README distsrc/THIRD-PARTY-NOTICES
+ ${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR}/
+.endfor
+ ${INSTALL_MAN} ${WRKSRC}/debian/mongod.1 ${STAGEDIR}${PREFIX}/share/man/man1/
+ ${INSTALL_MAN} ${WRKSRC}/debian/mongos.1 ${STAGEDIR}${PREFIX}/share/man/man1/
+ ${INSTALL_MAN} ${WRKSRC}/debian/mongodb-parameters.5 ${STAGEDIR}${PREFIX}/share/man/man5/
+
+do-test:
+ ${SH} ${FILESDIR}/make.test.sh "${STAGEDIR}${PREFIX}/bin"
+
+.include <bsd.port.post.mk>
diff --git a/databases/mongodb90/Makefile.bazel-cache b/databases/mongodb90/Makefile.bazel-cache
new file mode 100644
index 000000000000..1fd239863c22
--- /dev/null
+++ b/databases/mongodb90/Makefile.bazel-cache
@@ -0,0 +1,121 @@
+# Helper for generating the offline Bazel repository cache distfile.
+#
+# Usage:
+# make -f Makefile.bazel-cache
+#
+# WRKDIRPREFIX and DISTDIR are intentionally not set here. The sub-make that
+# reads the real port Makefile will pick them up from /etc/make.conf or from the
+# command line, the same as any other port build.
+#
+# This intentionally excludes ${BAZEL_CACHE_DISTFILE} while preparing the source
+# tree, otherwise generating a new cache would require the cache to already
+# exist.
+
+PORTDIR?= ${.CURDIR}
+BATCH?= yes
+
+PORT_MAKE= ${MAKE} -C ${PORTDIR} \
+ BATCH=${BATCH}
+
+BAZEL!= ${PORT_MAKE} -V BAZEL
+BAZEL_ARGS!= ${PORT_MAKE} -V BAZEL_ARGS
+BAZEL_CACHE_DISTFILE!= ${PORT_MAKE} -V BAZEL_CACHE_DISTFILE
+BAZEL_ENV!= ${PORT_MAKE} -V BAZEL_ENV
+BAZEL_REPOSITORY_CACHE!= ${PORT_MAKE} -V BAZEL_REPOSITORY_CACHE
+BAZEL_STARTUP_ARGS!= ${PORT_MAKE} -V BAZEL_STARTUP_ARGS
+ALL_TARGET!= ${PORT_MAKE} -V ALL_TARGET
+DISTFILES!= ${PORT_MAKE} -V DISTFILES
+CACHE_DISTDIR!= ${PORT_MAKE} -V DISTDIR
+ECHO_MSG!= ${PORT_MAKE} -V ECHO_MSG
+FIND!= ${PORT_MAKE} -V FIND
+GZIP_CMD!= ${PORT_MAKE} -V GZIP_CMD
+LOCALBASE!= ${PORT_MAKE} -V LOCALBASE
+LS!= ${PORT_MAKE} -V LS
+MKDIR!= ${PORT_MAKE} -V MKDIR
+MV!= ${PORT_MAKE} -V MV
+RM!= ${PORT_MAKE} -V RM
+SETENV!= ${PORT_MAKE} -V SETENV
+SHA256!= ${PORT_MAKE} -V SHA256
+SORT!= ${PORT_MAKE} -V SORT
+TAR!= ${PORT_MAKE} -V TAR
+WRKDIR!= ${PORT_MAKE} -V WRKDIR
+WRKSRC!= ${PORT_MAKE} -V WRKSRC
+
+.if !defined(BAZEL_CACHE_EPOCH)
+BAZEL_CACHE_EPOCH!= if [ -n "$${SOURCE_DATE_EPOCH}" ]; then \
+ echo "$${SOURCE_DATE_EPOCH}"; \
+ elif command -v git >/dev/null 2>&1 && git -C ${PORTDIR} rev-parse --show-toplevel >/dev/null 2>&1; then \
+ epoch=`git -C ${PORTDIR} log -1 --format=%ct -- .`; \
+ if [ -n "$${epoch}" ]; then echo "$${epoch}"; else date -u +%s; fi; \
+ else \
+ date -u +%s; \
+ fi
+.endif
+
+JAVA_HOME?= ${LOCALBASE}/openjdk21
+BAZEL_CACHE_ENV= JAVA_HOME=${JAVA_HOME} ${BAZEL_ENV}
+BAZEL_CACHE_ARGS= ${BAZEL_ARGS:N--repository_disable_download}
+BAZEL_CACHE_ARGS+= --repo_env=JAVA_HOME=${JAVA_HOME}
+BAZEL_CACHE_DISTFILE_PATH= ${CACHE_DISTDIR}/${BAZEL_CACHE_DISTFILE}
+BAZEL_CACHE_MANIFEST= ${WRKDIR}/bazel-cache-manifest
+BAZEL_CACHE_OUTPUT_USER_ROOT= ${WRKDIR}/bazel-cache-output
+BAZEL_CACHE_STARTUP_ARGS= --output_user_root=${BAZEL_CACHE_OUTPUT_USER_ROOT}
+BAZEL_CACHE_CHECK_ROOT= ${WRKDIR}/bazel-cache-check
+BAZEL_CACHE_CHECK_HOME= ${BAZEL_CACHE_CHECK_ROOT}/home
+BAZEL_CACHE_CHECK_REPOSITORY_CACHE= ${BAZEL_CACHE_CHECK_ROOT}/bazel-repository-cache
+BAZEL_CACHE_CHECK_OUTPUT_USER_ROOT= ${BAZEL_CACHE_CHECK_ROOT}/bazel-output
+BAZEL_CACHE_CHECK_STARTUP_ARGS= --output_user_root=${BAZEL_CACHE_CHECK_OUTPUT_USER_ROOT}
+BAZEL_CACHE_CHECK_ARGS= ${BAZEL_ARGS:N--repository_cache=*}
+BAZEL_CACHE_CHECK_ARGS+= --repository_cache=${BAZEL_CACHE_CHECK_REPOSITORY_CACHE}
+BAZEL_CACHE_CHECK_ARGS+= --repo_env=JAVA_HOME=${JAVA_HOME}
+BAZEL_CACHE_CHECK_ENV= JAVA_HOME=${JAVA_HOME} ${BAZEL_ENV:NHOME=*} \
+ HOME=${BAZEL_CACHE_CHECK_HOME}
+SOURCE_DISTFILES= ${DISTFILES:N*${BAZEL_CACHE_DISTFILE}*}
+
+.PHONY: all bazel-cache-distfile package-bazel-cache-distfile check-bazel-cache-distfile clean-bazel-cache print-bazel-cache-vars
+
+all: bazel-cache-distfile
+
+bazel-cache-distfile:
+ ${PORT_MAKE} DISTFILES="${SOURCE_DISTFILES}" configure
+ ${RM} -r ${BAZEL_REPOSITORY_CACHE}
+ ${RM} -r ${BAZEL_CACHE_OUTPUT_USER_ROOT}
+ ${MKDIR} ${BAZEL_REPOSITORY_CACHE}
+ cd ${WRKSRC} && ${SETENV} ${BAZEL_CACHE_ENV} ${BAZEL} ${BAZEL_CACHE_STARTUP_ARGS} build --nobuild ${BAZEL_CACHE_ARGS} ${ALL_TARGET}
+ ${MAKE} -f ${.CURDIR}/Makefile.bazel-cache package-bazel-cache-distfile
+
+package-bazel-cache-distfile:
+ ${MKDIR} ${CACHE_DISTDIR}
+ ${RM} ${BAZEL_CACHE_DISTFILE_PATH}
+ cd ${WRKDIR} && ${FIND} ${BAZEL_REPOSITORY_CACHE:T} .cargo/registry -print | LC_ALL=C ${SORT} > ${BAZEL_CACHE_MANIFEST}
+ cd ${WRKDIR} && ${TAR} --no-recursion --format=pax --uid 0 --gid 0 --uname root --gname wheel --mtime @${BAZEL_CACHE_EPOCH} -cf - -T ${BAZEL_CACHE_MANIFEST} | ${GZIP_CMD} -c > ${BAZEL_CACHE_DISTFILE_PATH}
+ ${SHA256} ${BAZEL_CACHE_DISTFILE_PATH}
+ ${LS} -lh ${BAZEL_CACHE_DISTFILE_PATH}
+
+check-bazel-cache-distfile:
+ ${RM} -r ${BAZEL_CACHE_CHECK_ROOT}
+ ${MKDIR} ${BAZEL_CACHE_CHECK_ROOT}
+ cd ${BAZEL_CACHE_CHECK_ROOT} && ${TAR} -xzf ${BAZEL_CACHE_DISTFILE_PATH}
+ ${MKDIR} ${BAZEL_CACHE_CHECK_HOME}
+ ${MV} ${BAZEL_CACHE_CHECK_ROOT}/.cargo ${BAZEL_CACHE_CHECK_HOME}/.cargo
+ cd ${WRKSRC} && ${SETENV} ${BAZEL_CACHE_CHECK_ENV} ${BAZEL} ${BAZEL_CACHE_CHECK_STARTUP_ARGS} build --nobuild ${BAZEL_CACHE_CHECK_ARGS} ${ALL_TARGET}
+
+clean-bazel-cache:
+ ${RM} -r ${BAZEL_REPOSITORY_CACHE}
+ ${RM} ${BAZEL_CACHE_DISTFILE_PATH}
+ ${RM} ${BAZEL_CACHE_MANIFEST}
+ ${RM} -r ${BAZEL_CACHE_OUTPUT_USER_ROOT}
+ ${RM} -r ${BAZEL_CACHE_CHECK_ROOT}
+
+print-bazel-cache-vars:
+ @${ECHO_MSG} "DISTDIR=${CACHE_DISTDIR}"
+ @${ECHO_MSG} "WRKDIR=${WRKDIR}"
+ @${ECHO_MSG} "WRKSRC=${WRKSRC}"
+ @${ECHO_MSG} "BAZEL_CACHE_EPOCH=${BAZEL_CACHE_EPOCH}"
+ @${ECHO_MSG} "JAVA_HOME=${JAVA_HOME}"
+ @${ECHO_MSG} "BAZEL_REPOSITORY_CACHE=${BAZEL_REPOSITORY_CACHE}"
+ @${ECHO_MSG} "BAZEL_CACHE_OUTPUT_USER_ROOT=${BAZEL_CACHE_OUTPUT_USER_ROOT}"
+ @${ECHO_MSG} "BAZEL_CACHE_CHECK_HOME=${BAZEL_CACHE_CHECK_HOME}"
+ @${ECHO_MSG} "BAZEL_CACHE_CHECK_REPOSITORY_CACHE=${BAZEL_CACHE_CHECK_REPOSITORY_CACHE}"
+ @${ECHO_MSG} "BAZEL_CACHE_DISTFILE=${BAZEL_CACHE_DISTFILE}"
+ @${ECHO_MSG} "SOURCE_DISTFILES=${SOURCE_DISTFILES}"
diff --git a/databases/mongodb90/distinfo b/databases/mongodb90/distinfo
new file mode 100644
index 000000000000..bab8b102a282
--- /dev/null
+++ b/databases/mongodb90/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1791137828
+SHA256 (bazelbuild-bazel-central-registry-5df17720d4367282afb8e5ca27a35199ab7620e4_GH0.tar.gz) = 8e50f26b47e345a32aaff54d8477b4d9a277cab1cb7d4db6b7aa361191d55be4
+SIZE (bazelbuild-bazel-central-registry-5df17720d4367282afb8e5ca27a35199ab7620e4_GH0.tar.gz) = 14273558
+SHA256 (mongodb-forks-rules_poetry-092d43107d13e711ac4ac92050d8b570bcc8ef43_GH0.tar.gz) = 533a0178767be4d79a67ae43890970485217f031adf090ef28c5c18e8fd337d8
+SIZE (mongodb-forks-rules_poetry-092d43107d13e711ac4ac92050d8b570bcc8ef43_GH0.tar.gz) = 2704422
+SHA256 (mongodb-mongo-r9.0.0-alpha1_GH0.tar.gz) = 7aadc37373fc88954ae1f358ae2ac05a14a430d2fb1cec1f5823a6618631359a
+SIZE (mongodb-mongo-r9.0.0-alpha1_GH0.tar.gz) = 116678568
+SHA256 (mongodb-r9.0.0-alpha1-bazel-repository-cache.tar.gz) = 8787f0e86a008a5d0b6706c5ab756b48b5b31d18556e8b18367ec1dd5a2b6db0
+SIZE (mongodb-r9.0.0-alpha1-bazel-repository-cache.tar.gz) = 693953607
+SHA256 (mongodb-forks-spidermonkey-7aeaf7a44d420360bde75db8453636092c3e2f56_GH0.tar.gz) = 8ec7aa1399b6fb15b859c448ae6f361ab28cf48bd8fc4f0de2fb3776582e202f
+SIZE (mongodb-forks-spidermonkey-7aeaf7a44d420360bde75db8453636092c3e2f56_GH0.tar.gz) = 392664341
diff --git a/databases/mongodb90/files/extrapatch-src_third__party_mozjs_extract_mozglue_misc_SIMD.cpp b/databases/mongodb90/files/extrapatch-src_third__party_mozjs_extract_mozglue_misc_SIMD.cpp
new file mode 100644
index 000000000000..f68cc2552390
--- /dev/null
+++ b/databases/mongodb90/files/extrapatch-src_third__party_mozjs_extract_mozglue_misc_SIMD.cpp
@@ -0,0 +1,11 @@
+--- src/third_party/mozjs/extract/mozglue/misc/SIMD.cpp.orig 2024-11-07 09:56:02 UTC
++++ src/third_party/mozjs/extract/mozglue/misc/SIMD.cpp
+@@ -448,7 +448,7 @@ const char* SIMD::memchr8SSE2(const char* ptr, char va
+ // assertion failure. Accordingly, we just don't allow that to happen. We
+ // are not particularly concerned about ensuring that newer 32 bit processors
+ // get access to the AVX2 functions exposed here.
+-# if defined(MOZILLA_MAY_SUPPORT_AVX2) && defined(__x86_64__)
++# if 0 && defined(MOZILLA_MAY_SUPPORT_AVX2) && defined(__x86_64__)
+
+ bool SupportsAVX2() { return supports_avx2(); }
+
diff --git a/databases/mongodb90/files/make.test.sh b/databases/mongodb90/files/make.test.sh
new file mode 100755
index 000000000000..c42bb1973e6b
--- /dev/null
+++ b/databases/mongodb90/files/make.test.sh
@@ -0,0 +1,31 @@
+#! /bin/sh
+
+set -e
+
+usage() {
+ echo "Usage: $0 <path>"
+ echo "<path> path to the executables"
+}
+
+test "$#" -eq 1 || ( usage && exit 1 )
+
+set -x
+
+PATH="$1:$PATH"
+
+DBDIR=$( mktemp -d -t tmp.mongodb )
+
+trap 'rm -rf "$DBDIR"' EXIT
+
+# Trivial check if the binaries execute at all.
+mongod --version
+mongos --version
+
+# Check if an empty database can be created.
+mkdir "$DBDIR/db"
+tail -F "$DBDIR/log" | ( grep -qFe "Waiting for connections" && kill $(cat "$DBDIR/pid") ) &
+script -eF "$DBDIR/log" \
+ timeout -s TERM -k 30s 60s \
+ mongod --dbpath "$DBDIR/db" --pidfilepath "$DBDIR/pid"
+
+echo "Test successful"
diff --git a/databases/mongodb90/files/mongod.in b/databases/mongodb90/files/mongod.in
new file mode 100644
index 000000000000..53d966b4b16a
--- /dev/null
+++ b/databases/mongodb90/files/mongod.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# PROVIDE: mongod
+# REQUIRE: NETWORKING ldconfig
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# mongod_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable mongod.
+# mongod_dbpath (str): Default to "/var/db/mongodb"
+# Base database directory.
+# mongod_flags (str): Custom additional arguments to be passed to mongod.
+# Default to "--logpath ${mongod_dbpath}/mongod.log --logappend".
+# mongod_config (str): Default to "%%PREFIX%%/etc/mongodb.conf"
+# Path to config file
+#
+
+. /etc/rc.subr
+
+name="mongod"
+rcvar=mongod_enable
+
+load_rc_config $name
+
+: ${mongod_enable="NO"}
+: ${mongod_dbpath="/var/db/mongodb"}
+: ${mongod_flags="--logpath ${mongod_dbpath}/mongod.log --logappend --setParameter=disabledSecureAllocatorDomains=\*"}
+: ${mongod_user="mongodb"}
+: ${mongod_group="mongodb"}
+: ${mongod_config="%%PREFIX%%/etc/mongodb.conf"}
+
+pidfile="${mongod_dbpath}/mongod.lock"
+command=%%PREFIX%%/bin/${name}
+command_args="--config $mongod_config --dbpath $mongod_dbpath --fork >/dev/null 2>/dev/null"
+start_precmd="${name}_prestart"
+
+mongod_create_dbpath()
+{
+ mkdir ${mongod_dbpath} >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath}
+}
+
+mongod_prestart()
+{
+ if [ ! -d ${mongod_dbpath} ]; then
+ mongod_create_dbpath || return 1
+ fi
+ return 0
+}
+
+run_rc_command "$1"
diff --git a/databases/mongodb90/files/patch-MODULE.bazel b/databases/mongodb90/files/patch-MODULE.bazel
new file mode 100644
index 000000000000..3af76c02698c
--- /dev/null
+++ b/databases/mongodb90/files/patch-MODULE.bazel
@@ -0,0 +1,59 @@
+--- MODULE.bazel.orig
++++ MODULE.bazel
+@@ -78,11 +78,9 @@ single_version_override(
+ )
+
+ bazel_dep(name = "rules_poetry", version = "")
+-git_override(
++local_path_override(
+ module_name = "rules_poetry",
+- commit = "092d43107d13e711ac4ac92050d8b570bcc8ef43",
+- patches = ["//bazel/rules_poetry:rules_poetry.patch"],
+- remote = "https://github.com/mongodb-forks/rules_poetry",
++ path = "../rules_poetry-092d43107d13e711ac4ac92050d8b570bcc8ef43",
+ )
+
+ #
+@@ -164,5 +164,8 @@ use_repo(
+ setup_mongo_python_toolchains,
+ "py_host",
++ "py_freebsd_arm64",
++ "py_freebsd_ppc64le",
++ "py_freebsd_x86_64",
+ "py_linux_arm64",
+ "py_linux_ppc64le",
+ "py_linux_s390x",
+@@ -176,6 +179,9 @@ use_repo(
+ )
+
+ register_toolchains(
++ "@py_freebsd_arm64//:python_toolchain",
++ "@py_freebsd_ppc64le//:python_toolchain",
++ "@py_freebsd_x86_64//:python_toolchain",
+ "@py_linux_arm64//:python_toolchain",
+ "@py_linux_ppc64le//:python_toolchain",
+ "@py_linux_s390x//:python_toolchain",
+@@ -348,6 +354,7 @@ single_version_override(
+ "//bazel/rules_rust:ppc64le_crates.patch",
+ "//bazel/rules_rust:ppc64le_cargo_bazel_url.patch",
+ "//bazel/rules_rust:cargo_build_script_pwd_flags.patch",
++ "//bazel/rules_rust:freebsd_host_triple.patch",
+ ],
+ version = "0.69.0",
+ )
+@@ -506,6 +513,7 @@ crate.from_specs(
+ "aarch64-unknown-linux-gnu",
+ "x86_64-apple-darwin",
+ "x86_64-unknown-linux-gnu",
++ "x86_64-unknown-freebsd",
+ "x86_64-pc-windows-msvc",
+ "powerpc64le-unknown-linux-gnu",
+ "s390x-unknown-linux-gnu",
+@@ -532,6 +540,7 @@ cargo_bindeps.from_specs(
+ "aarch64-unknown-linux-gnu",
+ "x86_64-apple-darwin",
+ "x86_64-unknown-linux-gnu",
++ "x86_64-unknown-freebsd",
+ "x86_64-pc-windows-msvc",
+ "powerpc64le-unknown-linux-gnu",
+ "s390x-unknown-linux-gnu",
diff --git a/databases/mongodb90/files/patch-WORKSPACE.bazel b/databases/mongodb90/files/patch-WORKSPACE.bazel
new file mode 100644
index 000000000000..804f36c0a38a
--- /dev/null
+++ b/databases/mongodb90/files/patch-WORKSPACE.bazel
@@ -0,0 +1,23 @@
+--- WORKSPACE.bazel.orig
++++ WORKSPACE.bazel
+@@ -127,6 +127,20 @@ load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_N
+
+ rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)
+
++load("//bazel:freebsd_repositories.bzl", "freebsd_system_yq_repo")
++
++freebsd_system_yq_repo(
++ name = "yq_freebsd_amd64",
++)
++
++freebsd_system_yq_repo(
++ name = "yq_freebsd_arm64",
++)
++
++freebsd_system_yq_repo(
++ name = "yq_freebsd_ppc64le",
++)
++
+ load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
+
+ npm_translate_lock(
diff --git a/databases/mongodb90/files/patch-bazel_cargo__bindeps.lock b/databases/mongodb90/files/patch-bazel_cargo__bindeps.lock
new file mode 100644
index 000000000000..ad91ab7d697f
--- /dev/null
+++ b/databases/mongodb90/files/patch-bazel_cargo__bindeps.lock
@@ -0,0 +1,65 @@
+--- bazel/cargo_bindeps.lock.orig
++++ bazel/cargo_bindeps.lock
+@@ -1,5 +1,5 @@
+ {
+- "checksum": "14e3d78cf8dddc34151b0ee8e41886f553b1fbf6cff1a6b50e87b8845b22adb1",
++ "checksum": "7b1e6817cb7616cb3447c2f3e413a1a5c475debf2bfc1f9059d5089cd4d86f23",
+ "crates": {
+ "aho-corasick 1.1.4": {
+ "name": "aho-corasick",
+@@ -519,6 +519,9 @@
+ "x86_64-apple-darwin": [
+ "std"
+ ],
++ "x86_64-unknown-freebsd": [
++ "std"
++ ],
+ "x86_64-unknown-linux-gnu": [
+ "std"
+ ]
+@@ -3691,6 +3694,17 @@
+ "id": "libc 0.2.184",
+ "target": "libc"
+ }
++ ],
++ "x86_64-unknown-freebsd": [
++ {
++ "id": "errno 0.3.14",
++ "target": "errno",
++ "alias": "libc_errno"
++ },
++ {
++ "id": "libc 0.2.184",
++ "target": "libc"
++ }
+ ]
+ }
+ },
+@@ -7714,7 +7728,8 @@
+ "aarch64-apple-darwin",
+ "powerpc64le-unknown-linux-gnu",
+ "s390x-unknown-linux-gnu",
+- "x86_64-apple-darwin"
++ "x86_64-apple-darwin",
++ "x86_64-unknown-freebsd"
+ ],
+ "cfg(any())": [],
+ "cfg(not(target_has_atomic = \"ptr\"))": [],
+@@ -7726,6 +7741,7 @@
+ "powerpc64le-unknown-linux-gnu",
+ "s390x-unknown-linux-gnu",
+ "x86_64-apple-darwin",
++ "x86_64-unknown-freebsd",
+ "x86_64-unknown-linux-gnu"
+ ],
+ "cfg(windows)": [
+@@ -7742,6 +7758,9 @@
+ ],
+ "x86_64-pc-windows-msvc": [
+ "x86_64-pc-windows-msvc"
++ ],
++ "x86_64-unknown-freebsd": [
++ "x86_64-unknown-freebsd"
+ ],
+ "x86_64-unknown-linux-gnu": [
+ "x86_64-unknown-linux-gnu"
diff --git a/databases/mongodb90/files/patch-bazel_config_BUILD.bazel b/databases/mongodb90/files/patch-bazel_config_BUILD.bazel
new file mode 100644
index 000000000000..7c06971c02c5
--- /dev/null
+++ b/databases/mongodb90/files/patch-bazel_config_BUILD.bazel
@@ -0,0 +1,105 @@
+--- bazel/config/BUILD.bazel.orig 2026-08-11 19:14:56 UTC
++++ bazel/config/BUILD.bazel
+@@ -252,6 +252,30 @@ config_setting(
+ ],
+ )
+
++config_setting(
++ name = "freebsd_aarch64",
++ constraint_values = [
++ "@platforms//os:freebsd",
++ "@platforms//cpu:aarch64",
++ ],
++)
++
++config_setting(
++ name = "freebsd_x86_64",
++ constraint_values = [
++ "@platforms//os:freebsd",
++ "@platforms//cpu:x86_64",
++ ],
++)
++
++config_setting(
++ name = "freebsd_ppc64le",
++ constraint_values = [
++ "@platforms//os:freebsd",
++ "@platforms//cpu:ppc",
++ ],
++)
++
+ selects.config_setting_group(
+ name = "linux_aarch64_or_x86_64",
+ match_any = [
+@@ -292,6 +316,7 @@ selects.config_setting_group(
+ match_any = [
+ "@platforms//os:macos",
+ "@platforms//os:linux",
++ "@platforms//os:freebsd",
+ ],
+ )
+
+@@ -300,6 +325,7 @@ selects.config_setting_group(
+ match_any = [
+ "@platforms//os:macos",
+ "@platforms//os:windows",
++ "@platforms//os:freebsd",
+ ],
+ )
+
+@@ -308,6 +334,7 @@ selects.config_setting_group(
+ match_any = [
+ "@platforms//os:linux",
+ "@platforms//os:windows",
++ "@platforms//os:freebsd",
+ ],
+ )
+
+@@ -342,6 +369,7 @@ selects.config_setting_group(
+ match_any = [
+ "@platforms//os:macos",
+ "@platforms//os:linux",
++ "@platforms//os:freebsd",
+ "@platforms//os:wasi",
+ ],
+ )
+@@ -2321,6 +2349,22 @@ selects.config_setting_group(
+ ],
+ )
+
++selects.config_setting_group(
++ name = "ssl_enabled_freebsd",
++ match_all = [
++ "@platforms//os:freebsd",
++ ":ssl_enabled",
++ ],
++)
++
++selects.config_setting_group(
++ name = "ssl_disabled_freebsd",
++ match_all = [
++ "@platforms//os:freebsd",
++ ":ssl_disabled",
++ ],
++)
++
+ selects.config_setting_group(
+ name = "ssl_enabled_build_enterprise_disabled",
+ match_all = [
+@@ -2680,13 +2724,15 @@ selects.config_setting_group(
+ selects.config_setting_group(
+ name = "mongo_crypto_openssl",
+- match_all = [
++ match_any = [
+ ":ssl_enabled_linux",
++ ":ssl_enabled_freebsd",
+ ],
+ )
+
+ selects.config_setting_group(
+ name = "mongo_crypto_tom",
+ match_any = [
+ ":ssl_disabled_linux",
++ ":ssl_disabled_freebsd",
+ ],
+ )
diff --git a/databases/mongodb90/files/patch-bazel_crates.lock b/databases/mongodb90/files/patch-bazel_crates.lock
new file mode 100644
index 000000000000..52c29a15aa8b
--- /dev/null
+++ b/databases/mongodb90/files/patch-bazel_crates.lock
@@ -0,0 +1,271 @@
+--- bazel/crates.lock.orig
++++ bazel/crates.lock
+@@ -1,5 +1,5 @@
+ {
+- "checksum": "b01cc541b36e01fc3bdb689603bcc4967bc3f75d36e39e5f2ff96e7d45f306df",
++ "checksum": "0d097b413bb31c3c6e8a99e5acad5ce69c458e211ec7fbe905c10aec3c095bb3",
+ "crates": {
+ "addr2line 0.26.1": {
+ "name": "addr2line",
+@@ -1611,6 +1611,12 @@
+ }
+ ],
+ "x86_64-apple-darwin": [
++ {
++ "id": "libc 0.2.184",
++ "target": "libc"
++ }
++ ],
++ "x86_64-unknown-freebsd": [
+ {
+ "id": "libc 0.2.184",
+ "target": "libc"
+@@ -4260,6 +4266,9 @@
+ "x86_64-apple-darwin": [
+ "default"
+ ],
++ "x86_64-unknown-freebsd": [
++ "default"
++ ],
+ "x86_64-unknown-linux-gnu": [
+ "default"
+ ]
+@@ -8585,6 +8594,9 @@
+ ],
+ "x86_64-apple-darwin": [
+ "extra_traits"
++ ],
++ "x86_64-unknown-freebsd": [
++ "extra_traits"
+ ]
+ }
+ },
+@@ -11039,6 +11051,12 @@
+ }
+ ],
+ "x86_64-apple-darwin": [
++ {
++ "id": "libc 0.2.184",
++ "target": "libc"
++ }
++ ],
++ "x86_64-unknown-freebsd": [
+ {
+ "id": "libc 0.2.184",
+ "target": "libc"
+@@ -11994,6 +12012,17 @@
+ "id": "libc 0.2.184",
+ "target": "libc"
+ }
++ ],
++ "x86_64-unknown-freebsd": [
++ {
++ "id": "errno 0.3.14",
++ "target": "errno",
++ "alias": "libc_errno"
++ },
++ {
++ "id": "libc 0.2.184",
++ "target": "libc"
++ }
+ ]
+ }
+ },
+@@ -12113,6 +12142,15 @@
+ "thread",
+ "time"
+ ],
++ "x86_64-unknown-freebsd": [
++ "fs",
++ "mm",
++ "param",
++ "process",
++ "termios",
++ "thread",
++ "time"
++ ],
+ "x86_64-unknown-linux-gnu": [
+ "fs",
+ "mm",
+@@ -12220,6 +12258,17 @@
+ "target": "errno",
+ "alias": "libc_errno"
+ }
++ ],
++ "x86_64-unknown-freebsd": [
++ {
++ "id": "errno 0.3.14",
++ "target": "errno",
++ "alias": "libc_errno"
++ },
++ {
++ "id": "libc 0.2.184",
++ "target": "libc"
++ }
+ ]
+ }
+ },
+@@ -14553,6 +14602,16 @@
+ "target": "windows_sys"
+ }
+ ],
++ "x86_64-unknown-freebsd": [
++ {
++ "id": "libc 0.2.184",
++ "target": "libc"
++ },
++ {
++ "id": "signal-hook-registry 1.4.8",
++ "target": "signal_hook_registry"
++ }
++ ],
+ "x86_64-unknown-linux-gnu": [
+ {
+ "id": "libc 0.2.184",
+@@ -17149,13 +17208,13 @@
+ "Http": {
+ "url": "https://static.crates.io/crates/wasmtime/44.0.1/download",
+ "sha256": "372db8bbad8ec962038101f75ab2c3ffcd18797d7d3ae877a58ab9873cd0c4bd",
++ "patch_args": [
++ "-p1"
++ ],
+ "patches": [
*** 1694 LINES SKIPPED ***