Index | Thread | Search

From:
Volker Schlecht <openbsd-ports@schlecht.dev>
Subject:
[Maintainer Update] lang/node v22.17.0
To:
ports <ports@openbsd.org>
Cc:
Jeremie Courreges-Anglas <jca@wxcvbn.org>
Date:
Thu, 26 Jun 2025 21:27:39 +0200

Download raw body.

Thread
Update to latest release.
Which quite likely will still not build on ppc64 (it bundles the same
version of simdutf as 22.16.0).

However, it builds and works on

- amd64 (with and without IBT)
- arm64 (without IBT)
- i386

While I was there, I synchronized the v8 patches with what we have in
lang/deno and www/chromium.

Since the build config changed again (patch-tools_v8_gypfiles_v8_gyp), I
think it would be good to give this a spin on riscv64...

ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/node/Makefile,v
retrieving revision 1.155
diff -u -p -r1.155 Makefile
--- Makefile	15 Jun 2025 19:45:53 -0000	1.155
+++ Makefile	26 Jun 2025 19:17:35 -0000
@@ -5,7 +5,7 @@ USE_WXNEEDED =		Yes
 
 COMMENT = JavaScript runtime built on Chrome's V8 JavaScript engine
 
-NODE_VERSION =		v22.16.0
+NODE_VERSION =		v22.17.0
 DISTFILES =		${DISTNAME}-headers.tar.gz \
 			${DISTNAME}.tar.xz
 DIST_TUPLE =		github qbit node-pledge 1.1.3 \
@@ -13,7 +13,6 @@ DIST_TUPLE =		github qbit node-pledge 1.
 DISTNAME =		node-${NODE_VERSION}
 PKGNAME =		${DISTNAME:S/v//g}
 EPOCH =			0
-REVISION =		1
 
 CATEGORIES =		lang devel
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/node/distinfo,v
retrieving revision 1.89
diff -u -p -r1.89 distinfo
--- distinfo	10 Jun 2025 06:51:36 -0000	1.89
+++ distinfo	26 Jun 2025 19:17:35 -0000
@@ -1,6 +1,6 @@
-SHA256 (node-v22.16.0-headers.tar.gz) = pg5aVD+rXlEFUllIxZbUl0xhfzlgbO9265TDvx35oGw=
-SHA256 (node-v22.16.0.tar.xz) = cgiU8yPlwawklo6yZ2ZgyQcw1xXLfwkL5xpmhmKhfDc=
+SHA256 (node-v22.17.0-headers.tar.gz) = SqhZxBPmyFUAFb4WsKVd+FNYpw5KwfBK0j7kLoVmwTw=
+SHA256 (node-v22.17.0.tar.xz) = ej7yrtuQXqeSblIJFXJm4jdqXbYZ2awMujyWf29dtPk=
 SHA256 (qbit-node-pledge-1.1.3.tar.gz) = fEaXvLg6hYEJ69K+mgQFizf8DiJY2/DtyFJB/pEanVU=
-SIZE (node-v22.16.0-headers.tar.gz) = 8732195
-SIZE (node-v22.16.0.tar.xz) = 48547612
+SIZE (node-v22.17.0-headers.tar.gz) = 8750909
+SIZE (node-v22.17.0.tar.xz) = 48823936
 SIZE (qbit-node-pledge-1.1.3.tar.gz) = 3167
Index: patches/patch-common_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-common_gypi,v
retrieving revision 1.35
diff -u -p -r1.35 patch-common_gypi
--- patches/patch-common_gypi	15 May 2025 18:33:16 -0000	1.35
+++ patches/patch-common_gypi	26 Jun 2025 19:17:35 -0000
@@ -11,7 +11,7 @@ Index: common.gypi
      # Turn on SipHash for hash seed generation, addresses HashWick
      'v8_use_siphash': 'true',
  
-@@ -193,7 +196,6 @@
+@@ -195,7 +198,6 @@
              }],
            ],
          },
