I'd like to propose updating our version in -stable to v20.18.2 - while the diff looks giant at first, the actually effective changes that don't happen in docs or bundled dependencies that we don't use are rather limited.
Tested on amd64. ok? https://github.com/nodejs/node/compare/v20.17.0...v20.18.2.diff https://github.com/nodejs/node/releases/tag/v20.18.2 On 2025-01-18 20:12, Volker Schlecht wrote:
NodeJS has announced that security patch releases are scheduled for all currently supported versions of NodeJS on January 21st: https://nodejs.org/en/blog/vulnerability/january-2025-security-releases In preparation for that, I tried to update our -stable version to the latest available v20.x release. The diff is reasonably simple, and it works fine here, so I expect no issues when the security release is out.
Index: Makefile =================================================================== RCS file: /cvs/ports/lang/node/Makefile,v diff -u -p -r1.139 Makefile --- Makefile 28 Aug 2024 17:44:40 -0000 1.139 +++ Makefile 21 Jan 2025 19:26:51 -0000 @@ -5,7 +5,7 @@ USE_WXNEEDED = Yes COMMENT = JavaScript runtime built on Chrome's V8 JavaScript engine -NODE_VERSION = v20.17.0 +NODE_VERSION = v20.18.2 PLEDGE_VER = 1.1.3 DISTFILES = ${DISTNAME}-headers.tar.gz \ ${DISTNAME}.tar.xz Index: distinfo =================================================================== RCS file: /cvs/ports/lang/node/distinfo,v diff -u -p -r1.80 distinfo --- distinfo 28 Aug 2024 17:44:40 -0000 1.80 +++ distinfo 21 Jan 2025 19:26:51 -0000 @@ -1,6 +1,6 @@ SHA256 (node-pledge-1.1.3.tar.gz) = fEaXvLg6hYEJ69K+mgQFizf8DiJY2/DtyFJB/pEanVU= -SHA256 (node-v20.17.0-headers.tar.gz) = zNgJhC5QysYMM8Qpbwq4M1GQ4mVkSWEiipgsk5Qgve0= -SHA256 (node-v20.17.0.tar.xz) = mr8DrCM2LGA4frtjOlFjA2NxRcs8F3vjNIsWiA/Ysow= +SHA256 (node-v20.18.2-headers.tar.gz) = 10xxiXatwwiZH7h4Tws/goRUNr+PBNLJgqtcq1EVKJ8= +SHA256 (node-v20.18.2.tar.xz) = ab+Btw86la4HY0WfAoYMKC1+OkdWfIr68SbMd4F2qII= SIZE (node-pledge-1.1.3.tar.gz) = 3167 -SIZE (node-v20.17.0-headers.tar.gz) = 8761389 -SIZE (node-v20.17.0.tar.xz) = 41751520 +SIZE (node-v20.18.2-headers.tar.gz) = 8773823 +SIZE (node-v20.18.2.tar.xz) = 41933624 Index: patches/patch-Makefile =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-Makefile,v diff -u -p -r1.23 patch-Makefile --- patches/patch-Makefile 28 Aug 2024 17:44:42 -0000 1.23 +++ patches/patch-Makefile 21 Jan 2025 19:26:51 -0000 @@ -1,7 +1,7 @@ Index: Makefile --- Makefile.orig +++ Makefile -@@ -190,7 +190,7 @@ config.gypi: configure configure.py src/node_version.h +@@ -188,7 +188,7 @@ config.gypi: configure configure.py src/node_version.h fi .PHONY: install @@ -10,7 +10,7 @@ Index: Makefile $(PYTHON) tools/install.py $@ --dest-dir '$(DESTDIR)' --prefix '$(PREFIX)' .PHONY: uninstall -@@ -438,6 +438,12 @@ test/addons/.buildstamp: $(ADDONS_PREREQS) \ +@@ -440,6 +440,12 @@ test/addons/.buildstamp: $(ADDONS_PREREQS) \ # Just goes to show that recursive make really is harmful... # TODO(bnoordhuis) Force rebuild after gyp update. build-addons: | $(NODE_EXE) test/addons/.buildstamp Index: patches/patch-common_gypi =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-common_gypi,v diff -u -p -r1.32 patch-common_gypi --- patches/patch-common_gypi 28 Aug 2024 17:44:42 -0000 1.32 +++ patches/patch-common_gypi 21 Jan 2025 19:26:51 -0000 @@ -1,7 +1,7 @@ Index: common.gypi --- common.gypi.orig +++ common.gypi -@@ -190,7 +190,6 @@ +@@ -188,7 +188,6 @@ }], ], }, @@ -9,7 +9,7 @@ Index: common.gypi 'conditions': [ ['enable_lto=="true"', { 'cflags': ['<(lto)'], -@@ -474,7 +473,9 @@ +@@ -472,7 +471,9 @@ }], ['OS=="openbsd"', { 'cflags': [ '-I/usr/local/include' ], @@ -20,7 +20,7 @@ Index: common.gypi }], ['_toolset=="host"', { 'conditions': [ -@@ -491,7 +492,7 @@ +@@ -489,7 +490,7 @@ 'ldflags': [ '-m32' ], }], [ 'host_arch=="ppc64" and OS not in "aix os400"', { @@ -29,7 +29,7 @@ Index: common.gypi 'ldflags': [ '-m64' ], }], [ 'host_arch=="s390x" and OS=="linux"', { -@@ -515,7 +516,7 @@ +@@ -513,7 +514,7 @@ 'ldflags': [ '-m32' ], }], [ 'target_arch=="ppc64" and OS not in "aix os400"', { Index: patches/patch-configure_py =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-configure_py,v diff -u -p -r1.7 patch-configure_py --- patches/patch-configure_py 28 Aug 2024 17:44:42 -0000 1.7 +++ patches/patch-configure_py 21 Jan 2025 19:26:51 -0000 @@ -1,7 +1,7 @@ Index: configure.py --- configure.py.orig +++ configure.py -@@ -1599,6 +1599,10 @@ def configure_v8(o): +@@ -1625,6 +1625,10 @@ def configure_v8(o): raise Exception( 'Only one of the --v8-enable-object-print or --v8-disable-object-print options ' 'can be specified at a time.') Index: patches/patch-include_node_common_gypi =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-include_node_common_gypi,v diff -u -p -r1.6 patch-include_node_common_gypi --- patches/patch-include_node_common_gypi 28 Aug 2024 17:44:42 -0000 1.6 +++ patches/patch-include_node_common_gypi 21 Jan 2025 19:26:51 -0000 @@ -1,7 +1,7 @@ Index: include/node/common.gypi --- include/node/common.gypi.orig +++ include/node/common.gypi -@@ -190,7 +190,6 @@ +@@ -188,7 +188,6 @@ }], ], }, @@ -9,7 +9,7 @@ Index: include/node/common.gypi 'conditions': [ ['enable_lto=="true"', { 'cflags': ['<(lto)'], -@@ -491,7 +490,7 @@ +@@ -489,7 +488,7 @@ 'ldflags': [ '-m32' ], }], [ 'host_arch=="ppc64" and OS not in "aix os400"', { @@ -18,7 +18,7 @@ Index: include/node/common.gypi 'ldflags': [ '-m64' ], }], [ 'host_arch=="s390x" and OS=="linux"', { -@@ -515,7 +514,7 @@ +@@ -513,7 +512,7 @@ 'ldflags': [ '-m32' ], }], [ 'target_arch=="ppc64" and OS not in "aix os400"', { Index: patches/patch-lib_net_js =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-lib_net_js,v diff -u -p -r1.11 patch-lib_net_js --- patches/patch-lib_net_js 27 Jul 2024 15:17:56 -0000 1.11 +++ patches/patch-lib_net_js 21 Jan 2025 19:26:51 -0000 @@ -13,7 +13,7 @@ for "any address" but that's not really Index: lib/net.js --- lib/net.js.orig +++ lib/net.js -@@ -1861,22 +1861,12 @@ function setupListenHandle(address, port, addressType, +@@ -1865,22 +1865,12 @@ function setupListenHandle(address, port, addressType, let rval = null; Index: patches/patch-node_gyp =================================================================== RCS file: /cvs/ports/lang/node/patches/Attic/patch-node_gyp,v diff -u -p -r1.24 patch-node_gyp --- patches/patch-node_gyp 27 Jul 2024 15:17:56 -0000 1.24 +++ patches/patch-node_gyp 21 Jan 2025 19:26:51 -0000 @@ -4,7 +4,7 @@ devel/gtest if installed. Index: node.gyp --- node.gyp.orig +++ node.gyp -@@ -828,7 +828,7 @@ +@@ -831,7 +831,7 @@ ], 'dependencies': [ 'deps/base64/base64.gyp:base64', @@ -13,7 +13,7 @@ Index: node.gyp 'deps/histogram/histogram.gyp:histogram', 'deps/uvwasi/uvwasi.gyp:uvwasi', 'deps/simdutf/simdutf.gyp:simdutf', -@@ -1146,8 +1146,8 @@ +@@ -1149,8 +1149,8 @@ 'dependencies': [ '<(node_lib_target_name)', 'deps/base64/base64.gyp:base64', @@ -24,7 +24,7 @@ Index: node.gyp 'deps/histogram/histogram.gyp:histogram', 'deps/uvwasi/uvwasi.gyp:uvwasi', 'deps/simdutf/simdutf.gyp:simdutf', -@@ -1195,6 +1195,10 @@ +@@ -1197,6 +1197,10 @@ }], ['OS=="solaris"', { 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ] Index: patches/patch-src_env_cc =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-src_env_cc,v diff -u -p -r1.10 patch-src_env_cc --- patches/patch-src_env_cc 27 Jul 2024 15:17:56 -0000 1.10 +++ patches/patch-src_env_cc 21 Jan 2025 19:26:51 -0000 @@ -1,7 +1,7 @@ Index: src/env.cc --- src/env.cc.orig +++ src/env.cc -@@ -757,29 +757,7 @@ std::unique_ptr<v8::BackingStore> Environment::release +@@ -773,29 +773,7 @@ std::unique_ptr<v8::BackingStore> Environment::release } std::string Environment::GetExecPath(const std::vector<std::string>& argv) { Index: patches/patch-tools_v8_gypfiles_toolchain_gypi =================================================================== RCS file: /cvs/ports/lang/node/patches/patch-tools_v8_gypfiles_toolchain_gypi,v diff -u -p -r1.2 patch-tools_v8_gypfiles_toolchain_gypi --- patches/patch-tools_v8_gypfiles_toolchain_gypi 18 May 2024 12:10:22 -0000 1.2 +++ patches/patch-tools_v8_gypfiles_toolchain_gypi 21 Jan 2025 19:26:51 -0000 @@ -1,7 +1,7 @@ Index: tools/v8_gypfiles/toolchain.gypi --- tools/v8_gypfiles/toolchain.gypi.orig +++ tools/v8_gypfiles/toolchain.gypi -@@ -861,11 +861,9 @@ +@@ -865,11 +865,9 @@ # Don't use -O3 with sanitizers. ['asan==0 and msan==0 and lsan==0 \ and tsan==0 and ubsan==0 and ubsan_vptr==0', {