Sat Dec 3 17:07:13 2022 UTC ()
nodejs: updated to 19.2.0

Version 19.2.0 (Current)

Notable changes

Time zone update

Time zone data has been updated to 2022f. This includes changes to Daylight Savings Time (DST) for Fiji and Mexico. For more information, see https://mm.icann.org/pipermail/tz-announce/2022-October/000075.html.

Version 19.1.0 (Current)

Notable changes

Support function mocking on Node.js test runner
fs.watch recursive support on Linux

Version 19.0.1 (Current)

This is a security release.

Notable changes

The following CVEs are fixed in this release:

CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)

Version 19.0.0 (Current)

Node.js 19 is here! Highlights include the update of the V8 JavaScript engine to 10.7, HTTP(s)/1.1 KeepAlive enabled by default, and ESM Resolution adjusts.

Node.js 19 will replace Node.js 18 as our 窶呂urrent窶� release line when Node.js 18 enters long-term support (LTS) later this month. As per the release schedule, Node.js 19 will be 窶呂urrent' release for the next 6 months, until April 2023.


(adam)
diff -r1.247 -r1.248 pkgsrc/lang/nodejs/Makefile
diff -r1.47 -r1.48 pkgsrc/lang/nodejs/Makefile.common
diff -r1.68 -r1.69 pkgsrc/lang/nodejs/PLIST
diff -r1.226 -r1.227 pkgsrc/lang/nodejs/distinfo
diff -r1.12 -r1.13 pkgsrc/lang/nodejs/nodeversion.mk
diff -r1.14 -r1.15 pkgsrc/lang/nodejs/options.mk
diff -r0 -r1.1 pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_memory.h
diff -r0 -r1.1 pkgsrc/lang/nodejs/patches/patch-deps_v8_tools_profiling_run-llprof.sh
diff -r1.10 -r1.11 pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc
diff -r1.1 -r0 pkgsrc/lang/nodejs/patches/patch-deps_v8_tools_run-llprof.sh
diff -r1.3 -r1.4 pkgsrc/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp

cvs diff -r1.247 -r1.248 pkgsrc/lang/nodejs/Makefile (expand / switch to context diff)
--- pkgsrc/lang/nodejs/Makefile 2022/11/23 12:09:44 1.247
+++ pkgsrc/lang/nodejs/Makefile 2022/12/03 17:07:13 1.248
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.247 2022/11/23 12:09:44 adam Exp $
+# $NetBSD: Makefile,v 1.248 2022/12/03 17:07:13 adam Exp $
 
-DISTNAME=	node-v18.12.1
+DISTNAME=	node-v19.2.0
 EXTRACT_SUFX=	.tar.xz
 
 USE_LANGUAGES=	c gnu++17
@@ -14,10 +14,13 @@
 
 CONFIGURE_ARGS+=	--shared-brotli
 CONFIGURE_ARGS+=	--shared-nghttp2
+CONFIGURE_ARGS+=	--shared-nghttp3
+CONFIGURE_ARGS+=	--shared-ngtcp2
 CONFIGURE_ARGS+=	--with-intl=system-icu
 
-PYTHON_VERSIONS_INCOMPATIBLE=	27 311
+PYTHON_VERSIONS_INCOMPATIBLE=	27
 
+CHECK_PORTABILITY_SKIP+=	deps/uv/autogen.sh
 CHECK_PORTABILITY_SKIP+=	deps/v8/tools/cppgc/export_to_github.sh
 CHECK_PORTABILITY_SKIP+=	deps/v8/tools/cppgc/test_cmake.sh
 CHECK_PORTABILITY_SKIP+=	tools/macos-installer/pkgbuild/npm/scripts/preinstall
@@ -47,9 +50,11 @@
 
 .include "../../lang/nodejs/Makefile.common"
 .include "../../archivers/brotli/buildlink3.mk"
+.include "../../net/ngtcp2/buildlink3.mk"
 .include "../../textproc/icu/buildlink3.mk"
 # Requires nghttp2_option_set_max_settings
 BUILDLINK_API_DEPENDS.nghttp2+=	nghttp2>=1.41.0
 .include "../../www/nghttp2/buildlink3.mk"
+.include "../../www/nghttp3/buildlink3.mk"
 .include "../../mk/atomic64.mk"
 .include "../../mk/bsd.pkg.mk"