@@ -19,7 +19,7 @@ Index: common.gypi
          'conditions': [
            ['enable_lto=="true"', {
              'cflags': ['<(lto)'],
-@@ -515,8 +517,10 @@
+@@ -523,8 +525,10 @@
              'standalone_static_library': 1,
            }],
            ['OS=="openbsd"', {
@@ -32,7 +32,7 @@ Index: common.gypi
            }],
            ['_toolset=="host"', {
              'conditions': [
-@@ -533,7 +537,7 @@
+@@ -541,7 +545,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'host_arch=="ppc64" and OS not in "aix os400"', {
@@ -41,7 +41,7 @@ Index: common.gypi
                  'ldflags': [ '-m64' ],
                }],
                [ 'host_arch=="s390x" and OS=="linux"', {
-@@ -557,7 +561,7 @@
+@@ -565,7 +569,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
retrieving revision 1.11
diff -u -p -r1.11 patch-configure_py
--- patches/patch-configure_py	15 May 2025 18:33:16 -0000	1.11
+++ patches/patch-configure_py	26 Jun 2025 19:17:35 -0000
@@ -1,7 +1,7 @@
 Index: configure.py
 --- configure.py.orig
 +++ configure.py
-@@ -1739,7 +1739,11 @@ def configure_v8(o, configs):
+@@ -1753,7 +1753,11 @@ def configure_v8(o, configs):
    if sys.platform != 'darwin':
      if o['variables']['v8_enable_webassembly'] and o['variables']['target_arch'] == 'x64':
        o['variables']['v8_enable_wasm_simd256_revec'] = 1
Index: patches/patch-deps_v8_src_diagnostics_perf-jit_cc
===================================================================
RCS file: patches/patch-deps_v8_src_diagnostics_perf-jit_cc
diff -N patches/patch-deps_v8_src_diagnostics_perf-jit_cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_diagnostics_perf-jit_cc	26 Jun 2025 19:17:35 -0000
@@ -0,0 +1,13 @@
+Index: deps/v8/src/diagnostics/perf-jit.cc
+--- deps/v8/src/diagnostics/perf-jit.cc.orig
++++ deps/v8/src/diagnostics/perf-jit.cc
+@@ -30,8 +30,7 @@
+ #include "src/common/assert-scope.h"
+ #include "src/flags/flags.h"
+ 
+-// Only compile the {PerfJitLogger} on Linux & Darwin.
+-#if V8_OS_LINUX || V8_OS_DARWIN
++#if 1
+ 
+ #include <fcntl.h>
+ #include <sys/mman.h>
Index: patches/patch-deps_v8_src_diagnostics_perf-jit_h
===================================================================
RCS file: patches/patch-deps_v8_src_diagnostics_perf-jit_h
diff -N patches/patch-deps_v8_src_diagnostics_perf-jit_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-deps_v8_src_diagnostics_perf-jit_h	26 Jun 2025 19:17:35 -0000
@@ -0,0 +1,13 @@
+Index: deps/v8/src/diagnostics/perf-jit.h
+--- deps/v8/src/diagnostics/perf-jit.h.orig
++++ deps/v8/src/diagnostics/perf-jit.h
+@@ -30,8 +30,7 @@
+ 
+ #include "include/v8config.h"
+ 
+-// {PerfJitLogger} is only implemented on Linux & Darwin.
+-#if V8_OS_LINUX || V8_OS_DARWIN
++#if 1
+ 
+ #include "src/logging/log.h"
+ 
Index: patches/patch-include_node_common_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-include_node_common_gypi,v
retrieving revision 1.9
diff -u -p -r1.9 patch-include_node_common_gypi
--- patches/patch-include_node_common_gypi	15 May 2025 18:33:16 -0000	1.9
+++ patches/patch-include_node_common_gypi	26 Jun 2025 19:17:35 -0000
@@ -1,7 +1,7 @@
 Index: include/node/common.gypi
 --- include/node/common.gypi.orig
 +++ include/node/common.gypi
-@@ -193,7 +193,6 @@
+@@ -195,7 +195,6 @@
              }],
            ],
          },
@@ -9,7 +9,7 @@ Index: include/node/common.gypi
          'conditions': [
            ['enable_lto=="true"', {
              'cflags': ['<(lto)'],
-@@ -515,7 +514,6 @@
+@@ -523,7 +522,6 @@
              'standalone_static_library': 1,
            }],
            ['OS=="openbsd"', {
@@ -17,7 +17,7 @@ Index: include/node/common.gypi
              'ldflags': [ '-Wl,-z,wxneeded' ],
            }],
            ['_toolset=="host"', {
-@@ -533,7 +531,7 @@
+@@ -541,7 +539,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'host_arch=="ppc64" and OS not in "aix os400"', {
@@ -26,7 +26,7 @@ Index: include/node/common.gypi
                  'ldflags': [ '-m64' ],
                }],
                [ 'host_arch=="s390x" and OS=="linux"', {
-@@ -557,7 +555,7 @@
+@@ -565,7 +563,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
retrieving revision 1.15
diff -u -p -r1.15 patch-lib_net_js
--- patches/patch-lib_net_js	15 May 2025 18:33:16 -0000	1.15
+++ patches/patch-lib_net_js	26 Jun 2025 19:17:35 -0000
@@ -13,7 +13,7 @@ for "any address" but that's not really 
 Index: lib/net.js
 --- lib/net.js.orig
 +++ lib/net.js
-@@ -1896,22 +1896,12 @@ function setupListenHandle(address, port, addressType,
+@@ -1897,22 +1897,12 @@ function setupListenHandle(address, port, addressType,
  
      let rval = null;
  
Index: patches/patch-tools_v8_gypfiles_features_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-tools_v8_gypfiles_features_gypi,v
retrieving revision 1.2
diff -u -p -r1.2 patch-tools_v8_gypfiles_features_gypi
--- patches/patch-tools_v8_gypfiles_features_gypi	13 Jan 2025 15:58:57 -0000	1.2
+++ patches/patch-tools_v8_gypfiles_features_gypi	26 Jun 2025 19:17:35 -0000
@@ -1,7 +1,7 @@
 Index: tools/v8_gypfiles/features.gypi
 --- tools/v8_gypfiles/features.gypi.orig
 +++ tools/v8_gypfiles/features.gypi
-@@ -331,7 +331,10 @@
+@@ -336,7 +336,10 @@
      'v8_advanced_bigint_algorithms%': 1,
  
      # Enable 256-bit long vector re-vectorization pass in WASM compilation pipeline.
@@ -13,7 +13,7 @@ Index: tools/v8_gypfiles/features.gypi
    },
  
    'target_defaults': {
-@@ -546,6 +549,9 @@
+@@ -554,6 +557,9 @@
        }],
        ['v8_enable_wasm_simd256_revec==1', {
          'defines': ['V8_ENABLE_WASM_SIMD256_REVEC',],
Index: patches/patch-tools_v8_gypfiles_toolchain_gypi
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-tools_v8_gypfiles_toolchain_gypi,v
retrieving revision 1.4
diff -u -p -r1.4 patch-tools_v8_gypfiles_toolchain_gypi
--- patches/patch-tools_v8_gypfiles_toolchain_gypi	14 Nov 2024 18:58:14 -0000	1.4
+++ patches/patch-tools_v8_gypfiles_toolchain_gypi	26 Jun 2025 19:17:35 -0000
@@ -1,7 +1,7 @@
 Index: tools/v8_gypfiles/toolchain.gypi
 --- tools/v8_gypfiles/toolchain.gypi.orig
 +++ tools/v8_gypfiles/toolchain.gypi
-@@ -675,7 +675,7 @@
+@@ -673,7 +673,7 @@
          'defines': [ '__C99FEATURES__=1' ],  # isinf() etc.
        }],
        ['OS=="freebsd" or OS=="openbsd"', {
@@ -10,7 +10,7 @@ Index: tools/v8_gypfiles/toolchain.gypi
        }],
        ['OS=="netbsd"', {
          'cflags': [ '-I/usr/pkg/include' ],
-@@ -863,11 +863,9 @@
+@@ -858,11 +858,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', {
Index: patches/patch-tools_v8_gypfiles_v8_gyp
===================================================================
RCS file: /cvs/ports/lang/node/patches/patch-tools_v8_gypfiles_v8_gyp,v
retrieving revision 1.16
diff -u -p -r1.16 patch-tools_v8_gypfiles_v8_gyp
--- patches/patch-tools_v8_gypfiles_v8_gyp	15 May 2025 18:33:16 -0000	1.16
+++ patches/patch-tools_v8_gypfiles_v8_gyp	26 Jun 2025 19:17:35 -0000
@@ -21,8 +21,17 @@ Index: tools/v8_gypfiles/v8.gyp
                }],
                ['v8_enable_webassembly==1', {
                  'conditions': [
--                  ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
-+                  ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd" or OS=="openbsd"', {
+-                  ['OS in "linux mac ios freebsd openharmony"', {
++                  ['OS in "linux mac ios freebsd openharmony openbsd"', {
+                     'sources': [
+                       '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h',
+                     ],
+@@ -745,7 +748,7 @@
+               }],
+               ['v8_enable_webassembly==1', {
+                 'conditions': [
+-                  ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS in "linux mac openharmony")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS in "linux mac openharmony"))', {
++                  ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS in "linux mac openharmony openbsd")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS in "linux mac openharmony openbsd"))', {
                      'sources': [
                        '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h',
                      ],
@@ -30,8 +39,26 @@ Index: tools/v8_gypfiles/v8.gyp
              }],
              ['v8_enable_webassembly==1', {
                'conditions': [
--                ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
-+                ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd" or OS=="openbsd"', {
+-                ['OS in "linux mac ios freebsd openharmony"', {
++                ['OS in "linux mac ios freebsd openharmony openbsd"', {
+                   'sources': [
+                     '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc',
+                     '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc',
+@@ -1194,7 +1197,7 @@
+           'conditions': [
+             ['v8_enable_webassembly==1', {
+               'conditions': [
+-                ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS in "linux mac ios openharmony")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS in "linux mac openharmony"))', {
++                ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS in "linux mac ios openharmony openbsd")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS in "linux mac openharmony openbsd"))', {
+                   'sources': [
+                     '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc',
+                     '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc',
+@@ -1247,7 +1250,7 @@
+           'conditions': [
+             ['v8_enable_webassembly==1', {
+               'conditions': [
+-                ['((_toolset=="host" and host_arch=="riscv64" or _toolset=="target" and target_arch=="riscv64") and (OS=="linux")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux"))', {
++                ['((_toolset=="host" and host_arch=="riscv64" or _toolset=="target" and target_arch=="riscv64") and (OS=="linux" or OS=="openbsd")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux"))', {
                    'sources': [
                      '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc',
                      '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc',