On Sun, Nov 27 2022, Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote:
> On Sat, Nov 26 2022, Volker Schlecht <openbsd-po...@schlecht.dev> wrote:
>> Here's a first shot at updating lang/node to the most recent LTS
>> Release. 16.x is still maintained, but LTS has been switched to 18.x
>> a few weeks ago.
>>
>> Smoke testing showed no major issues so far, so I'll be dogfooding this
>> for a while. However a few more eyes on it would be very welcome.
>>
>> In particular:
>>
>> aaron@: Would you have a look at the workaround to node-pledge I needed
>> to tack on to make it build with the included version of node-gyp?
>>
>> jca@: Could you have a look if your riscv64 patches still work as desired?
>
> Thanks for the heads-up!
>
> - The hunk that drops -latomic should be preserved.  ;)
> - New issue: cpu.cc needs more #ifdefs for Linux-only detection of CPU
>   features.  Added for riscv64 but not for mips64 where we don't build
>   lang/node.  arm64 and powerpc64 look ok at first glance but I can't
>   test them.
> - FPU support can default to true on OpenBSD/riscv64.
>
> Not architecture specific: the REVISION line can be completely dropped
> on updates.
>
> Updated patch below, cpu.cc compiles but the build isn't finished yet.

make package successful on riscv64 with the diff I sent.

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/node/Makefile,v
> retrieving revision 1.111
> diff -u -p -r1.111 Makefile
> --- Makefile  13 Nov 2022 15:28:44 -0000      1.111
> +++ Makefile  27 Nov 2022 12:25:50 -0000
> @@ -5,12 +5,11 @@ USE_WXNEEDED =              Yes
>  
>  COMMENT = JavaScript runtime built on Chrome's V8 JavaScript engine
>  
> -NODE_VERSION =               v16.17.1
> +NODE_VERSION =               v18.12.1
>  PLEDGE_VER =         1.1.2
>  DISTFILES =          node-pledge-{}${PLEDGE_VER}.tar.gz:0 \
>                       ${DISTNAME}-headers.tar.gz \
>                       ${DISTNAME}.tar.xz
> -REVISION =           2
>  
>  DISTNAME =           node-${NODE_VERSION}
>  PKGNAME =            ${DISTNAME:S/v//g}
> @@ -34,7 +33,7 @@ MODULES =           lang/python
>  WANTLIB += c execinfo m pthread ${COMPILER_LIBCXX}
>  WANTLIB += z brotlienc brotlidec
>  WANTLIB += icudata icui18n icuuc cares nghttp2 uv
> -WANTLIB += lib/eopenssl11/ssl lib/eopenssl11/crypto
> +WANTLIB += lib/eopenssl30/ssl lib/eopenssl30/crypto
>  
>  COMPILER =           base-clang ports-gcc
>  
> @@ -71,16 +70,17 @@ SUBST_VARS +=             WRKDIST
>  SUBST_VARS +=                NODE_VERSION
>  SUBST_VARS +=                EOPENSSL_LIB
>  
> -# OpenSSL used: {X,Ed}25519 via EVP, SSL_CIPHER_standard_name and 5-10 other 
> missing symbols/defines.
> +# OpenSSL used: {X,Ed}25519 via EVP, SSL_CIPHER_standard_name and
> +# 5-10 other missing symbols/defines.
>  LIB_DEPENDS +=               archivers/brotli \
>                       devel/libuv \
>                       net/libcares \
>                       textproc/icu4c \
>                       www/nghttp2 \
> -                     security/openssl/1.1
> +                     security/openssl/3.0
>  
> -EOPENSSL_LIB =               ${LOCALBASE}/lib/eopenssl11
> -EOPENSSL_INC =               ${LOCALBASE}/include/eopenssl11
> +EOPENSSL_LIB =               ${LOCALBASE}/lib/eopenssl30
> +EOPENSSL_INC =               ${LOCALBASE}/include/eopenssl30
>  
>  post-extract:
>       mv ${WRKDIR}/node-pledge-${PLEDGE_VER} \
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/lang/node/distinfo,v
> retrieving revision 1.65
> diff -u -p -r1.65 distinfo
> --- distinfo  1 Nov 2022 12:01:49 -0000       1.65
> +++ distinfo  26 Nov 2022 21:20:55 -0000
> @@ -1,6 +1,6 @@
>  SHA256 (node-pledge-1.1.2.tar.gz) = 
> zY/JcbZ32mmtqWXXNn3/9aTh7Y3F6fAAaADDA8SYwEk=
> -SHA256 (node-v16.17.1-headers.tar.gz) = 
> Ncy5XK8CzaO9aA2kNQqK5dZmp6nq46/lwqGz7ymu8Qg=
> -SHA256 (node-v16.17.1.tar.xz) = ZyH+tBUtVtLGs1jOOXq9Wn8drwnuLiXFAhubTT+GozA=
> +SHA256 (node-v18.12.1-headers.tar.gz) = 
> nVXuByum1aFB2wks7xoPcV99P8k4KFptknodCgx0Qvc=
> +SHA256 (node-v18.12.1.tar.xz) = T6QGRRvFJlmikOUs/bIWKnYL1UnaS4u+vmop8pbZON8=
>  SIZE (node-pledge-1.1.2.tar.gz) = 3155
> -SIZE (node-v16.17.1-headers.tar.gz) = 568068
> -SIZE (node-v16.17.1.tar.xz) = 35661452
> +SIZE (node-v18.12.1-headers.tar.gz) = 8563785
> +SIZE (node-v18.12.1.tar.xz) = 38454588
> Index: patches/patch-Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-Makefile,v
> retrieving revision 1.15
> diff -u -p -r1.15 patch-Makefile
> --- patches/patch-Makefile    18 Mar 2022 19:35:16 -0000      1.15
> +++ patches/patch-Makefile    26 Nov 2022 21:20:55 -0000
> @@ -1,7 +1,7 @@
>  Index: Makefile
>  --- Makefile.orig
>  +++ Makefile
> -@@ -163,7 +163,7 @@ config.gypi: configure configure.py src/node_version.h
> +@@ -185,7 +185,7 @@ config.gypi: configure configure.py src/node_version.h
>       fi
>   
>   .PHONY: install
> @@ -10,7 +10,7 @@ Index: Makefile
>       $(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
>   
>   .PHONY: uninstall
> -@@ -394,6 +394,12 @@ test/addons/.buildstamp: $(ADDONS_PREREQS) \
> +@@ -416,6 +416,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
> retrieving revision 1.23
> diff -u -p -r1.23 patch-common_gypi
> --- patches/patch-common_gypi 1 Sep 2022 20:42:56 -0000       1.23
> +++ patches/patch-common_gypi 26 Nov 2022 21:20:55 -0000
> @@ -1,7 +1,7 @@
>  Index: common.gypi
>  --- common.gypi.orig
>  +++ common.gypi
> -@@ -416,7 +416,9 @@
> +@@ -413,7 +413,9 @@
>             }],
>             ['OS=="openbsd"', {
>               'cflags': [ '-I/usr/local/include' ],
> Index: 
> patches/patch-deps_npm_node_modules_node-gyp_gyp_pylib_gyp_generator_make_py
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_npm_node_modules_node-gyp_gyp_pylib_gyp_generator_make_py,v
> retrieving revision 1.10
> diff -u -p -r1.10 
> patch-deps_npm_node_modules_node-gyp_gyp_pylib_gyp_generator_make_py
> --- 
> patches/patch-deps_npm_node_modules_node-gyp_gyp_pylib_gyp_generator_make_py  
>     11 Mar 2022 19:29:08 -0000      1.10
> +++ 
> patches/patch-deps_npm_node_modules_node-gyp_gyp_pylib_gyp_generator_make_py  
>     26 Nov 2022 21:20:55 -0000
> @@ -5,8 +5,8 @@ Index: deps/npm/node_modules/node-gyp/gy
>   
>   %(make_global_settings)s
>   
> -+CXX := /usr/bin/clang++
> -+CC := /usr/bin/clang
> ++CXX := /usr/bin/c++
> ++CC := /usr/bin/c
>   CC.target ?= %(CC.target)s
>   CFLAGS.target ?= $(CPPFLAGS) $(CFLAGS)
>   CXX.target ?= %(CXX.target)s
> Index: patches/patch-deps_npm_node_modules_node-pledge_pledge_cc
> ===================================================================
> RCS file: patches/patch-deps_npm_node_modules_node-pledge_pledge_cc
> diff -N patches/patch-deps_npm_node_modules_node-pledge_pledge_cc
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-deps_npm_node_modules_node-pledge_pledge_cc 26 Nov 2022 
> 21:20:55 -0000
> @@ -0,0 +1,19 @@
> +Index: deps/npm/node_modules/node-pledge/pledge.cc
> +--- deps/npm/node_modules/node-pledge/pledge.cc.orig
> ++++ deps/npm/node_modules/node-pledge/pledge.cc
> +@@ -33,8 +33,13 @@ void Pledge(const FunctionCallbackInfo<Value>& args) {
> +   } 
> + 
> +   const int num = pledge(*String::Utf8Value(isolate, args[0]), NULL);
> +-  if (num == -1)
> +-    err(1, "pledge");
> ++  if (num == -1) {
> ++    isolate->ThrowException(Exception::TypeError(
> ++        String::NewFromUtf8(isolate, "Pledge Error",
> ++            v8::NewStringType::kNormal).ToLocalChecked()));
> ++    return;
> ++  } 
> ++
> +  
> +   args.GetReturnValue().Set(num);
> + }
> Index: patches/patch-deps_v8_include_v8config_h
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_include_v8config_h,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_include_v8config_h
> --- patches/patch-deps_v8_include_v8config_h  11 Mar 2022 19:29:08 -0000      
> 1.2
> +++ patches/patch-deps_v8_include_v8config_h  26 Nov 2022 21:20:55 -0000
> @@ -1,22 +1,25 @@
> ---- deps/v8/include/v8config.h.orig  Sat Jan  1 17:10:10 2022
> -+++ deps/v8/include/v8config.h       Sat Jan  1 17:10:10 2022
> -@@ -181,6 +181,7 @@ path. Add it with -I<path> to the command line
> +Index: deps/v8/include/v8config.h
> +--- deps/v8/include/v8config.h.orig
> ++++ deps/v8/include/v8config.h
> +@@ -183,6 +183,8 @@ path. Add it with -I<path> to the command line
>     && !defined(V8_TARGET_OS_FUCHSIA) \
>     && !defined(V8_TARGET_OS_IOS) \
>     && !defined(V8_TARGET_OS_LINUX) \
>  +  && !defined(V8_TARGET_OS_OPENBSD) \
> -   && !defined(V8_TARGET_OS_MACOSX) \
> ++  && !defined(V8_TARGET_OS_FREEBSD) \
> +   && !defined(V8_TARGET_OS_MACOS) \
>     && !defined(V8_TARGET_OS_WIN)
>   #  error No known target OS defined.
> -@@ -192,6 +193,7 @@ path. Add it with -I<path> to the command line
> +@@ -194,6 +196,8 @@ path. Add it with -I<path> to the command line
>     || defined(V8_TARGET_OS_FUCHSIA) \
>     || defined(V8_TARGET_OS_IOS) \
>     || defined(V8_TARGET_OS_LINUX) \
>  +  || defined(V8_TARGET_OS_OPENBSD) \
> -   || defined(V8_TARGET_OS_MACOSX) \
> ++  || defined(V8_TARGET_OS_FREEBSD) \
> +   || defined(V8_TARGET_OS_MACOS) \
>     || defined(V8_TARGET_OS_WIN)
>   #  error A target OS is defined but V8_HAVE_TARGET_OS is unset.
> -@@ -212,6 +214,10 @@ path. Add it with -I<path> to the command line
> +@@ -214,6 +218,16 @@ path. Add it with -I<path> to the command line
>   
>   #ifdef V8_OS_LINUX
>   # define V8_TARGET_OS_LINUX
> @@ -24,6 +27,12 @@
>  +
>  +#ifdef V8_OS_OPENBSD
>  +# define V8_TARGET_OS_OPENBSD
> ++# define V8_TARGET_OS_BSD
> ++#endif
> ++
> ++#ifdef V8_OS_FREEBSD
> ++# define V8_TARGET_OS_OPENBSD
> ++# define V8_TARGET_OS_BSD
>   #endif
>   
> - #ifdef V8_OS_MACOSX
> + #ifdef V8_OS_MACOS
> Index: patches/patch-deps_v8_src_api_api_cc
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_api_api_cc,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_api_api_cc
> --- patches/patch-deps_v8_src_api_api_cc      11 Mar 2022 19:29:08 -0000      
> 1.2
> +++ patches/patch-deps_v8_src_api_api_cc      26 Nov 2022 21:20:55 -0000
> @@ -1,20 +1,21 @@
> ---- deps/v8/src/api/api.cc.orig      Sat Jan  1 17:10:10 2022
> -+++ deps/v8/src/api/api.cc   Sat Jan  1 17:10:10 2022
> -@@ -124,7 +124,7 @@
> +Index: deps/v8/src/api/api.cc
> +--- deps/v8/src/api/api.cc.orig
> ++++ deps/v8/src/api/api.cc
> +@@ -138,7 +138,7 @@
>   #include "src/wasm/wasm-serialization.h"
>   #endif  // V8_ENABLE_WEBASSEMBLY
>   
> --#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD
> -+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD || V8_OS_OPENBSD
> +-#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD
> ++#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD
>   #include <signal.h>
>   #include "include/v8-wasm-trap-handler-posix.h"
>   #include "src/trap-handler/handler-inside-posix.h"
> -@@ -5891,7 +5891,7 @@ bool v8::V8::Initialize(const int build_config) {
> +@@ -6077,7 +6077,7 @@ bool v8::V8::Initialize(const int build_config) {
>     return true;
>   }
>   
> --#if V8_OS_LINUX || V8_OS_MACOSX
> -+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD
> +-#if V8_OS_LINUX || V8_OS_DARWIN
> ++#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD
>   bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
>                                      void* context) {
>   #if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED
> Index: patches/patch-deps_v8_src_base_atomicops_h
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_base_atomicops_h,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_base_atomicops_h
> --- patches/patch-deps_v8_src_base_atomicops_h        11 Mar 2022 19:29:08 
> -0000      1.2
> +++ patches/patch-deps_v8_src_base_atomicops_h        26 Nov 2022 21:20:55 
> -0000
> @@ -1,5 +1,6 @@
> ---- deps/v8/src/base/atomicops.h.orig        Fri Jan  7 16:47:56 2022
> -+++ deps/v8/src/base/atomicops.h     Fri Jan  7 16:49:50 2022
> +Index: deps/v8/src/base/atomicops.h
> +--- deps/v8/src/base/atomicops.h.orig
> ++++ deps/v8/src/base/atomicops.h
>  @@ -57,10 +57,10 @@ using Atomic64 = SbAtomic64;
>   using Atomic8 = char;
>   using Atomic16 = int16_t;
> @@ -13,8 +14,8 @@
>   using Atomic64 = int64_t;
>   #else
>   using Atomic64 = intptr_t;
> -@@ -221,7 +221,7 @@ inline Atomic32 Acquire_Load(volatile const Atomic32* 
> -                                    std::memory_order_acquire);
> +@@ -257,7 +257,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p
> +                                    std::memory_order_seq_cst);
>   }
>   
>  -#if defined(V8_HOST_ARCH_64_BIT)
> @@ -22,12 +23,3 @@
>   
>   inline Atomic64 Relaxed_CompareAndSwap(volatile Atomic64* ptr,
>                                          Atomic64 old_value, Atomic64 
> new_value) {
> -@@ -358,7 +358,7 @@ inline void Relaxed_Memmove(volatile Atomic8* dst, vol
> - 
> - // On some platforms we need additional declarations to make
> - // AtomicWord compatible with our other Atomic* types.
> --#if defined(V8_OS_MACOSX) || defined(V8_OS_OPENBSD) || defined(V8_OS_AIX)
> -+#if defined(V8_OS_MACOSX) || defined(V8_OS_AIX)
> - #include "src/base/atomicops_internals_atomicword_compat.h"
> - #endif
> - 
> Index: patches/patch-deps_v8_src_base_cpu_cc
> ===================================================================
> RCS file: patches/patch-deps_v8_src_base_cpu_cc
> diff -N patches/patch-deps_v8_src_base_cpu_cc
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-deps_v8_src_base_cpu_cc     27 Nov 2022 12:11:25 -0000
> @@ -0,0 +1,30 @@
> +class CPUInfo should only be used on Linux to read /proc/cpuinfo contents.
> +OpenBSD/riscv64 always uses floating-point support.
> +
> +Index: deps/v8/src/base/cpu.cc
> +--- deps/v8/src/base/cpu.cc.orig
> ++++ deps/v8/src/base/cpu.cc
> +@@ -871,6 +871,8 @@ CPU::CPU()
> + #endif  // !USE_SIMULATOR
> + 
> + #elif V8_HOST_ARCH_RISCV64
> ++
> ++#if V8_OS_LINUX
> +   CPUInfo cpu_info;
> +   char* features = cpu_info.ExtractField("isa");
> + 
> +@@ -881,6 +883,14 @@ CPU::CPU()
> +     has_fpu_ = true;
> +     has_rvv_ = true;
> +   }
> ++
> ++#elif V8_OS_OPENBSD
> ++
> ++  // OpenBSD requires and defaults to FP support.
> ++  has_fpu_ = true;
> ++
> ++#endif  // V8_OS_OPENBSD
> ++
> + #endif  // V8_HOST_ARCH_RISCV64
> + }
> + 
> Index: patches/patch-deps_v8_src_base_platform-openbsd_cc
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_v8_src_base_platform-openbsd_cc,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_base_platform-openbsd_cc
> --- patches/patch-deps_v8_src_base_platform-openbsd_cc        11 Mar 2022 
> 19:29:08 -0000      1.2
> +++ patches/patch-deps_v8_src_base_platform-openbsd_cc        26 Nov 2022 
> 21:20:55 -0000
> @@ -1,5 +1,6 @@
> ---- deps/v8/src/base/platform/platform-openbsd.cc.orig       Sat Jan  1 
> 17:10:10 2022
> -+++ deps/v8/src/base/platform/platform-openbsd.cc    Sat Jan  1 17:10:10 2022
> +Index: deps/v8/src/base/platform/platform-openbsd.cc
> +--- deps/v8/src/base/platform/platform-openbsd.cc.orig
> ++++ deps/v8/src/base/platform/platform-openbsd.cc
>  @@ -6,6 +6,7 @@
>   // POSIX-compatible parts, the implementation is in platform-posix.cc.
>   
> @@ -24,5 +25,5 @@
>  +  return reinterpret_cast<uint8_t*>(base) + ss.ss_size;
>  +}
>   
> - }  // namespace base
> - }  // namespace v8
> + std::vector<OS::MemoryRange> OS::GetFreeMemoryRangesWithin(
> +     OS::Address boundary_start, OS::Address boundary_end, size_t 
> minimum_size,
> Index: patches/patch-deps_v8_src_base_platform-posix_cc
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_v8_src_base_platform-posix_cc,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_base_platform-posix_cc
> --- patches/patch-deps_v8_src_base_platform-posix_cc  11 Mar 2022 19:29:08 
> -0000      1.2
> +++ patches/patch-deps_v8_src_base_platform-posix_cc  26 Nov 2022 21:20:55 
> -0000
> @@ -1,11 +1,21 @@
> ---- deps/v8/src/base/platform/platform-posix.cc.orig Sat Jan  1 17:10:10 2022
> -+++ deps/v8/src/base/platform/platform-posix.cc      Sat Jan  1 17:10:10 2022
> -@@ -281,8 +281,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
> +Index: deps/v8/src/base/platform/platform-posix.cc
> +--- deps/v8/src/base/platform/platform-posix.cc.orig
> ++++ deps/v8/src/base/platform/platform-posix.cc
> +@@ -68,7 +68,7 @@
> + #include <sys/syscall.h>
> + #endif
> + 
> +-#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_OPENBSD || V8_OS_SOLARIS
> ++#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_BSD || V8_OS_SOLARIS
> + #define MAP_ANONYMOUS MAP_ANON
> + #endif
> + 
> +@@ -294,8 +294,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
>     }
>   }
>   
>  +#if V8_OS_OPENBSD
> -+// Allow OpenBSD's mmap to select a random address on OpenBSD
> ++// Allow OpenBSD's mmap to select a random address on OpenBSD 
>   // static
>   void* OS::GetRandomMmapAddr() {
>  +  return nullptr;
> @@ -16,7 +26,7 @@
>     uintptr_t raw_addr;
>     {
>       MutexGuard guard(rng_mutex.Pointer());
> -@@ -369,6 +376,7 @@ void* OS::GetRandomMmapAddr() {
> +@@ -386,6 +393,7 @@ void* OS::GetRandomMmapAddr() {
>   #endif
>     return reinterpret_cast<void*>(raw_addr);
>   }
> @@ -24,19 +34,19 @@
>   
>   // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
>   #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
> -@@ -493,7 +501,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
> +@@ -594,7 +602,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
>   
>   // static
>   bool OS::HasLazyCommits() {
> --#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX
> -+#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD
> +-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN
> ++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD
>     return true;
>   #else
>     // TODO(bbudge) Return true for all POSIX platforms.
> -@@ -1030,7 +1038,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
> +@@ -1213,7 +1221,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
>   // keep this version in POSIX as most Linux-compatible derivatives will
>   // support it. MacOS and FreeBSD are different here.
> - #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_MACOSX) && !defined(_AIX) && \
> + #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \
>  -    !defined(V8_OS_SOLARIS)
>  +    !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD)
>   
> Index: patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc
> --- patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc    1 Sep 
> 2022 19:23:04 -0000       1.1
> +++ patches/patch-deps_v8_src_codegen_riscv64_assembler-riscv64_cc    26 Nov 
> 2022 21:20:55 -0000
> @@ -6,7 +6,7 @@ unsigned long long are actually the same
>  Index: deps/v8/src/codegen/riscv64/assembler-riscv64.cc
>  --- deps/v8/src/codegen/riscv64/assembler-riscv64.cc.orig
>  +++ deps/v8/src/codegen/riscv64/assembler-riscv64.cc
> -@@ -400,7 +400,7 @@ int Assembler::target_at(int pos, bool is_internal) {
> +@@ -406,7 +406,7 @@ int Assembler::target_at(int pos, bool is_internal) {
>         Address pc = reinterpret_cast<Address>(buffer_start_ + pos);
>         pc = target_address_at(pc);
>         uint64_t instr_address = reinterpret_cast<uint64_t>(buffer_start_ + 
> pos);
> Index: patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc
> --- patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc      
> 1 Sep 2022 19:23:04 -0000       1.1
> +++ patches/patch-deps_v8_src_codegen_riscv64_macro-assembler-riscv64_cc      
> 26 Nov 2022 21:20:55 -0000
> @@ -3,7 +3,7 @@ Force picking up the correct RecordEntry
>  Index: deps/v8/src/codegen/riscv64/macro-assembler-riscv64.cc
>  --- deps/v8/src/codegen/riscv64/macro-assembler-riscv64.cc.orig
>  +++ deps/v8/src/codegen/riscv64/macro-assembler-riscv64.cc
> -@@ -3996,7 +3996,7 @@ void MacroAssembler::JumpToInstructionStream(Address e
> +@@ -4182,7 +4182,7 @@ void MacroAssembler::JumpToOffHeapInstructionStream(Ad
>     if (!FLAG_riscv_constant_pool) {
>       li(kOffHeapTrampolineRegister, Operand(entry, 
> RelocInfo::OFF_HEAP_TARGET));
>     } else {
> Index: patches/patch-deps_v8_src_trap-handler_h
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-deps_v8_src_trap-handler_h,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_trap-handler_h
> --- patches/patch-deps_v8_src_trap-handler_h  11 Mar 2022 19:29:08 -0000      
> 1.2
> +++ patches/patch-deps_v8_src_trap-handler_h  26 Nov 2022 21:20:55 -0000
> @@ -1,11 +1,16 @@
> ---- deps/v8/src/trap-handler/trap-handler.h.orig     Sat Jan  1 17:10:11 2022
> -+++ deps/v8/src/trap-handler/trap-handler.h  Sat Jan  1 17:10:11 2022
> -@@ -20,7 +20,7 @@ namespace trap_handler {
> - // X64 on Linux, Windows, MacOS, FreeBSD.
> +Index: deps/v8/src/trap-handler/trap-handler.h
> +--- deps/v8/src/trap-handler/trap-handler.h.orig
> ++++ deps/v8/src/trap-handler/trap-handler.h
> +@@ -17,10 +17,10 @@ namespace v8 {
> + namespace internal {
> + namespace trap_handler {
> + 
> +-// X64 on Linux, Windows, MacOS, FreeBSD.
> ++// X64 on Linux, Windows, MacOS, FreeBSD, OpenBSD
>   #if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 &&                        \
> -     ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_MACOSX || \
> +     ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_DARWIN || \
>  -     V8_OS_FREEBSD)
>  +     V8_OS_FREEBSD || V8_OS_OPENBSD)
>   #define V8_TRAP_HANDLER_SUPPORTED true
>   // Arm64 (non-simulator) on Mac.
> - #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_MACOSX
> + #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_DARWIN
> Index: patches/patch-deps_v8_src_trap-handler_handler-inside-posix_h
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_v8_src_trap-handler_handler-inside-posix_h,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_trap-handler_handler-inside-posix_h
> --- patches/patch-deps_v8_src_trap-handler_handler-inside-posix_h     11 Mar 
> 2022 19:29:08 -0000      1.2
> +++ patches/patch-deps_v8_src_trap-handler_handler-inside-posix_h     26 Nov 
> 2022 21:20:55 -0000
> @@ -1,5 +1,6 @@
> ---- deps/v8/src/trap-handler/handler-inside-posix.h.orig     Fri Jan  7 
> 17:53:40 2022
> -+++ deps/v8/src/trap-handler/handler-inside-posix.h  Sat Jan  1 17:10:11 2022
> +Index: deps/v8/src/trap-handler/handler-inside-posix.h
> +--- deps/v8/src/trap-handler/handler-inside-posix.h.orig
> ++++ deps/v8/src/trap-handler/handler-inside-posix.h
>  @@ -13,7 +13,7 @@ namespace v8 {
>   namespace internal {
>   namespace trap_handler {
> @@ -7,5 +8,5 @@
>  -#if V8_OS_LINUX || V8_OS_FREEBSD
>  +#if V8_OS_LINUX || V8_OS_FREEBSD || V8_OS_OPENBSD
>   constexpr int kOobSignal = SIGSEGV;
> - #elif V8_OS_MACOSX
> + #elif V8_OS_DARWIN
>   constexpr int kOobSignal = SIGBUS;
> Index: patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h
> --- patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h     
> 11 Mar 2022 19:29:08 -0000      1.2
> +++ patches/patch-deps_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32_h     
> 26 Nov 2022 21:20:55 -0000
> @@ -1,7 +1,7 @@
>  Index: deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
>  --- deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig
>  +++ deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
> -@@ -431,7 +431,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
> +@@ -434,7 +434,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
>   }
>   
>   void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
> @@ -10,7 +10,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                               LoadType type, LiftoffRegList pinned,
>                               uint32_t* protected_load_pc, bool is_load_mem,
>                               bool i64_offset) {
> -@@ -508,7 +508,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
> +@@ -511,7 +511,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
>   }
>   
>   void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
> @@ -19,7 +19,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                StoreType type, LiftoffRegList pinned,
>                                uint32_t* protected_store_pc, bool 
> is_store_mem) {
>     DCHECK_EQ(type.value_type() == kWasmI64, src.is_gp_pair());
> -@@ -576,7 +576,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
> +@@ -579,7 +579,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
>   }
>   
>   void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr,
> @@ -28,7 +28,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                     LoadType type, LiftoffRegList pinned) {
>     if (type.value() != LoadType::kI64Load) {
>       Load(dst, src_addr, offset_reg, offset_imm, type, pinned, nullptr, 
> true);
> -@@ -595,7 +595,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
> +@@ -598,7 +598,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
>   }
>   
>   void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg,
> @@ -37,7 +37,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                      StoreType type, LiftoffRegList pinned) {
>     DCHECK_NE(offset_reg, no_reg);
>     DCHECK_LE(offset_imm, std::numeric_limits<int32_t>::max());
> -@@ -937,7 +937,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
> +@@ -938,7 +938,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
>   }  // namespace liftoff
>   
>   void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg,
> @@ -46,7 +46,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                    LiftoffRegister result, StoreType type) {
>     if (type.value() == StoreType::kI64Store) {
>       liftoff::AtomicBinop64(this, liftoff::kAdd, dst_addr, offset_reg,
> -@@ -950,7 +950,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
> +@@ -951,7 +951,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
>   }
>   
>   void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg,
> @@ -55,7 +55,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                    LiftoffRegister result, StoreType type) {
>     if (type.value() == StoreType::kI64Store) {
>       liftoff::AtomicBinop64(this, liftoff::kSub, dst_addr, offset_reg,
> -@@ -962,7 +962,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
> +@@ -963,7 +963,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
>   }
>   
>   void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg,
> @@ -64,7 +64,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                    LiftoffRegister result, StoreType type) {
>     if (type.value() == StoreType::kI64Store) {
>       liftoff::AtomicBinop64(this, liftoff::kAnd, dst_addr, offset_reg,
> -@@ -975,7 +975,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
> +@@ -976,7 +976,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
>   }
>   
>   void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg,
> @@ -73,7 +73,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                   LiftoffRegister result, StoreType type) {
>     if (type.value() == StoreType::kI64Store) {
>       liftoff::AtomicBinop64(this, liftoff::kOr, dst_addr, offset_reg, 
> offset_imm,
> -@@ -988,7 +988,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
> +@@ -989,7 +989,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
>   }
>   
>   void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg,
> @@ -82,7 +82,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                    LiftoffRegister result, StoreType type) {
>     if (type.value() == StoreType::kI64Store) {
>       liftoff::AtomicBinop64(this, liftoff::kXor, dst_addr, offset_reg,
> -@@ -1001,7 +1001,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
> +@@ -1002,7 +1002,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
>   }
>   
>   void LiftoffAssembler::AtomicExchange(Register dst_addr, Register 
> offset_reg,
> @@ -91,7 +91,7 @@ Index: deps/v8/src/wasm/baseline/ia32/li
>                                         LiftoffRegister value,
>                                         LiftoffRegister result, StoreType 
> type) {
>     if (type.value() == StoreType::kI64Store) {
> -@@ -1015,7 +1015,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
> +@@ -1016,7 +1016,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
>   }
>   
>   void LiftoffAssembler::AtomicCompareExchange(
> Index: patches/patch-lib_internal_modules_cjs_loader_js
> ===================================================================
> RCS file: 
> /cvs/ports/lang/node/patches/patch-lib_internal_modules_cjs_loader_js,v
> retrieving revision 1.8
> diff -u -p -r1.8 patch-lib_internal_modules_cjs_loader_js
> --- patches/patch-lib_internal_modules_cjs_loader_js  1 Sep 2022 20:42:56 
> -0000       1.8
> +++ patches/patch-lib_internal_modules_cjs_loader_js  26 Nov 2022 21:20:55 
> -0000
> @@ -1,7 +1,7 @@
>  Index: lib/internal/modules/cjs/loader.js
>  --- lib/internal/modules/cjs/loader.js.orig
>  +++ lib/internal/modules/cjs/loader.js
> -@@ -1261,7 +1261,10 @@ Module._initPaths = function() {
> +@@ -1294,7 +1294,10 @@ Module._initPaths = function() {
>       path.resolve(process.execPath, '..') :
>       path.resolve(process.execPath, '..', '..');
>   
> Index: patches/patch-lib_net_js
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-lib_net_js,v
> retrieving revision 1.5
> diff -u -p -r1.5 patch-lib_net_js
> --- patches/patch-lib_net_js  1 Sep 2022 20:42:56 -0000       1.5
> +++ patches/patch-lib_net_js  26 Nov 2022 21:20:55 -0000
> @@ -13,7 +13,7 @@ for "any address" but that's not really 
>  Index: lib/net.js
>  --- lib/net.js.orig
>  +++ lib/net.js
> -@@ -1394,22 +1394,12 @@ function setupListenHandle(address, port, 
> addressType,
> +@@ -1447,22 +1447,12 @@ function setupListenHandle(address, port, 
> addressType,
>   
>       let rval = null;
>   
> Index: patches/patch-node_gyp
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-node_gyp,v
> retrieving revision 1.15
> diff -u -p -r1.15 patch-node_gyp
> --- patches/patch-node_gyp    23 Sep 2022 19:28:50 -0000      1.15
> +++ patches/patch-node_gyp    26 Nov 2022 21:20:55 -0000
> @@ -1,34 +1,14 @@
>  Index: node.gyp
>  --- node.gyp.orig
>  +++ node.gyp
> -@@ -405,7 +405,7 @@
> -         '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
> -       ],
> -       'dependencies': [
> --        'deps/googletest/googletest.gyp:gtest_prod',
> -+        # 'deps/googletest/googletest.gyp:gtest_prod',
> -         'deps/histogram/histogram.gyp:histogram',
> -         'deps/uvwasi/uvwasi.gyp:uvwasi',
> -       ],
> -@@ -1132,8 +1132,8 @@
> - 
> -       'dependencies': [
> -         '<(node_lib_target_name)',
> --        'deps/googletest/googletest.gyp:gtest',
> --        'deps/googletest/googletest.gyp:gtest_main',
> -+        #'deps/googletest/googletest.gyp:gtest',
> -+        #'deps/googletest/googletest.gyp:gtest_main',
> -         'deps/histogram/histogram.gyp:histogram',
> -         'deps/uvwasi/uvwasi.gyp:uvwasi',
> -         'node_dtrace_header',
> -@@ -1207,6 +1207,10 @@
> -         }],
> +@@ -1270,6 +1270,10 @@
>           ['OS=="solaris"', {
>             'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
> -+        }],
> +         }],
>  +        # Skip cctest while building for OpenBSD
>  +        [ 'OS=="openbsd"', {
>  +          'type': 'none',
> -         }],
> ++        }],
>           # Skip cctest while building shared lib node for Windows
>           [ 'OS=="win" and node_shared=="true"', {
> +           'type': 'none',
> Index: patches/patch-src_cares_wrap_h
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-src_cares_wrap_h,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-src_cares_wrap_h
> --- patches/patch-src_cares_wrap_h    11 Mar 2022 19:29:08 -0000      1.2
> +++ patches/patch-src_cares_wrap_h    26 Nov 2022 21:20:55 -0000
> @@ -1,6 +1,7 @@
> ---- src/cares_wrap.h.orig    Fri Jan  7 14:55:32 2022
> -+++ src/cares_wrap.h Fri Jan  7 15:58:22 2022
> -@@ -520,4 +520,109 @@ using GetHostByAddrWrap = QueryWrap<ReverseTraits>;
> +Index: src/cares_wrap.h
> +--- src/cares_wrap.h.orig
> ++++ src/cares_wrap.h
> +@@ -521,4 +521,109 @@ using GetHostByAddrWrap = QueryWrap<ReverseTraits>;
>   
>   #endif  // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
>   
> Index: patches/patch-src_env_cc
> ===================================================================
> RCS file: /cvs/ports/lang/node/patches/patch-src_env_cc,v
> retrieving revision 1.3
> diff -u -p -r1.3 patch-src_env_cc
> --- patches/patch-src_env_cc  1 Sep 2022 20:42:56 -0000       1.3
> +++ patches/patch-src_env_cc  26 Nov 2022 21:20:55 -0000
> @@ -1,7 +1,7 @@
>  Index: src/env.cc
>  --- src/env.cc.orig
>  +++ src/env.cc
> -@@ -695,29 +695,7 @@ void Environment::CreateProperties() {
> +@@ -630,29 +630,7 @@ void Environment::CreateProperties() {
>   }
>   
>   std::string GetExecPath(const std::vector<std::string>& argv) {
> 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.7
> diff -u -p -r1.7 patch-tools_v8_gypfiles_v8_gyp
> --- patches/patch-tools_v8_gypfiles_v8_gyp    1 Sep 2022 20:42:56 -0000       
> 1.7
> +++ patches/patch-tools_v8_gypfiles_v8_gyp    27 Nov 2022 09:28:33 -0000
> @@ -7,7 +7,16 @@ from "0.0" if llvm (clang) is detected.
>  Index: tools/v8_gypfiles/v8.gyp
>  --- tools/v8_gypfiles/v8.gyp.orig
>  +++ tools/v8_gypfiles/v8.gyp
> -@@ -796,7 +796,7 @@
> +@@ -581,7 +581,7 @@
> +               }],
> +               ['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"', {
> +                     'sources': [
> +                       '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  
> "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == 
> \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
> +                     ],
> +@@ -821,7 +821,7 @@
>               }],
>               ['v8_enable_webassembly==1', {
>                 'conditions': [
> @@ -16,12 +25,12 @@ Index: tools/v8_gypfiles/v8.gyp
>                     'sources': [
>                       '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  
> "\\"v8_base_without_compiler.*?v8_current_cpu == 
> \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
>                     ],
> -@@ -947,7 +947,7 @@
> +@@ -979,7 +979,7 @@
>           }],
>           # Platforms that don't have Compare-And-Swap (CAS) support need to 
> link atomic library
>           # to implement atomic memory access
> --        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", 
> "arm", "riscv64"]', {
> -+        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", 
> "arm", "riscv64"] and llvm_version == "0.0"', {
> +-        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", 
> "arm", "riscv64", "loong64"]', {
> ++        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", 
> "arm", "riscv64", "loong64"] and llvm_version == "0.0"', {
>             'link_settings': {
>               'libraries': ['-latomic', ],
>             },
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/lang/node/pkg/PLIST,v
> retrieving revision 1.52
> diff -u -p -r1.52 PLIST
> --- pkg/PLIST 1 Nov 2022 12:01:49 -0000       1.52
> +++ pkg/PLIST 26 Nov 2022 21:20:55 -0000
> @@ -20,10 +20,53 @@ 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-array-buffer.h
> +include/node/v8-callbacks.h
> +include/node/v8-container.h
> +include/node/v8-context.h
> +include/node/v8-data.h
> +include/node/v8-date.h
> +include/node/v8-debug.h
> +include/node/v8-embedder-heap.h
> +include/node/v8-embedder-state-scope.h
> +include/node/v8-exception.h
> +include/node/v8-extension.h
> +include/node/v8-external.h
> +include/node/v8-forward.h
> +include/node/v8-function-callback.h
> +include/node/v8-function.h
> +include/node/v8-initialization.h
>  include/node/v8-internal.h
> +include/node/v8-isolate.h
> +include/node/v8-json.h
> +include/node/v8-local-handle.h
> +include/node/v8-locker.h
> +include/node/v8-maybe.h
> +include/node/v8-memory-span.h
> +include/node/v8-message.h
> +include/node/v8-microtask-queue.h
> +include/node/v8-microtask.h
> +include/node/v8-object.h
> +include/node/v8-persistent-handle.h
>  include/node/v8-platform.h
> +include/node/v8-primitive-object.h
> +include/node/v8-primitive.h
>  include/node/v8-profiler.h
> +include/node/v8-promise.h
> +include/node/v8-proxy.h
> +include/node/v8-regexp.h
> +include/node/v8-script.h
> +include/node/v8-snapshot.h
> +include/node/v8-statistics.h
> +include/node/v8-template.h
> +include/node/v8-traced-handle.h
> +include/node/v8-typed-array.h
> +include/node/v8-unwinder.h
> +include/node/v8-value-serializer.h
> +include/node/v8-value.h
>  include/node/v8-version.h
> +include/node/v8-wasm.h
> +include/node/v8-weak-callback-info.h
>  include/node/v8.h
>  include/node/v8config.h
>  lib/node_modules/
> @@ -121,6 +164,7 @@ lib/node_modules/@npmcli/arborist/lib/ov
>  lib/node_modules/@npmcli/arborist/lib/peer-entry-sets.js
>  lib/node_modules/@npmcli/arborist/lib/place-dep.js
>  lib/node_modules/@npmcli/arborist/lib/printable.js
> +lib/node_modules/@npmcli/arborist/lib/query-selector-all.js
>  lib/node_modules/@npmcli/arborist/lib/realpath.js
>  lib/node_modules/@npmcli/arborist/lib/relpath.js
>  lib/node_modules/@npmcli/arborist/lib/reset-dep-flags.js
> @@ -161,9 +205,6 @@ lib/node_modules/@npmcli/fs/
>  lib/node_modules/@npmcli/fs/LICENSE.md
>  lib/node_modules/@npmcli/fs/lib/
>  lib/node_modules/@npmcli/fs/lib/common/
> -lib/node_modules/@npmcli/fs/lib/common/file-url-to-path/
> -lib/node_modules/@npmcli/fs/lib/common/file-url-to-path/index.js
> -lib/node_modules/@npmcli/fs/lib/common/file-url-to-path/polyfill.js
>  lib/node_modules/@npmcli/fs/lib/common/get-options.js
>  lib/node_modules/@npmcli/fs/lib/common/node.js
>  lib/node_modules/@npmcli/fs/lib/common/owner-sync.js
> @@ -176,9 +217,7 @@ lib/node_modules/@npmcli/fs/lib/cp/polyf
>  lib/node_modules/@npmcli/fs/lib/errors.js
>  lib/node_modules/@npmcli/fs/lib/fs.js
>  lib/node_modules/@npmcli/fs/lib/index.js
> -lib/node_modules/@npmcli/fs/lib/mkdir/
> -lib/node_modules/@npmcli/fs/lib/mkdir/index.js
> -lib/node_modules/@npmcli/fs/lib/mkdir/polyfill.js
> +lib/node_modules/@npmcli/fs/lib/mkdir.js
>  lib/node_modules/@npmcli/fs/lib/mkdtemp.js
>  lib/node_modules/@npmcli/fs/lib/rm/
>  lib/node_modules/@npmcli/fs/lib/rm/index.js
> @@ -209,6 +248,11 @@ lib/node_modules/@npmcli/installed-packa
>  lib/node_modules/@npmcli/installed-package-contents/LICENSE
>  lib/node_modules/@npmcli/installed-package-contents/README.md
>  lib/node_modules/@npmcli/installed-package-contents/index.js
> +lib/node_modules/@npmcli/installed-package-contents/node_modules/
> +lib/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled/
> +lib/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled/LICENSE
> +lib/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled/index.js
> +lib/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled/package.json
>  lib/node_modules/@npmcli/installed-package-contents/package.json
>  lib/node_modules/@npmcli/map-workspaces/
>  lib/node_modules/@npmcli/map-workspaces/LICENSE.md
> @@ -249,6 +293,11 @@ lib/node_modules/@npmcli/promise-spawn/L
>  lib/node_modules/@npmcli/promise-spawn/lib/
>  lib/node_modules/@npmcli/promise-spawn/lib/index.js
>  lib/node_modules/@npmcli/promise-spawn/package.json
> +lib/node_modules/@npmcli/query/
> +lib/node_modules/@npmcli/query/LICENSE
> +lib/node_modules/@npmcli/query/lib/
> +lib/node_modules/@npmcli/query/lib/index.js
> +lib/node_modules/@npmcli/query/package.json
>  lib/node_modules/@npmcli/run-script/
>  lib/node_modules/@npmcli/run-script/LICENSE
>  lib/node_modules/@npmcli/run-script/lib/
> @@ -376,6 +425,12 @@ lib/node_modules/bin-links/lib/link-gent
>  lib/node_modules/bin-links/lib/link-mans.js
>  lib/node_modules/bin-links/lib/man-target.js
>  lib/node_modules/bin-links/lib/shim-bin.js
> +lib/node_modules/bin-links/node_modules/
> +lib/node_modules/bin-links/node_modules/npm-normalize-package-bin/
> +lib/node_modules/bin-links/node_modules/npm-normalize-package-bin/LICENSE
> +lib/node_modules/bin-links/node_modules/npm-normalize-package-bin/lib/
> +lib/node_modules/bin-links/node_modules/npm-normalize-package-bin/lib/index.js
> +lib/node_modules/bin-links/node_modules/npm-normalize-package-bin/package.json
>  lib/node_modules/bin-links/package.json
>  lib/node_modules/binary-extensions/
>  lib/node_modules/binary-extensions/binary-extensions.json
> @@ -566,6 +621,15 @@ lib/node_modules/corepack/shims/yarn.ps1
>  lib/node_modules/corepack/shims/yarnpkg
>  lib/node_modules/corepack/shims/yarnpkg.cmd
>  lib/node_modules/corepack/shims/yarnpkg.ps1
> +lib/node_modules/cssesc/
> +lib/node_modules/cssesc/LICENSE-MIT.txt
> +lib/node_modules/cssesc/README.md
> +lib/node_modules/cssesc/bin/
> +lib/node_modules/cssesc/bin/cssesc
> +lib/node_modules/cssesc/cssesc.js
> +lib/node_modules/cssesc/man/
> +lib/node_modules/cssesc/man/cssesc.1
> +lib/node_modules/cssesc/package.json
>  lib/node_modules/debug/
>  lib/node_modules/debug/LICENSE
>  lib/node_modules/debug/node_modules/
> @@ -618,6 +682,7 @@ lib/node_modules/diff/CONTRIBUTING.md
>  lib/node_modules/diff/LICENSE
>  lib/node_modules/diff/dist/
>  lib/node_modules/diff/dist/diff.js
> +lib/node_modules/diff/dist/diff.min.js
>  lib/node_modules/diff/lib/
>  lib/node_modules/diff/lib/convert/
>  lib/node_modules/diff/lib/convert/dmp.js
> @@ -934,7 +999,6 @@ lib/node_modules/libnpmexec/
>  lib/node_modules/libnpmexec/LICENSE
>  lib/node_modules/libnpmexec/README.md
>  lib/node_modules/libnpmexec/lib/
> -lib/node_modules/libnpmexec/lib/cache-install-dir.js
>  lib/node_modules/libnpmexec/lib/file-exists.js
>  lib/node_modules/libnpmexec/lib/get-bin-from-manifest.js
>  lib/node_modules/libnpmexec/lib/index.js
> @@ -1305,6 +1369,15 @@ lib/node_modules/node-gyp/node_modules/m
>  lib/node_modules/node-gyp/node_modules/minimatch/LICENSE
>  lib/node_modules/node-gyp/node_modules/minimatch/minimatch.js
>  lib/node_modules/node-gyp/node_modules/minimatch/package.json
> +lib/node_modules/node-gyp/node_modules/nopt/
> +lib/node_modules/node-gyp/node_modules/nopt/CHANGELOG.md
> +lib/node_modules/node-gyp/node_modules/nopt/LICENSE
> +lib/node_modules/node-gyp/node_modules/nopt/README.md
> +lib/node_modules/node-gyp/node_modules/nopt/bin/
> +lib/node_modules/node-gyp/node_modules/nopt/bin/nopt.js
> +lib/node_modules/node-gyp/node_modules/nopt/lib/
> +lib/node_modules/node-gyp/node_modules/nopt/lib/nopt.js
> +lib/node_modules/node-gyp/node_modules/nopt/package.json
>  lib/node_modules/node-gyp/package.json
>  lib/node_modules/node-gyp/src/
>  lib/node_modules/node-gyp/src/win_delay_load_hook.cc
> @@ -1319,6 +1392,8 @@ lib/node_modules/node-pledge/build/Relea
>  @bin lib/node_modules/node-pledge/build/Release/pledge.node
>  lib/node_modules/node-pledge/build/binding.Makefile
>  lib/node_modules/node-pledge/build/config.gypi
> +lib/node_modules/node-pledge/build/node_gyp_bins/
> +@bin lib/node_modules/node-pledge/build/node_gyp_bins/python3
>  lib/node_modules/node-pledge/build/pledge.target.mk
>  lib/node_modules/node-pledge/examples/
>  lib/node_modules/node-pledge/examples/ddg
> @@ -1330,7 +1405,6 @@ lib/node_modules/node-pledge/pledge_10x.
>  lib/node_modules/node-pledge/test.js
>  lib/node_modules/node-pledge/version.js
>  lib/node_modules/nopt/
> -lib/node_modules/nopt/CHANGELOG.md
>  lib/node_modules/nopt/LICENSE
>  lib/node_modules/nopt/README.md
>  lib/node_modules/nopt/bin/
> @@ -1364,7 +1438,14 @@ lib/node_modules/npm-audit-report/lib/re
>  lib/node_modules/npm-audit-report/package.json
>  lib/node_modules/npm-bundled/
>  lib/node_modules/npm-bundled/LICENSE
> -lib/node_modules/npm-bundled/index.js
> +lib/node_modules/npm-bundled/lib/
> +lib/node_modules/npm-bundled/lib/index.js
> +lib/node_modules/npm-bundled/node_modules/
> +lib/node_modules/npm-bundled/node_modules/npm-normalize-package-bin/
> +lib/node_modules/npm-bundled/node_modules/npm-normalize-package-bin/LICENSE
> +lib/node_modules/npm-bundled/node_modules/npm-normalize-package-bin/lib/
> +lib/node_modules/npm-bundled/node_modules/npm-normalize-package-bin/lib/index.js
> +lib/node_modules/npm-bundled/node_modules/npm-normalize-package-bin/package.json
>  lib/node_modules/npm-bundled/package.json
>  lib/node_modules/npm-install-checks/
>  lib/node_modules/npm-install-checks/LICENSE
> @@ -1388,11 +1469,23 @@ lib/node_modules/npm-packlist/bin/
>  lib/node_modules/npm-packlist/bin/index.js
>  lib/node_modules/npm-packlist/lib/
>  lib/node_modules/npm-packlist/lib/index.js
> +lib/node_modules/npm-packlist/node_modules/
> +lib/node_modules/npm-packlist/node_modules/npm-normalize-package-bin/
> +lib/node_modules/npm-packlist/node_modules/npm-normalize-package-bin/LICENSE
> +lib/node_modules/npm-packlist/node_modules/npm-normalize-package-bin/lib/
> +lib/node_modules/npm-packlist/node_modules/npm-normalize-package-bin/lib/index.js
> +lib/node_modules/npm-packlist/node_modules/npm-normalize-package-bin/package.json
>  lib/node_modules/npm-packlist/package.json
>  lib/node_modules/npm-pick-manifest/
>  lib/node_modules/npm-pick-manifest/LICENSE.md
>  lib/node_modules/npm-pick-manifest/lib/
>  lib/node_modules/npm-pick-manifest/lib/index.js
> +lib/node_modules/npm-pick-manifest/node_modules/
> +lib/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin/
> +lib/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin/LICENSE
> +lib/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin/lib/
> +lib/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin/lib/index.js
> +lib/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin/package.json
>  lib/node_modules/npm-pick-manifest/package.json
>  lib/node_modules/npm-profile/
>  lib/node_modules/npm-profile/LICENSE.md
> @@ -1470,6 +1563,7 @@ lib/node_modules/npm/docs/content/comman
>  lib/node_modules/npm/docs/content/commands/npm-profile.md
>  lib/node_modules/npm/docs/content/commands/npm-prune.md
>  lib/node_modules/npm/docs/content/commands/npm-publish.md
> +lib/node_modules/npm/docs/content/commands/npm-query.md
>  lib/node_modules/npm/docs/content/commands/npm-rebuild.md
>  lib/node_modules/npm/docs/content/commands/npm-repo.md
>  lib/node_modules/npm/docs/content/commands/npm-restart.md
> @@ -1503,6 +1597,7 @@ lib/node_modules/npm/docs/content/config
>  lib/node_modules/npm/docs/content/configuring-npm/package-lock-json.md
>  lib/node_modules/npm/docs/content/using-npm/
>  lib/node_modules/npm/docs/content/using-npm/config.md
> +lib/node_modules/npm/docs/content/using-npm/dependency-selectors.md
>  lib/node_modules/npm/docs/content/using-npm/developers.md
>  lib/node_modules/npm/docs/content/using-npm/logging.md
>  lib/node_modules/npm/docs/content/using-npm/orgs.md
> @@ -1555,6 +1650,7 @@ lib/node_modules/npm/docs/output/command
>  lib/node_modules/npm/docs/output/commands/npm-profile.html
>  lib/node_modules/npm/docs/output/commands/npm-prune.html
>  lib/node_modules/npm/docs/output/commands/npm-publish.html
> +lib/node_modules/npm/docs/output/commands/npm-query.html
>  lib/node_modules/npm/docs/output/commands/npm-rebuild.html
>  lib/node_modules/npm/docs/output/commands/npm-repo.html
>  lib/node_modules/npm/docs/output/commands/npm-restart.html
> @@ -1588,6 +1684,7 @@ lib/node_modules/npm/docs/output/configu
>  lib/node_modules/npm/docs/output/configuring-npm/package-lock-json.html
>  lib/node_modules/npm/docs/output/using-npm/
>  lib/node_modules/npm/docs/output/using-npm/config.html
> +lib/node_modules/npm/docs/output/using-npm/dependency-selectors.html
>  lib/node_modules/npm/docs/output/using-npm/developers.html
>  lib/node_modules/npm/docs/output/using-npm/logging.html
>  lib/node_modules/npm/docs/output/using-npm/orgs.html
> @@ -1652,6 +1749,7 @@ lib/node_modules/npm/lib/commands/prefix
>  lib/node_modules/npm/lib/commands/profile.js
>  lib/node_modules/npm/lib/commands/prune.js
>  lib/node_modules/npm/lib/commands/publish.js
> +lib/node_modules/npm/lib/commands/query.js
>  lib/node_modules/npm/lib/commands/rebuild.js
>  lib/node_modules/npm/lib/commands/repo.js
>  lib/node_modules/npm/lib/commands/restart.js
> @@ -1675,8 +1773,6 @@ lib/node_modules/npm/lib/commands/update
>  lib/node_modules/npm/lib/commands/version.js
>  lib/node_modules/npm/lib/commands/view.js
>  lib/node_modules/npm/lib/commands/whoami.js
> -lib/node_modules/npm/lib/exec/
> -lib/node_modules/npm/lib/exec/get-workspace-location-msg.js
>  lib/node_modules/npm/lib/lifecycle-cmd.js
>  lib/node_modules/npm/lib/npm.js
>  lib/node_modules/npm/lib/package-url-cmd.js
> @@ -1768,6 +1864,7 @@ lib/node_modules/npm/man/man1/
>  @man lib/node_modules/npm/man/man1/npm-profile.1
>  @man lib/node_modules/npm/man/man1/npm-prune.1
>  @man lib/node_modules/npm/man/man1/npm-publish.1
> +@man lib/node_modules/npm/man/man1/npm-query.1
>  @man lib/node_modules/npm/man/man1/npm-rebuild.1
>  @man lib/node_modules/npm/man/man1/npm-repo.1
>  @man lib/node_modules/npm/man/man1/npm-restart.1
> @@ -1801,6 +1898,7 @@ lib/node_modules/npm/man/man5/
>  @man lib/node_modules/npm/man/man5/package-lock-json.5
>  lib/node_modules/npm/man/man7/
>  @man lib/node_modules/npm/man/man7/config.7
> +@man lib/node_modules/npm/man/man7/dependency-selectors.7
>  @man lib/node_modules/npm/man/man7/developers.7
>  @man lib/node_modules/npm/man/man7/logging.7
>  @man lib/node_modules/npm/man/man7/orgs.7
> @@ -1847,6 +1945,7 @@ lib/node_modules/npm/node_modules/column
>  lib/node_modules/npm/node_modules/common-ancestor-path
>  lib/node_modules/npm/node_modules/concat-map
>  lib/node_modules/npm/node_modules/console-control-strings
> +lib/node_modules/npm/node_modules/cssesc
>  lib/node_modules/npm/node_modules/debug
>  lib/node_modules/npm/node_modules/debuglog
>  lib/node_modules/npm/node_modules/defaults
> @@ -1942,6 +2041,7 @@ lib/node_modules/npm/node_modules/p-map
>  lib/node_modules/npm/node_modules/pacote
>  lib/node_modules/npm/node_modules/parse-conflict-json
>  lib/node_modules/npm/node_modules/path-is-absolute
> +lib/node_modules/npm/node_modules/postcss-selector-parser
>  lib/node_modules/npm/node_modules/proc-log
>  lib/node_modules/npm/node_modules/promise-all-reject-late
>  lib/node_modules/npm/node_modules/promise-call-limit
> @@ -2044,6 +2144,44 @@ lib/node_modules/path-is-absolute/index.
>  lib/node_modules/path-is-absolute/license
>  lib/node_modules/path-is-absolute/package.json
>  lib/node_modules/path-is-absolute/readme.md
> +lib/node_modules/postcss-selector-parser/
> +lib/node_modules/postcss-selector-parser/API.md
> +lib/node_modules/postcss-selector-parser/LICENSE-MIT
> +lib/node_modules/postcss-selector-parser/dist/
> +lib/node_modules/postcss-selector-parser/dist/index.js
> +lib/node_modules/postcss-selector-parser/dist/parser.js
> +lib/node_modules/postcss-selector-parser/dist/processor.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/
> +lib/node_modules/postcss-selector-parser/dist/selectors/attribute.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/className.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/combinator.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/comment.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/constructors.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/container.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/guards.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/id.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/index.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/namespace.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/nesting.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/node.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/pseudo.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/root.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/selector.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/string.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/tag.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/types.js
> +lib/node_modules/postcss-selector-parser/dist/selectors/universal.js
> +lib/node_modules/postcss-selector-parser/dist/sortAscending.js
> +lib/node_modules/postcss-selector-parser/dist/tokenTypes.js
> +lib/node_modules/postcss-selector-parser/dist/tokenize.js
> +lib/node_modules/postcss-selector-parser/dist/util/
> +lib/node_modules/postcss-selector-parser/dist/util/ensureObject.js
> +lib/node_modules/postcss-selector-parser/dist/util/getProp.js
> +lib/node_modules/postcss-selector-parser/dist/util/index.js
> +lib/node_modules/postcss-selector-parser/dist/util/stripComments.js
> +lib/node_modules/postcss-selector-parser/dist/util/unesc.js
> +lib/node_modules/postcss-selector-parser/package.json
> +lib/node_modules/postcss-selector-parser/postcss-selector-parser.d.ts
>  lib/node_modules/proc-log/
>  lib/node_modules/proc-log/LICENSE
>  lib/node_modules/proc-log/lib/
> @@ -2118,6 +2256,12 @@ lib/node_modules/read-package-json-fast/
>  lib/node_modules/read-package-json/LICENSE
>  lib/node_modules/read-package-json/lib/
>  lib/node_modules/read-package-json/lib/read-json.js
> +lib/node_modules/read-package-json/node_modules/
> +lib/node_modules/read-package-json/node_modules/npm-normalize-package-bin/
> +lib/node_modules/read-package-json/node_modules/npm-normalize-package-bin/LICENSE
> +lib/node_modules/read-package-json/node_modules/npm-normalize-package-bin/lib/
> +lib/node_modules/read-package-json/node_modules/npm-normalize-package-bin/lib/index.js
> +lib/node_modules/read-package-json/node_modules/npm-normalize-package-bin/package.json
>  lib/node_modules/read-package-json/package.json
>  lib/node_modules/read/LICENSE
>  lib/node_modules/read/lib/
> @@ -2444,21 +2588,13 @@ lib/node_modules/treeverse/lib/index.js
>  lib/node_modules/treeverse/package.json
>  lib/node_modules/unique-filename/
>  lib/node_modules/unique-filename/LICENSE
> -lib/node_modules/unique-filename/coverage/
> -lib/node_modules/unique-filename/coverage/__root__/
> -lib/node_modules/unique-filename/coverage/__root__/index.html
> -lib/node_modules/unique-filename/coverage/__root__/index.js.html
> -lib/node_modules/unique-filename/coverage/base.css
> -lib/node_modules/unique-filename/coverage/index.html
> -lib/node_modules/unique-filename/coverage/prettify.css
> -lib/node_modules/unique-filename/coverage/prettify.js
> -lib/node_modules/unique-filename/coverage/sort-arrow-sprite.png
> -lib/node_modules/unique-filename/coverage/sorter.js
> -lib/node_modules/unique-filename/index.js
> +lib/node_modules/unique-filename/lib/
> +lib/node_modules/unique-filename/lib/index.js
>  lib/node_modules/unique-filename/package.json
>  lib/node_modules/unique-slug/
>  lib/node_modules/unique-slug/LICENSE
> -lib/node_modules/unique-slug/index.js
> +lib/node_modules/unique-slug/lib/
> +lib/node_modules/unique-slug/lib/index.js
>  lib/node_modules/unique-slug/package.json
>  lib/node_modules/util-deprecate/
>  lib/node_modules/util-deprecate/History.md

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to