cvs diff -r1.47 -r1.48 pkgsrc/lang/nodejs/Makefile.common (expand / switch to context diff)
--- pkgsrc/lang/nodejs/Makefile.common 2022/11/01 17:58:22 1.47
+++ pkgsrc/lang/nodejs/Makefile.common 2022/12/03 17:07:13 1.48
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile.common,v 1.47 2022/11/01 17:58:22 schmonz Exp $
+# $NetBSD: Makefile.common,v 1.48 2022/12/03 17:07:13 adam Exp $
 # used by lang/nodejs/Makefile
-# used by lang/nodejs12/Makefile
 # used by lang/nodejs14/Makefile
 # used by lang/nodejs16/Makefile
+# used by lang/nodejs18/Makefile
 
 CATEGORIES=	lang
 MASTER_SITES=	https://nodejs.org/dist/${DISTNAME:S/node-//}/

cvs diff -r1.68 -r1.69 pkgsrc/lang/nodejs/PLIST (expand / switch to context diff)
--- pkgsrc/lang/nodejs/PLIST 2022/11/01 17:58:22 1.68
+++ pkgsrc/lang/nodejs/PLIST 2022/12/03 17:07:13 1.69
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.68 2022/11/01 17:58:22 schmonz Exp $
+@comment $NetBSD: PLIST,v 1.69 2022/12/03 17:07:13 adam Exp $
 bin/corepack
 bin/node
 include/node/common.gypi
@@ -64,7 +64,6 @@
 include/node/v8-weak-callback-info.h
 include/node/v8.h
 include/node/v8config.h
-${PLIST.dtrace}lib/dtrace/node.d
 lib/node_modules/corepack/CHANGELOG.md
 lib/node_modules/corepack/LICENSE.md
 lib/node_modules/corepack/README.md
@@ -123,4 +122,3 @@
 man/man1/node.1
 share/doc/node/gdbinit
 share/doc/node/lldb_commands.py
-share/systemtap/tapset/node.stp

cvs diff -r1.226 -r1.227 pkgsrc/lang/nodejs/distinfo (expand / switch to context diff)
--- pkgsrc/lang/nodejs/distinfo 2022/11/23 12:09:44 1.226
+++ pkgsrc/lang/nodejs/distinfo 2022/12/03 17:07:13 1.227
@@ -1,22 +1,23 @@
-$NetBSD: distinfo,v 1.226 2022/11/23 12:09:44 adam Exp $
+$NetBSD: distinfo,v 1.227 2022/12/03 17:07:13 adam Exp $
 
-BLAKE2s (node-v18.12.1.tar.xz) = 04149195afca2ed0d9582e7ad1bcd1c2618fed8d2b04eed9beb27da18b1663d0
-SHA512 (node-v18.12.1.tar.xz) = 1eb4978a1de19c026561a8484df87bdeb6f7f2ec8ae1eb38b6241d0b0ff6158a4a7d19f42df7e295a63b8047eaf862a7470494143b2e27bb36b65e4663966588
-Size (node-v18.12.1.tar.xz) = 38454588 bytes
+BLAKE2s (node-v19.2.0.tar.xz) = 61e9c32e553d3bc39e403f67737c30389d2d07936ab3a1e7c1ff6cdae363486b
+SHA512 (node-v19.2.0.tar.xz) = 2d60d3a5dff578e37ccfe5bcfa727401d39201652d447c01faa84f7b34deb0fca3cec4b7ef7c442fcd7399d39cd7ee8612f0e12b611998253efa7333fc2435e4
+Size (node-v19.2.0.tar.xz) = 39544708 bytes
 SHA1 (patch-common.gypi) = 80f3645498853b9939167d152365b4fa49528b70
 SHA1 (patch-deps_cares_cares.gyp) = 22b44f2ac59963f694dfe4f4585e08960b3dec32
 SHA1 (patch-deps_uv_common.gypi) = d38a9c8d9e3522f15812aec2f5b1e1e636d4bab3
 SHA1 (patch-deps_uvwasi_include_wasi__serdes.h) = 32b85ef5824b96b35aba9280bbe7aa7899d9e5cf
+SHA1 (patch-deps_v8_src_base_platform_memory.h) = 0921b5eeecfe03b774f85a15628c559901e7fea8
 SHA1 (patch-deps_v8_src_base_platform_platform-freebsd.cc) = b47025f33d2991275bbcd15dbabb28900afab0e1
 SHA1 (patch-deps_v8_src_base_platform_platform-openbsd.cc) = 5e593879dbab095f99e82593272a0de91043f9a8
