git: 661b9c7c3018 - main - databases/mongosh: update to 2.3.8
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 20 Feb 2025 23:27:50 UTC
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=661b9c7c3018703ff9dbffdee3ffcea8479da521 commit 661b9c7c3018703ff9dbffdee3ffcea8479da521 Author: Fabien Amelinck <fabien.amelinck@advens.fr> AuthorDate: 2025-01-29 17:30:10 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2025-02-20 23:27:21 +0000 databases/mongosh: update to 2.3.8 Changelog: https://github.com/mongodb-js/mongosh/releases PR: 284440 --- databases/mongosh/Makefile | 50 +++++++++++----------- databases/mongosh/distinfo | 18 ++++---- .../patch-node__modules_kerberos_binding.gyp | 3 +- ...__modules_mongodb-client-encryption_binding.gyp | 32 +++----------- ..._modules_mongodb-client-encryption_package.json | 11 ----- databases/mongosh/files/node-patches/004-openssl3 | 15 ------- ...{005-src_cares__wrap.h => 010-src-cares_wrap.h} | 0 .../011-deps-v8-src-base-small-vector.h | 10 +++++ databases/mongosh/files/patch-package.json | 25 ++++------- .../mongosh/files/patch-scripts_prep-fle-addon.sh | 32 ++++++-------- 10 files changed, 72 insertions(+), 124 deletions(-) diff --git a/databases/mongosh/Makefile b/databases/mongosh/Makefile index 34cf52326006..17cbfe1d4938 100644 --- a/databases/mongosh/Makefile +++ b/databases/mongosh/Makefile @@ -1,6 +1,6 @@ PORTNAME= mongosh DISTVERSIONPREFIX= v -DISTVERSION= 2.2.5 +DISTVERSION= 2.3.8 CATEGORIES= databases shells net MASTER_SITES= https://registry.npmjs.org/mongodb-client-encryption/-/:mongocrypt \ https://registry.npmjs.org/kerberos/-/:kerberos \ @@ -10,7 +10,7 @@ MASTER_SITES= https://registry.npmjs.org/mongodb-client-encryption/-/:mongocrypt DISTFILES= mongodb-client-encryption-${MONGO_CRYPT_VER}.tgz:mongocrypt \ kerberos-${KERBEROS_VER}.tgz:kerberos \ os-dns-native-${OSDNSNATIVE_VER}.tgz:dns \ - ${NODE_MODULES_TARBALL}:modules \ + ${NODE_MODULES_TARBALL}:modules # ${NODEJS_TARBALL}:node \ # SHASUMS256.txt:node DIST_SUBDIR= ${PORTNAME} @@ -22,33 +22,31 @@ WWW= https://github.com/mongodb-js/mongosh/ LICENSE= APACHE20 -BROKEN_aarch64= fails to compile: nx/src/native/index.js:147 Error: Unsupported architecture on FreeBSD: arm64 -BROKEN_armv7= fails to compile: nx/src/native/index.js:147 Error: Unsupported architecture on FreeBSD: arm -BROKEN_i386= fails to compile: nx/src/native/index.js:147 Error: Unsupported architecture on FreeBSD: ia32 -BROKEN_FreeBSD_15= clang19?, string:820:42: error: implicit instantiation of undefined template 'std::char_traits<unsigned short>' +ONLY_FOR_ARCHS= amd64 +# issue created upstream https://github.com/nrwl/nx/issues/29257 -FETCH_DEPENDS= npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} -BUILD_DEPENDS= bash>0:shells/bash \ - brotli>=1.0.9,1:archivers/brotli \ +PATCH_DEPENDS= npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} +BUILD_DEPENDS= brotli>=1.0.9,1:archivers/brotli \ c-ares>=1.17.2:dns/c-ares \ libnghttp2>=1.45.1:www/libnghttp2 \ libuv>=1.42.0:devel/libuv \ objdump:devel/binutils \ + bash>0:shells/bash \ git>0:devel/git -LIB_DEPENDS= libmongocrypt.so:databases/libmongocrypt \ - libbrotlidec.so:archivers/brotli \ +LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ libcares.so:dns/c-ares \ libnghttp2.so:www/libnghttp2 \ - libuv.so:devel/libuv + libuv.so:devel/libuv \ + libmongocrypt.so:databases/libmongocrypt RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss -USES= compiler:c++11-lib gmake gssapi:mit localbase pkgconfig nodejs:20,build python:build ssl +USES= compiler:c++11-lib gmake gssapi:mit localbase nodejs:lts,build pkgconfig python:build ssl tar:xz USE_GITHUB= yes GH_ACCOUNT= VultureProject GH_PROJECT= mongosh -CUSTOM_ENV= SEGMENT_API_KEY=dummy BUILD_TYPE=dynamic +CUSTOM_ENV= SEGMENT_API_KEY=dummy GYP_DEFINES="libmongocrypt_link_type=dynamic" CONFIGURE_ENV= ${CUSTOM_ENV} MAKE_ENV= ${CUSTOM_ENV} \ NODE_JS_VERSION=file://${_DISTDIR}/${NODEJS_TARBALL} \ @@ -60,11 +58,11 @@ REINPLACE_ARGS= -i '' MPROTECT_DISABLE= bin/mongosh -MONGO_CRYPT_VER=6.0.0 +MONGO_CRYPT_VER=6.1.0 KERBEROS_VER= 2.1.0 -OSDNSNATIVE_VER=1.2.0 +OSDNSNATIVE_VER=1.2.1 NODE_MODULES_DIR= ${WRKSRC}/node_modules -NODE_MODULES_TARBALL= ${PORTNAME}-${DISTVERSIONFULL}-node-modules.tar.xz +NODE_MODULES_TARBALL= ${PORTNAME}-${DISTVERSIONFULL}-${ARCH}-node-modules.tar.xz NPM_CACHE_DIR= /tmp/.npm NODEJS_TARBALL= node-v${NODEJS_PORTVERSION}.tar.gz @@ -77,7 +75,7 @@ post-fetch: post-extract: .if !exists(${NODE_MODULES_DIR}) - ${TAR} -xzf /${_DISTDIR}/${NODE_MODULES_TARBALL} -C ${WRKSRC} + ${TAR} -xzf ${_DISTDIR}/${NODE_MODULES_TARBALL} -C ${WRKSRC} ${REINPLACE_CMD} -e "s/'make'/'gmake'/g" \ -e "s/'V='/'V=0'/g" \ -e 's/(await (0, nv_1.default)(range)).pop()/{"version": "${NODEJS_PORTVERSION}"}/g' \ @@ -106,6 +104,7 @@ do-build: cd ${NODE_MODULES_DIR}/${module} && ${MAKE_ENV} ${MAKE_CMD} BUILDTYPE=Release -C build -d .endfor ${REINPLACE_CMD} 's/"version": "0.0.0-dev.0"/"version": "${DISTVERSION}"/g' ${WRKSRC}/packages/cli-repl/package.json + ${RM} ${WRKSRC}/scripts/nodejs-patches/005-windows-escape-product-dir-abs-in-openssl-node-56111.patch cd ${WRKSRC} && ${MAKE_ENV} ${LOCALBASE}/bin/npm run compile-exec do-install: @@ -128,23 +127,22 @@ npm-pkg-list: extract > ${FILESDIR}/npm-pkg-${module}.list .endfor -node-modules-archive: build - ${RM} -R ${NODE_MODULES_DIR} +node-modules-archive: patch + cd ${WRKSRC} && ${LOCALBASE}/bin/npx cross-env PUPPETEER_SKIP_DOWNLOAD=1 ${LOCALBASE}/bin/npm install --cache ${NPM_CACHE_DIR} --no-audit --no-fund --no-prune + cd ${WRKSRC} && ${LOCALBASE}/bin/npx cross-env ${LOCALBASE}/bin/npm install ipv6-normalize --cache ${NPM_CACHE_DIR} --no-audit --no-fund --no-prune + .for module in mongodb-client-encryption kerberos os-dns-native ${MKDIR} -v ${NODE_MODULES_DIR}/${module} ${TAR} -xzf ${_DISTDIR}/${module}-*.tgz -C ${NODE_MODULES_DIR}/${module} --strip-components 1 .endfor for f in ${FILESDIR}/node-modules-patches/*; do ${PATCH} -N -d ${WRKSRC} < $$f; done - - cd ${WRKSRC} && npx cross-env PUPPETEER_SKIP_DOWNLOAD=1 ${LOCALBASE}/bin/npm install --cache ${NPM_CACHE_DIR} + ${FIND} ${WRKSRC} -name "*.orig" -or -name "*.bak" -delete .for module in mongodb-client-encryption kerberos os-dns-native mongodb-crypt-library-version glibc-version - ${LOCALBASE}/bin/npm cache add $$(cat ${FILESDIR}/npm-pkg-${module}.list) --cache ${NPM_CACHE_DIR} || true - cd ${NODE_MODULES_DIR}/${module} && ${CONFIGURE_ENV} ${LOCALBASE}/bin/npm install --ignore-scripts --cache ${NPM_CACHE_DIR} + cd ${NODE_MODULES_DIR}/${module} && ${CONFIGURE_ENV} ${LOCALBASE}/bin/npm install --ignore-scripts --cache ${NPM_CACHE_DIR} --no-audit --no-fund --no-prune .endfor - ${FIND} ${WRKSRC} -name "*.orig" -or -name "*.bak" -delete - cd ${WRKSRC} && ${TAR} -cJf /tmp/${NODE_MODULES_TARBALL} node_modules + cd ${WRKSRC} && ${TAR} cf - node_modules | ${LOCALBASE}/bin/pv -s $$(du -sAk node_modules | awk '{print $$1}')000 | xz > /tmp/${NODE_MODULES_TARBALL} .include <bsd.port.pre.mk> .include "${PORTSDIR}/www/node${NODEJS_VERSION}/Makefile.version" diff --git a/databases/mongosh/distinfo b/databases/mongosh/distinfo index 8dffa8c17bde..9480a247e2b7 100644 --- a/databases/mongosh/distinfo +++ b/databases/mongosh/distinfo @@ -1,11 +1,11 @@ -TIMESTAMP = 1731685667 -SHA256 (mongosh/mongodb-client-encryption-6.0.0.tgz) = b72d6ad4e4c449ba4548f8f4f8708d37c1490c6615caefa8c56a02f22897b64a -SIZE (mongosh/mongodb-client-encryption-6.0.0.tgz) = 15734 +TIMESTAMP = 1738594106 +SHA256 (mongosh/mongodb-client-encryption-6.1.0.tgz) = 6a1384d1b9411abcdc25423553a965bd18ee9a4e1052b1c083a53cb11a90b6dd +SIZE (mongosh/mongodb-client-encryption-6.1.0.tgz) = 30442 SHA256 (mongosh/kerberos-2.1.0.tgz) = eeb1d33472dcf15be8ae46e30ffc76455a62356a91cee52bb8d48f97a35a58c7 SIZE (mongosh/kerberos-2.1.0.tgz) = 28988 -SHA256 (mongosh/os-dns-native-1.2.0.tgz) = cfe145091dd469c4fe6923b61ef85621222526a0ed74b01b6b3739069d244f7d -SIZE (mongosh/os-dns-native-1.2.0.tgz) = 6525 -SHA256 (mongosh/mongosh-v2.2.5-node-modules.tar.xz) = 2a1f75f49bcb49a93bd58d38d8a3fdbae685d57ade77e85b95ceba10c5b047c3 -SIZE (mongosh/mongosh-v2.2.5-node-modules.tar.xz) = 155537736 -SHA256 (mongosh/VultureProject-mongosh-v2.2.5_GH0.tar.gz) = 38fd3c21433d2b8d371161941843a3c6a6652e41c4a9d3cfa3917164630f3928 -SIZE (mongosh/VultureProject-mongosh-v2.2.5_GH0.tar.gz) = 8653615 +SHA256 (mongosh/os-dns-native-1.2.1.tgz) = 9baa54587fed81884735aee59d82eaf95870d344b83f5060a75256f4852d964d +SIZE (mongosh/os-dns-native-1.2.1.tgz) = 6535 +SHA256 (mongosh/mongosh-v2.3.8-amd64-node-modules.tar.xz) = 2b7a04f96596eb13b7b2c9392ca841faebee0c9bfac99c7972df74282d176fe3 +SIZE (mongosh/mongosh-v2.3.8-amd64-node-modules.tar.xz) = 159374104 +SHA256 (mongosh/VultureProject-mongosh-v2.3.8_GH0.tar.gz) = d7a0ae00cdf9ac45eb969796d4cb5d908a7ff025df2d518633cd9fdb24dcd285 +SIZE (mongosh/VultureProject-mongosh-v2.3.8_GH0.tar.gz) = 8259565 diff --git a/databases/mongosh/files/node-modules-patches/patch-node__modules_kerberos_binding.gyp b/databases/mongosh/files/node-modules-patches/patch-node__modules_kerberos_binding.gyp index 6c40a322285e..089a54df37ae 100644 --- a/databases/mongosh/files/node-modules-patches/patch-node__modules_kerberos_binding.gyp +++ b/databases/mongosh/files/node-modules-patches/patch-node__modules_kerberos_binding.gyp @@ -1,6 +1,6 @@ --- node_modules/kerberos/binding.gyp.orig 2024-05-13 15:16:38 UTC +++ node_modules/kerberos/binding.gyp -@@ -34,14 +34,18 @@ +@@ -34,14 +34,17 @@ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden } }], @@ -14,7 +14,6 @@ }], - ['(OS=="mac" or OS=="linux") and (kerberos_use_rtld!="true")', { + ['(OS=="mac" or OS=="linux" or OS=="freebsd") and (kerberos_use_rtld!="true")', { -+ 'defines': ['NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT'], + 'include_dirs': [ + '/usr/local/include' + ], diff --git a/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_binding.gyp b/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_binding.gyp index bf3a39c2554f..c4ad4896eb5c 100644 --- a/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_binding.gyp +++ b/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_binding.gyp @@ -1,35 +1,15 @@ ---- node_modules/mongodb-client-encryption/binding.gyp.orig 2024-05-13 14:10:24 UTC +--- node_modules/mongodb-client-encryption/binding.gyp.orig 2024-11-15 19:23:54 UTC +++ node_modules/mongodb-client-encryption/binding.gyp -@@ -38,9 +38,14 @@ +@@ -42,7 +42,11 @@ } }], - ['build_type=="dynamic"', { -+ 'defines': [ 'NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT' ], + ['libmongocrypt_link_type=="dynamic"', { +- 'link_settings': { 'libraries': ['-lmongocrypt'] } + 'include_dirs': [ + '/usr/include', + '/usr/local/include' + ], - 'link_settings': { - 'libraries': [ -- '-lmongocrypt' -+ '-L/usr/local/lib -lmongocrypt' - ] - } ++ 'link_settings': { 'libraries': ['-L/usr/local/lib -lmongocrypt'] } }], -@@ -48,13 +53,12 @@ + ['libmongocrypt_link_type=="static"', { 'conditions': [ - ['OS!="win"', { - 'include_dirs': [ -- '<(module_root_dir)/deps/include' -+ '/usr/include', -+ '/usr/local/include' - ], - 'link_settings': { - 'libraries': [ -- '<(module_root_dir)/deps/lib/libmongocrypt-static.a', -- '<(module_root_dir)/deps/lib/libkms_message-static.a', -- '<(module_root_dir)/deps/lib/libbson-static-for-libmongocrypt.a' -+ '-L/usr/local/lib -lmongocrypt' - ] - } - }], diff --git a/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_package.json b/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_package.json deleted file mode 100644 index 63545e891861..000000000000 --- a/databases/mongosh/files/node-modules-patches/patch-node__modules_mongodb-client-encryption_package.json +++ /dev/null @@ -1,11 +0,0 @@ ---- node_modules/mongodb-client-encryption/package.json.orig 2024-05-13 13:50:11 UTC -+++ node_modules/mongodb-client-encryption/package.json -@@ -16,7 +16,7 @@ - "lib": "lib" - }, - "scripts": { -- "install": "prebuild-install --runtime napi --tag-prefix node-v || node-gyp rebuild", -+ "install": "prebuild-install --runtime napi --tag-prefix node-v || BUILD_TYPE=dynamic node-gyp rebuild", - "build:ts": "tsc", - "clang-format": "clang-format --style=file:.clang-format --Werror -i addon/*", - "check:eslint": "eslint src test", diff --git a/databases/mongosh/files/node-patches/004-openssl3 b/databases/mongosh/files/node-patches/004-openssl3 deleted file mode 100644 index 6b1f10fb4a83..000000000000 --- a/databases/mongosh/files/node-patches/004-openssl3 +++ /dev/null @@ -1,15 +0,0 @@ ---- a/src/crypto/crypto_util.cc 2023-05-16 06:58:21 UTC -+++ b/src/crypto/crypto_util.cc -@@ -205,10 +205,12 @@ void InitCryptoOnce() { - // No-op with OPENSSL_NO_COMP builds of OpenSSL. - sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); - -+#if OPENSSL_VERSION_MAJOR < 3 - #ifndef OPENSSL_NO_ENGINE - ERR_load_ENGINE_strings(); - ENGINE_load_builtin_engines(); - #endif // !OPENSSL_NO_ENGINE -+#endif - } - - void GetFipsCrypto(const FunctionCallbackInfo<Value>& args) { diff --git a/databases/mongosh/files/node-patches/005-src_cares__wrap.h b/databases/mongosh/files/node-patches/010-src-cares_wrap.h similarity index 100% rename from databases/mongosh/files/node-patches/005-src_cares__wrap.h rename to databases/mongosh/files/node-patches/010-src-cares_wrap.h diff --git a/databases/mongosh/files/node-patches/011-deps-v8-src-base-small-vector.h b/databases/mongosh/files/node-patches/011-deps-v8-src-base-small-vector.h new file mode 100644 index 000000000000..be80d9bd1c9f --- /dev/null +++ b/databases/mongosh/files/node-patches/011-deps-v8-src-base-small-vector.h @@ -0,0 +1,10 @@ +--- a/deps/v8/src/base/small-vector.h 2024-04-24 14:03:50 UTC ++++ b/deps/v8/src/base/small-vector.h +@@ -22,7 +22,6 @@ class SmallVector { + class SmallVector { + // Currently only support trivially copyable and trivially destructible data + // types, as it uses memcpy to copy elements and never calls destructors. +- ASSERT_TRIVIALLY_COPYABLE(T); + static_assert(std::is_trivially_destructible<T>::value); + + public: diff --git a/databases/mongosh/files/patch-package.json b/databases/mongosh/files/patch-package.json index 001034097bb1..6ab96895758d 100644 --- a/databases/mongosh/files/patch-package.json +++ b/databases/mongosh/files/patch-package.json @@ -1,14 +1,5 @@ ---- package.json.orig 2024-05-15 14:01:43 UTC +--- package.json.orig 2024-10-28 16:25:21 UTC +++ package.json -@@ -9,7 +9,7 @@ - "author": "Compass Team <compass@mongodb.com>", - "scripts": { - "bootstrap-with-chromium": "npm install && npm run compile", -- "bootstrap": "npx cross-env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install && npm run compile", -+ "bootstrap": "npx cross-env PUPPETEER_SKIP_DOWNLOAD=1 npm install && npm run compile", - "clean": "lerna clean -y && rm -Rf node_modules", - "check": "lerna run check --since HEAD --exclude-dependents", - "check-ci": "npm run check --workspaces --if-present", @@ -33,7 +33,7 @@ "start-browser": "npm run start --workspace @mongosh/browser-repl", "start": "npm run start-cli", @@ -18,19 +9,19 @@ "compile-all": "npm run compile-compass && npm run compile-exec", "evergreen-release": "cd packages/build && npm run evergreen-release --", "release": "cd packages/build && npm run release --", -@@ -59,7 +59,6 @@ - "create-vulnerability-tickets": "mongodb-sbom-tools generate-vulnerability-report --snyk-reports=.sbom/snyk-test-result.json,.sbom/node-js-vuln.json --dependencies=.sbom/dependencies.json,.sbom/node-js-dep.json --create-jira-issues", +@@ -66,7 +66,6 @@ + "postcreate-static-analysis-report": "mongodb-sbom-tools sarif-to-markdown --sarif=.sbom/codeql.sarif.json --md=.sbom/codeql.md", "where": "monorepo-where", "reformat": "npm run reformat --workspaces --if-present", -- "prepare": "husky install", +- "prepare": "husky", "precommit": "precommit", "preinstall": "node scripts/sort-workspaces.js" }, -@@ -101,7 +100,6 @@ +@@ -108,7 +107,6 @@ "duplexpair": "^1.0.2", "find-up": "^5.0.0", "glob": "^10.3.12", -- "husky": "^8.0.3", +- "husky": "^9.0.11", "mocha": "^10.2.0", - "mongodb": "^6.5.0", - "mongodb-runner": "^5.4.6", + "mongodb": "^6.9.0", + "mongodb-runner": "^5.7.0", diff --git a/databases/mongosh/files/patch-scripts_prep-fle-addon.sh b/databases/mongosh/files/patch-scripts_prep-fle-addon.sh index bfc90c06c7bb..5ef34c8af799 100644 --- a/databases/mongosh/files/patch-scripts_prep-fle-addon.sh +++ b/databases/mongosh/files/patch-scripts_prep-fle-addon.sh @@ -1,20 +1,16 @@ ---- scripts/prep-fle-addon.sh.orig 2024-05-13 17:26:57 UTC +--- scripts/prep-fle-addon.sh.orig 2024-10-28 16:25:21 UTC +++ scripts/prep-fle-addon.sh -@@ -62,7 +62,7 @@ if [ x"$PREBUILT_OSNAME" != x"" ]; then - mv -v prebuilts/nocrypto/include include - mv -v prebuilts/$LIB/*bson* lib - rm -rf prebuilts --else -+elif [ `uname` != FreeBSD ]; then - if [ `uname` = Darwin ]; then - export CFLAGS="-mmacosx-version-min=10.15"; - fi -@@ -86,7 +86,7 @@ else - cd ../../ - fi +@@ -20,6 +20,7 @@ set -x + # This isn't a lot, but hopefully after https://jira.mongodb.org/browse/WRITING-7164 + # we'll be able to simplify this further. --if [ x"$FLE_NODE_SOURCE_PATH" != x"" ]; then -+if [ x"$FLE_NODE_SOURCE_PATH" != x"" -a `uname` != FreeBSD -a "$BUILD_TYPE" != dynamic ]; then - mkdir -p "$FLE_NODE_SOURCE_PATH"/deps/lib - mkdir -p "$FLE_NODE_SOURCE_PATH"/deps/include - cp -rv "$BUILDROOT"/lib*/*-static* "$FLE_NODE_SOURCE_PATH"/deps/lib ++if [ `uname` != FreeBSD ]; then + cd "$(dirname "$0")"/.. + MONGOSH_ROOT_DIR="$PWD" + BUILDROOT="$MONGOSH_ROOT_DIR"/tmp/fle-buildroot +@@ -77,4 +78,5 @@ if [ x"$FLE_NODE_SOURCE_PATH" != x"" ]; then + cp -rv ./deps/lib*/*-static* "$FLE_NODE_SOURCE_PATH"/deps/lib + cp -rv ./deps/include/*kms* "$FLE_NODE_SOURCE_PATH"/deps/include + cp -rv ./deps/include/*mongocrypt* "$FLE_NODE_SOURCE_PATH"/deps/include ++fi + fi