From fec9c49fec705cfff8adbc853f33f33175428a57 Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 30 Mar 2022 06:52:33 +0000 Subject: nodejs: updated to 16.14.2 Version 16.14.2 'Gallium' (LTS) This is a security release. Notable Changes Update to OpenSSL 1.1.1n, which addresses the following vulnerability: Infinite loop in BN_mod_sqrt() reachable when parsing certificates (High)(CVE-2022-0778) More details are available at https://www.openssl.org/news/secadv/20220315.txt For older changes, see https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md --- lang/nodejs/Makefile | 6 ++--- lang/nodejs/Makefile.common | 4 +-- lang/nodejs/PLIST | 31 +--------------------- lang/nodejs/buildlink3.mk | 5 ++-- lang/nodejs/distinfo | 20 +++++++------- lang/nodejs/nodeversion.mk | 14 +++++----- lang/nodejs/options.mk | 4 +-- lang/nodejs/patches/patch-common.gypi | 8 +++--- .../patches/patch-deps_v8_src_base_strings.h | 14 ++++++++++ lang/nodejs/patches/patch-node.gyp | 15 +++++++++++ .../patch-tools_gyp_pylib_gyp_generator_make.py | 10 +++---- lang/nodejs/patches/patch-tools_install.py | 4 +-- lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp | 10 +++---- 13 files changed, 73 insertions(+), 72 deletions(-) create mode 100644 lang/nodejs/patches/patch-deps_v8_src_base_strings.h create mode 100644 lang/nodejs/patches/patch-node.gyp (limited to 'lang') diff --git a/lang/nodejs/Makefile b/lang/nodejs/Makefile index fbcaa5ddba2..8ff6a3ffc37 100644 --- a/lang/nodejs/Makefile +++ b/lang/nodejs/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.225 2022/02/15 13:59:42 adam Exp $ +# $NetBSD: Makefile,v 1.226 2022/03/30 06:52:33 adam Exp $ -DISTNAME= node-v14.19.0 +DISTNAME= node-v16.14.2 EXTRACT_SUFX= .tar.xz USE_LANGUAGES= c gnu++14 @@ -15,7 +15,7 @@ CONFIGURE_ARGS+= --shared-nghttp2 CONFIGURE_ARGS+= --with-intl=system-icu CONFIGURE_ARGS+= --without-corepack -PYTHON_VERSIONS_ACCEPTED= 27 +PYTHON_VERSIONS_INCOMPATIBLE= 27 CHECK_PORTABILITY_SKIP+= tools/macos-installer/pkgbuild/npm/scripts/preinstall diff --git a/lang/nodejs/Makefile.common b/lang/nodejs/Makefile.common index f7c8a31e6b8..9701d808fee 100644 --- a/lang/nodejs/Makefile.common +++ b/lang/nodejs/Makefile.common @@ -1,8 +1,8 @@ -# $NetBSD: Makefile.common,v 1.44 2021/09/17 20:08:23 adam Exp $ +# $NetBSD: Makefile.common,v 1.45 2022/03/30 06:52:33 adam Exp $ # used by lang/nodejs/Makefile -# used by lang/nodejs8/Makefile # used by lang/nodejs10/Makefile # used by lang/nodejs12/Makefile +# used by lang/nodejs14/Makefile CATEGORIES= lang MASTER_SITES= https://nodejs.org/dist/${DISTNAME:S/node-//}/ diff --git a/lang/nodejs/PLIST b/lang/nodejs/PLIST index afb0bae91c7..7ed82335a6d 100644 --- a/lang/nodejs/PLIST +++ b/lang/nodejs/PLIST @@ -1,31 +1,8 @@ -@comment $NetBSD: PLIST,v 1.62 2020/07/22 06:53:50 adam Exp $ +@comment $NetBSD: PLIST,v 1.63 2022/03/30 06:52:33 adam Exp $ bin/node include/node/common.gypi include/node/config.gypi -include/node/cppgc/allocation.h include/node/cppgc/common.h -include/node/cppgc/custom-space.h -include/node/cppgc/garbage-collected.h -include/node/cppgc/heap.h -include/node/cppgc/internal/accessors.h -include/node/cppgc/internal/api-constants.h -include/node/cppgc/internal/compiler-specific.h -include/node/cppgc/internal/finalizer-trait.h -include/node/cppgc/internal/gc-info.h -include/node/cppgc/internal/logging.h -include/node/cppgc/internal/persistent-node.h -include/node/cppgc/internal/pointer-policies.h -include/node/cppgc/internal/prefinalizer-handler.h -include/node/cppgc/liveness-broker.h -include/node/cppgc/macros.h -include/node/cppgc/member.h -include/node/cppgc/persistent.h -include/node/cppgc/platform.h -include/node/cppgc/prefinalizer.h -include/node/cppgc/source-location.h -include/node/cppgc/trace-trait.h -include/node/cppgc/type-traits.h -include/node/cppgc/visitor.h include/node/js_native_api.h include/node/js_native_api_types.h include/node/libplatform/libplatform-export.h @@ -37,16 +14,10 @@ include/node/node_api_types.h include/node/node_buffer.h include/node/node_object_wrap.h include/node/node_version.h -include/node/v8-fast-api-calls.h include/node/v8-internal.h include/node/v8-platform.h include/node/v8-profiler.h -include/node/v8-util.h -include/node/v8-value-serializer-version.h -include/node/v8-version-string.h include/node/v8-version.h -include/node/v8-wasm-trap-handler-posix.h -include/node/v8-wasm-trap-handler-win.h include/node/v8.h include/node/v8config.h ${PLIST.dtrace}lib/dtrace/node.d diff --git a/lang/nodejs/buildlink3.mk b/lang/nodejs/buildlink3.mk index 86e1d5c5b19..76281bedda8 100644 --- a/lang/nodejs/buildlink3.mk +++ b/lang/nodejs/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.17 2021/12/08 16:02:16 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.18 2022/03/30 06:52:33 adam Exp $ BUILDLINK_TREE+= nodejs @@ -6,7 +6,7 @@ BUILDLINK_TREE+= nodejs NODEJS_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.nodejs+= nodejs>=10 -BUILDLINK_ABI_DEPENDS.nodejs?= nodejs>=14.18.1 +BUILDLINK_ABI_DEPENDS.nodejs?= nodejs>=16.14.2 BUILDLINK_PKGSRCDIR.nodejs?= ../../lang/nodejs .include "../../mk/bsd.fast.prefs.mk" @@ -18,7 +18,6 @@ BUILDLINK_PKGSRCDIR.nodejs?= ../../lang/nodejs BUILDLINK_API_DEPENDS.libuv+= libuv>=1.23 .include "../../devel/libuv/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" -.include "../../net/libcares/buildlink3.mk" .include "../../textproc/icu/buildlink3.mk" # Requires nghttp2_option_set_max_settings BUILDLINK_API_DEPENDS.nghttp2+= nghttp2>=1.41.0 diff --git a/lang/nodejs/distinfo b/lang/nodejs/distinfo index d89df59d7a8..3e468745fb5 100644 --- a/lang/nodejs/distinfo +++ b/lang/nodejs/distinfo @@ -1,26 +1,26 @@ -$NetBSD: distinfo,v 1.208 2022/02/15 13:59:42 adam Exp $ +$NetBSD: distinfo,v 1.209 2022/03/30 06:52:33 adam Exp $ -BLAKE2s (node-v14.19.0.tar.xz) = bbb02ad0354cd4c6477ad1ac98c36a700e1ea186e8233f81048f69a5acca14b7 -SHA512 (node-v14.19.0.tar.xz) = 80573fa3a0882c1f2a40b991f187f49714748ca4c56c78133e2d2be0322f201816eb059a1a7d38ea8a925229c1b1324d0ffc28ff4002d0115bfae44fe87efe97 -Size (node-v14.19.0.tar.xz) = 34486868 bytes -SHA1 (patch-common.gypi) = f0bd2962bf7c8466db24b35a35154897ecad6316 +BLAKE2s (node-v16.14.2.tar.xz) = e32e3e3de0c413fa7d67a2dd5fe89268c0283c47e632274889b6fc82aaea031c +SHA512 (node-v16.14.2.tar.xz) = b97274f6e0d63f19e01497c43af36e6561f019e7b0b5b4f6ea19d0fbe2cb4d3c514c06f49e237d1e327936db03c3f437ae0d0b2f830a35f1b7c3a723fbe2a1be +Size (node-v16.14.2.tar.xz) = 34332624 bytes +SHA1 (patch-common.gypi) = 15393846d9dce28f963ef66faa504d5bb3e92018 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_atomicops.h) = 05b1f62850c3d4a9a8e94a5263be1c4267cf566d 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) = f99d9bee3ce452dda41c9b2943ee16cebcbd0af3 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_zone_zone.h) = 651b49d242dac8f713cccc101147ccf61f828ecb SHA1 (patch-deps_v8_tools_run-llprof.sh) = 39aa3faf77492ef8dd35b411b7b0e4605b469af3 +SHA1 (patch-node.gyp) = 0c2e5ccae623a7b730490baf8d509fa550b63e03 SHA1 (patch-node.gypi) = 4a104dba6c22702211009bc60a6be6f87554e2fa SHA1 (patch-src_inspector__agent.cc) = 2ec2a7be459648700488096f467a4ae6af5a9d91 SHA1 (patch-src_node__postmortem__metadata.cc) = 9938482d724ad6636af5dc3fa719ec26ed8539ff -SHA1 (patch-tools_gyp_pylib_gyp_generator_make.py) = 34d4f113d85b4502bc8240fac50dc37554ab4ebb +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) = 943507123606b9016e35a94eb2e1941d141e0e09 -SHA1 (patch-tools_v8_gypfiles_v8.gyp) = 49cfd4fa8a8122c6f74965a2e87bbca6d0e44efc +SHA1 (patch-tools_install.py) = c01515e3001bebd50f12bcada548f1cc0c25a49f +SHA1 (patch-tools_v8_gypfiles_v8.gyp) = a1a40e77ee2f28d9d3dec11d6d73f2deff0d4701 diff --git a/lang/nodejs/nodeversion.mk b/lang/nodejs/nodeversion.mk index 9b23a096668..9f2438de0ae 100644 --- a/lang/nodejs/nodeversion.mk +++ b/lang/nodejs/nodeversion.mk @@ -1,4 +1,4 @@ -# $NetBSD: nodeversion.mk,v 1.7 2021/02/16 13:16:38 adam Exp $ +# $NetBSD: nodeversion.mk,v 1.8 2022/03/30 06:52:33 adam Exp $ # This file determins 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: 10 12 14 +# Possible values: 10 12 14 16 # Default: 10 # # === Infrastructure variables === @@ -27,13 +27,13 @@ # is significant; those listed earlier are preferred over those # listed later. # -# Possible values: 10 12 14 -# Default: 10 12 14 +# Possible values: 10 12 14 16 +# Default: 10 12 14 16 # # NODE_VERSIONS_INCOMPATIBLE # The node versions that the package *cannot* build against. # -# Possible values: 10 12 14 +# Possible values: 10 12 14 16 # Default: # # Keywords: node @@ -58,7 +58,7 @@ BUILD_DEFS+= NODE_VERSION_DEFAULT BUILD_DEFS_EFFECTS+= NODE_PACKAGE NODE_VERSION_DEFAULT?= 10 -NODE_VERSIONS_ACCEPTED?= 10 12 14 +NODE_VERSIONS_ACCEPTED?= 10 12 14 16 NODE_VERSIONS_INCOMPATIBLE?= # empty # Resolve NODE_VERSIONS_INCOMPATIBLE and generate the _OK vars. @@ -93,6 +93,8 @@ _NODE_VERSION?= none .elif ${_NODE_VERSION} == "12" .include "../../lang/nodejs12/buildlink3.mk" .elif ${_NODE_VERSION} == "14" +.include "../../lang/nodejs14/buildlink3.mk" +.elif ${_NODE_VERSION} == "16" .include "../../lang/nodejs/buildlink3.mk" .else PKG_FAIL_REASON+= "No valid node version found" diff --git a/lang/nodejs/options.mk b/lang/nodejs/options.mk index c43ed11f25f..a7685fee29d 100644 --- a/lang/nodejs/options.mk +++ b/lang/nodejs/options.mk @@ -1,6 +1,6 @@ -# $NetBSD: options.mk,v 1.13 2020/01/25 10:45:12 jperkin Exp $ +# $NetBSD: options.mk,v 1.14 2022/03/30 06:52:33 adam Exp $ -PKG_OPTIONS_VAR= PKG_OPTIONS.node +PKG_OPTIONS_VAR= PKG_OPTIONS.nodejs PKG_SUPPORTED_OPTIONS= openssl dtrace PKG_SUGGESTED_OPTIONS= openssl diff --git a/lang/nodejs/patches/patch-common.gypi b/lang/nodejs/patches/patch-common.gypi index 4f5fcf6744f..e8846808e54 100644 --- a/lang/nodejs/patches/patch-common.gypi +++ b/lang/nodejs/patches/patch-common.gypi @@ -1,10 +1,10 @@ -$NetBSD: patch-common.gypi,v 1.8 2020/01/08 22:30:38 adam Exp $ +$NetBSD: patch-common.gypi,v 1.9 2022/03/30 06:52:33 adam Exp $ Add support for NetBSD. ---- common.gypi.orig 2020-01-07 22:07:48.000000000 +0000 +--- common.gypi.orig 2021-08-03 05:54:22.000000000 +0000 +++ common.gypi -@@ -326,11 +326,11 @@ +@@ -376,11 +376,11 @@ 'BUILDING_UV_SHARED=1', ], }], @@ -16,5 +16,5 @@ Add support for NetBSD. - [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', { + [ 'OS in "linux freebsd openbsd netbsd netbsd solaris android aix cloudabi"', { 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], - 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++1y' ], + 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++14' ], 'defines': [ '__STDC_FORMAT_MACROS' ], diff --git a/lang/nodejs/patches/patch-deps_v8_src_base_strings.h b/lang/nodejs/patches/patch-deps_v8_src_base_strings.h new file mode 100644 index 00000000000..143c8d9c5c4 --- /dev/null +++ b/lang/nodejs/patches/patch-deps_v8_src_base_strings.h @@ -0,0 +1,14 @@ +$NetBSD: patch-deps_v8_src_base_strings.h,v 1.1 2022/03/30 06:52:33 adam Exp $ + +stdarg.h is needed for va_list on at least NetBSD. + +--- deps/v8/src/base/strings.h.orig 2022-02-08 12:37:48.000000000 +0000 ++++ deps/v8/src/base/strings.h +@@ -8,6 +8,7 @@ + #include "src/base/base-export.h" + #include "src/base/macros.h" + #include "src/base/vector.h" ++#include + + namespace v8 { + namespace base { diff --git a/lang/nodejs/patches/patch-node.gyp b/lang/nodejs/patches/patch-node.gyp new file mode 100644 index 00000000000..913bd4455bc --- /dev/null +++ b/lang/nodejs/patches/patch-node.gyp @@ -0,0 +1,15 @@ +$NetBSD: patch-node.gyp,v 1.3 2022/03/30 06:52:33 adam Exp $ + +Avoid building vendored OpenSSL. + +--- node.gyp.orig 2022-03-01 10:28:22.000000000 +0000 ++++ node.gyp +@@ -1393,7 +1393,7 @@ + ] + }], # end aix section + # TODO(RaisinTen): Enable this to build on other platforms as well. +- ['(OS=="mac" or (OS=="linux" and target_arch=="x64")) and \ ++ ['(OS=="linux" and target_arch=="x64") and \ + node_use_openssl=="true"', { + 'targets': [ + { diff --git a/lang/nodejs/patches/patch-tools_gyp_pylib_gyp_generator_make.py b/lang/nodejs/patches/patch-tools_gyp_pylib_gyp_generator_make.py index e8f86014498..83d154b5930 100644 --- a/lang/nodejs/patches/patch-tools_gyp_pylib_gyp_generator_make.py +++ b/lang/nodejs/patches/patch-tools_gyp_pylib_gyp_generator_make.py @@ -1,11 +1,11 @@ -$NetBSD: patch-tools_gyp_pylib_gyp_generator_make.py,v 1.4 2020/10/08 10:58:35 adam Exp $ +$NetBSD: patch-tools_gyp_pylib_gyp_generator_make.py,v 1.5 2022/03/30 06:52:33 adam Exp $ Use the system libtool on Darwin. Add support for NetBSD and DragonFly. ---- tools/gyp/pylib/gyp/generator/make.py.orig 2020-10-07 17:47:43.000000000 +0000 +--- tools/gyp/pylib/gyp/generator/make.py.orig 2021-08-03 05:54:27.000000000 +0000 +++ tools/gyp/pylib/gyp/generator/make.py -@@ -180,7 +180,7 @@ cmd_solink_module = $(LINK.$(TOOLSET)) - +@@ -179,7 +179,7 @@ cmd_solink_module = $(LINK.$(TOOLSET)) - LINK_COMMANDS_MAC = """\ quiet_cmd_alink = LIBTOOL-STATIC $@ @@ -14,8 +14,8 @@ Add support for NetBSD and DragonFly. quiet_cmd_link = LINK($(TOOLSET)) $@ cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) -@@ -2331,7 +2331,7 @@ def GenerateOutput(target_list, target_d - "flock_index": 2 +@@ -2335,7 +2335,7 @@ def GenerateOutput(target_list, target_d + "flock_index": 2, } ) - elif flavor == "freebsd": diff --git a/lang/nodejs/patches/patch-tools_install.py b/lang/nodejs/patches/patch-tools_install.py index dfa31e2d6be..347fc11894e 100644 --- a/lang/nodejs/patches/patch-tools_install.py +++ b/lang/nodejs/patches/patch-tools_install.py @@ -1,8 +1,8 @@ -$NetBSD: patch-tools_install.py,v 1.7 2022/02/15 13:59:42 adam Exp $ +$NetBSD: patch-tools_install.py,v 1.8 2022/03/30 06:52:33 adam Exp $ Install man pages under the right directory. ---- tools/install.py.orig 2022-02-01 13:01:47.000000000 +0000 +--- tools/install.py.orig 2021-09-10 17:25:14.000000000 +0000 +++ tools/install.py @@ -156,10 +156,7 @@ def files(action): action(['deps/v8/tools/gdbinit'], 'share/doc/node/') diff --git a/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp b/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp index 898e5965f14..323e23e2ae2 100644 --- a/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp +++ b/lang/nodejs/patches/patch-tools_v8_gypfiles_v8.gyp @@ -1,10 +1,10 @@ -$NetBSD: patch-tools_v8_gypfiles_v8.gyp,v 1.1 2020/10/17 21:48:41 mrg Exp $ +$NetBSD: patch-tools_v8_gypfiles_v8.gyp,v 1.2 2022/03/30 06:52:33 adam Exp $ Add -larm on netbsd arm platforms. ---- tools/v8_gypfiles/v8.gyp.orig 2020-10-07 10:47:43.000000000 -0700 -+++ tools/v8_gypfiles/v8.gyp 2020-10-17 13:16:57.485883322 -0700 -@@ -903,6 +903,12 @@ +--- tools/v8_gypfiles/v8.gyp.orig 2021-08-03 05:54:27.000000000 +0000 ++++ tools/v8_gypfiles/v8.gyp +@@ -951,6 +951,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 @@ Add -larm on netbsd arm platforms. + 'libraries': ['-larm', ], + }, + }], - ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm"]', { + ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64"]', { 'link_settings': { 'libraries': ['-latomic', ], -- cgit v1.2.3