-SHA1 (patch-deps_v8_src_base_platform_platform-posix.cc) = 0fdbc003d63429e9e097531d7848d16011f273a8
+SHA1 (patch-deps_v8_src_base_platform_platform-posix.cc) = d37e796302edeae98520d040e100d0b73c6bcb19
 SHA1 (patch-deps_v8_src_base_platform_semaphore.cc) = 802a95f1b1d131e0d85c1f99c659cc68b31ba2f6
 SHA1 (patch-deps_v8_src_base_strings.h) = 4d2b37491f2f74f1a573f8c1942790204e23a8bb
 SHA1 (patch-deps_v8_src_codegen_arm_cpu-arm.cc) = 84c75d61bc99c2ff9adeac3152f5b11ebb0e582b
 SHA1 (patch-deps_v8_src_common_globals.h) = 86637724864389f2b24251904de41669a2f00fbc
 SHA1 (patch-deps_v8_src_compiler_types.h) = 2a212282ab9d71e98ae56827fdb1d9778a6047a5
 SHA1 (patch-deps_v8_src_heap_code-range.cc) = b281f76f4e3d8e562f596235049a6be7c5ff4de2
-SHA1 (patch-deps_v8_tools_run-llprof.sh) = 39aa3faf77492ef8dd35b411b7b0e4605b469af3
+SHA1 (patch-deps_v8_tools_profiling_run-llprof.sh) = b19994d3195cc97424a3cc2ffd3ae02eacc6ffa8
 SHA1 (patch-node.gypi) = 4a104dba6c22702211009bc60a6be6f87554e2fa
 SHA1 (patch-src_crypto_crypto__rsa.cc) = 9ffd8de2fac76014696c8dfac7ba200eab56f6f6
 SHA1 (patch-src_inspector__agent.cc) = 3fd3d71f9d6013a6eb2a79e0442b31d2e2408a2f
@@ -24,4 +25,4 @@
 SHA1 (patch-tools_gyp_pylib_gyp_generator_make.py) = 570fe9889767c555468a225cd7f0b398ea6a193c
 SHA1 (patch-tools_gyp_pylib_gyp_xcode__emulation.py) = 4ee24115f5e97ffbd23aaa6dc62f408d381d4e22
 SHA1 (patch-tools_install.py) = c01515e3001bebd50f12bcada548f1cc0c25a49f
-SHA1 (patch-tools_v8_gypfiles_v8.gyp) = 997748c6663e7931ead02ee47654933ec051e688
+SHA1 (patch-tools_v8_gypfiles_v8.gyp) = 8b1b0e2216f9e8025f8e623d5aa8af3f8d670804

cvs diff -r1.12 -r1.13 pkgsrc/lang/nodejs/nodeversion.mk (expand / switch to context diff)
--- pkgsrc/lang/nodejs/nodeversion.mk 2022/05/05 13:31:16 1.12
+++ pkgsrc/lang/nodejs/nodeversion.mk 2022/12/03 17:07:13 1.13
@@ -1,4 +1,4 @@
-# $NetBSD: nodeversion.mk,v 1.12 2022/05/05 13:31:16 gutteridge Exp $
+# $NetBSD: nodeversion.mk,v 1.13 2022/12/03 17:07:13 adam Exp $
 
 # This file determines which nodejs version is used as a dependency for
 # a package.
@@ -8,7 +8,7 @@
 # NODE_VERSION_DEFAULT
 #	The preferred node version to use.
 #
-#	Possible values: 12 14 16 18
+#	Possible values: 14 16 18 19
 #	Default: 16
 #
 # === Infrastructure variables ===
@@ -27,13 +27,13 @@
 #	is significant; those listed earlier are preferred over those
 #	listed later.
 #
-#	Possible values: 12 14 16 18
-#	Default: 12 14 16 18
+#	Possible values: 14 16 18 19
+#	Default: 14 16 18 19
 #
 # NODE_VERSIONS_INCOMPATIBLE
 #	The node versions that the package *cannot* build against.
 #
-#	Possible values: 12 14 16 18
+#	Possible values: 14 16 18 19
 #	Default: <empty>
 #
 # Keywords: node
@@ -58,7 +58,7 @@
 BUILD_DEFS_EFFECTS+=	NODE_PACKAGE
 
 NODE_VERSION_DEFAULT?=		16
-NODE_VERSIONS_ACCEPTED?=	12 14 16 18
+NODE_VERSIONS_ACCEPTED?=	14 16 18 19
 NODE_VERSIONS_INCOMPATIBLE?=	# empty
 
 # Resolve NODE_VERSIONS_INCOMPATIBLE and generate the _OK vars.
@@ -88,13 +88,13 @@
 # In case nothing matched
 _NODE_VERSION?=		none
 
-.if ${_NODE_VERSION} == "12"
-.include "../../lang/nodejs12/buildlink3.mk"
-.elif ${_NODE_VERSION} == "14"
+.if ${_NODE_VERSION} == "14"
 .include "../../lang/nodejs14/buildlink3.mk"
 .elif ${_NODE_VERSION} == "16"
 .include "../../lang/nodejs16/buildlink3.mk"
 .elif ${_NODE_VERSION} == "18"
+.include "../../lang/nodejs18/buildlink3.mk"
+.elif ${_NODE_VERSION} == "19"
 .include "../../lang/nodejs/buildlink3.mk"
 .else
 PKG_FAIL_REASON+=	"No valid node version found"

cvs diff -r1.14 -r1.15 pkgsrc/lang/nodejs/options.mk (expand / switch to context diff)
--- pkgsrc/lang/nodejs/options.mk 2022/03/30 06:52:33 1.14
+++ pkgsrc/lang/nodejs/options.mk 2022/12/03 17:07:13 1.15
@@ -1,29 +1,10 @@
-# $NetBSD: options.mk,v 1.14 2022/03/30 06:52:33 adam Exp $
+# $NetBSD: options.mk,v 1.15 2022/12/03 17:07:13 adam Exp $
 
 PKG_OPTIONS_VAR=	PKG_OPTIONS.nodejs
-PKG_SUPPORTED_OPTIONS=	openssl dtrace
+PKG_SUPPORTED_OPTIONS=	openssl
 PKG_SUGGESTED_OPTIONS=	openssl
 
-.include "../../mk/bsd.prefs.mk"
-
-.if (${OPSYS} == "SunOS" || ${OPSYS} == "Darwin") \
-    && exists(/usr/sbin/dtrace)
-PKG_SUGGESTED_OPTIONS+=	dtrace
-.endif
-
 .include "../../mk/bsd.options.mk"
-
-PLIST_VARS+=		dtrace
-
-.if !empty(PKG_OPTIONS:Mdtrace)
-CONFIGURE_ARGS+=	--with-dtrace
-PLIST.dtrace=		yes
-.else
-CONFIGURE_ARGS+=	--without-dtrace
-.endif
-
-# print-PLIST helper
-PRINT_PLIST_AWK+=	{if ($$0 ~ /lib\/dtrace/) {$$0 = "$${PLIST.dtrace}" $$0;}}
 
 .if !empty(PKG_OPTIONS:Mopenssl)
 .include "../../security/openssl/buildlink3.mk"

File Added: pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_memory.h
$NetBSD: patch-deps_v8_src_base_platform_memory.h,v 1.1 2022/12/03 17:07:13 adam Exp $

Fix build on NetBSD.

--- deps/v8/src/base/platform/memory.h.orig	2022-11-14 11:44:23.528838940 +0000
+++ deps/v8/src/base/platform/memory.h
@@ -23,7 +23,7 @@
 #include <malloc.h>
 #endif  // !V8_OS_DARWIN
 
-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN
+#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_NETBSD && !V8_OS_SOLARIS) || V8_OS_WIN
 #define V8_HAS_MALLOC_USABLE_SIZE 1
 #endif  // (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN
 

File Added: pkgsrc/lang/nodejs/patches/patch-deps_v8_tools_profiling_run-llprof.sh
$NetBSD: patch-deps_v8_tools_profiling_run-llprof.sh,v 1.1 2022/12/03 17:07:13 adam Exp $

POSIX shell portability.

--- deps/v8/tools/profiling/run-llprof.sh.orig	2015-03-31 22:13:01.000000000 +0000
+++ deps/v8/tools/profiling/run-llprof.sh
@@ -46,7 +46,7 @@ framework, then calls the low level tick
 EOF
 }
 
-if [ $# -eq 0 ] || [ "$1" == "-h" ]  || [ "$1" == "--help" ] ; then
+if [ $# -eq 0 ] || [ "$1" = "-h" ]  || [ "$1" = "--help" ] ; then
   usage
   exit 1
 fi

cvs diff -r1.10 -r1.11 pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc (expand / switch to context diff)
--- pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc 2022/08/17 21:15:27 1.10
+++ pkgsrc/lang/nodejs/patches/patch-deps_v8_src_base_platform_platform-posix.cc 2022/12/03 17:07:13 1.11
@@ -1,4 +1,4 @@
-$NetBSD: patch-deps_v8_src_base_platform_platform-posix.cc,v 1.10 2022/08/17 21:15:27 tnn Exp $
+$NetBSD: patch-deps_v8_src_base_platform_platform-posix.cc,v 1.11 2022/12/03 17:07:13 adam Exp $
 
 Use sysconf(_SC_THREAD_STACK_MIN) instead of PTHREAD_STACK_MIN.
 Cast explicitly.
@@ -7,9 +7,9 @@
 Avoid using a random hint, some low numbers cause spurious ENOMEM on netbsd
 (PR port-arm/55533)
 
---- deps/v8/src/base/platform/platform-posix.cc.orig	2022-07-26 14:30:08.000000000 +0000
+--- deps/v8/src/base/platform/platform-posix.cc.orig	2022-11-04 14:54:25.000000000 +0000
 +++ deps/v8/src/base/platform/platform-posix.cc
-@@ -72,14 +72,6 @@
+@@ -75,14 +75,6 @@
  #define MAP_ANONYMOUS MAP_ANON
  #endif
  
@@ -24,7 +24,7 @@
  #ifndef MADV_FREE
  #define MADV_FREE MADV_DONTNEED
  #endif
-@@ -384,6 +376,10 @@ void* OS::GetRandomMmapAddr() {
+@@ -391,6 +383,10 @@ void* OS::GetRandomMmapAddr() {
  #endif
  #endif
  #endif
@@ -35,7 +35,7 @@
    return reinterpret_cast<void*>(raw_addr);
  }
  
-@@ -515,12 +511,10 @@ bool OS::DiscardSystemPages(void* addres
+@@ -552,12 +548,10 @@ bool OS::DiscardSystemPages(void* addres
      // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
      ret = madvise(address, size, MADV_DONTNEED);
    }
@@ -50,7 +50,7 @@
  #else
    int ret = madvise(address, size, MADV_DONTNEED);
  #endif
-@@ -733,6 +727,8 @@ int OS::GetCurrentThreadId() {
+@@ -772,6 +766,8 @@ int OS::GetCurrentThreadId() {
    return static_cast<int>(syscall(__NR_gettid));
  #elif V8_OS_ANDROID
    return static_cast<int>(gettid());
@@ -59,7 +59,7 @@
  #elif V8_OS_AIX
    return static_cast<int>(thread_self());
  #elif V8_OS_FUCHSIA
-@@ -1000,7 +996,11 @@ Thread::Thread(const Options& options)
+@@ -1045,7 +1041,11 @@ Thread::Thread(const Options& options)
      : data_(new PlatformData),
        stack_size_(options.stack_size()),
        start_semaphore_(nullptr) {
@@ -71,10 +71,10 @@
    if (stack_size_ > 0) stack_size_ = std::max(stack_size_, min_stack_size);
    set_name(options.name());
  }
-@@ -1016,7 +1016,7 @@ static void SetThreadName(const char* na
+@@ -1061,7 +1061,7 @@ static void SetThreadName(const char* na
    pthread_set_name_np(pthread_self(), name);
  #elif V8_OS_NETBSD
-   STATIC_ASSERT(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP);
+   static_assert(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP);
 -  pthread_setname_np(pthread_self(), "%s", name);
 +  pthread_setname_np(pthread_self(), "%s", (void *)name);
  #elif V8_OS_DARWIN

File Deleted: pkgsrc/lang/nodejs/patches/Attic/patch-deps_v8_tools_run-llprof.sh

cvs diff -r1.3 -r1.4 pkgsrc/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp (expand / switch to context diff)
--- pkgsrc/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp 2022/05/05 07:08:06 1.3
+++ pkgsrc/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp 2022/12/03 17:07:13 1.4
@@ -1,10 +1,10 @@
-$NetBSD: patch-tools_v8_gypfiles_v8.gyp,v 1.3 2022/05/05 07:08:06 adam Exp $
+$NetBSD: patch-tools_v8_gypfiles_v8.gyp,v 1.4 2022/12/03 17:07:13 adam Exp $
 
-Add -larm on netbsd arm platforms.
+Add -larm on NetBSD ARM platforms.
 
---- tools/v8_gypfiles/v8.gyp.orig	2022-05-03 08:18:12.000000000 +0000
+--- tools/v8_gypfiles/v8.gyp.orig	2022-11-04 14:54:27.000000000 +0000
 +++ tools/v8_gypfiles/v8.gyp
-@@ -977,6 +977,12 @@
+@@ -975,6 +975,12 @@
          }],
          # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
          # to implement atomic memory access
@@ -14,6 +14,6 @@
 +            'libraries': ['-larm', ],
 +          },
 +        }],
-         ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', {
+         ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', {
            'link_settings': {
              'libraries': ['-latomic', ],