git: 5f85ab6096e9 - main - www/node25: Add node25 25.0.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 27 Oct 2025 14:37:45 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5f85ab6096e9e85f4a4b286172b6b5344b1de34b

commit 5f85ab6096e9e85f4a4b286172b6b5344b1de34b
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-10-27 14:35:23 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-10-27 14:35:23 +0000

    www/node25: Add node25 25.0.0
    
    Node.js is a free, open-source, cross-platform JavaScript runtime environment
    that lets developers create servers, web apps, command line tools and scripts.
---
 www/Makefile                                       |   1 +
 www/node25/Makefile                                | 113 +++++++++++++++++++++
 www/node25/Makefile.version                        |   1 +
 www/node25/distinfo                                |   3 +
 www/node25/files/patch-armv7                       |  12 +++
 .../patch-deps-openssl-openssl-cl_no_asm.gypi      |  17 ++++
 .../files/patch-deps-openssl-openssl_no_asm.gypi   |  11 ++
 ...h-deps-v8-src-base-platform-platform-freebsd.cc |  13 +++
 .../files/patch-deps-v8-src-codegen-arm-cpu-arm.cc |  18 ++++
 .../patch-deps-v8-src-codegen-ppc-constants-ppc.h  |  20 ++++
 .../files/patch-deps-v8-src-libsampler-sampler.cc  |  13 +++
 www/node25/files/patch-deps_v8_include_v8config.h  |  11 ++
 ...tch-deps_v8_src_base_platform_platform-posix.cc |  12 +++
 www/node25/files/patch-node.gypi                   |  12 +++
 www/node25/files/patch-src-cares_wrap.h            |  11 ++
 www/node25/pkg-descr                               |   2 +
 www/node25/pkg-message                             |   7 ++
 www/node25/pkg-plist                               | 112 ++++++++++++++++++++
 18 files changed, 389 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 9f9598c3f450..163483c2f171 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -508,6 +508,7 @@
     SUBDIR += node20
     SUBDIR += node22
     SUBDIR += node24
+    SUBDIR += node25
     SUBDIR += nostromo
     SUBDIR += novnc
     SUBDIR += npc
diff --git a/www/node25/Makefile b/www/node25/Makefile
new file mode 100644
index 000000000000..8b350a96b435
--- /dev/null
+++ b/www/node25/Makefile
@@ -0,0 +1,113 @@
+PORTNAME=	node
+PORTVERSION=	${NODEJS_PORTVERSION}
+DISTVERSIONPREFIX=	v
+CATEGORIES=	www
+MASTER_SITES=	https://nodejs.org/dist/v${PORTVERSION}/
+PKGNAMESUFFIX=	${PORTVERSION:R:R}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	V8 JavaScript for client and server
+WWW=		https://nodejs.org/ \
+		https://github.com/nodejs/node
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BROKEN_SSL=	libressl libressl-devel
+BROKEN_SSL_REASON=	Node.js ${PORTVERSION:R:R}.x requires OpenSSL or the BUNDLED_SSL option enabled
+ONLY_FOR_ARCHS=	aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le
+
+BUILD_DEPENDS=	objdump:devel/binutils
+LIB_DEPENDS=	libbrotlidec.so:archivers/brotli \
+		libcares.so:dns/c-ares \
+		libicui18n.so:devel/icu \
+		libllhttp.so:www/llhttp \
+		libnghttp2.so:www/libnghttp2 \
+		libnghttp3.so:www/libnghttp3 \
+		libngtcp2.so:net/libngtcp2 \
+		libsimdjson.so:devel/simdjson \
+		libuv.so:devel/libuv \
+		libzstd.so:archivers/zstd
+RUN_DEPENDS=	corepack>=0:www/corepack
+
+USES=		compiler:c++11-lang gmake localbase pkgconfig python:build shebangfix tar:xz
+
+CONFIGURE_ARGS=	--prefix=${PREFIX:S|^${DESTDIR}||} \
+		--shared-brotli \
+		--shared-cares \
+		--shared-http-parser \
+		--shared-libuv \
+		--shared-nghttp2 \
+		--shared-nghttp3 \
+		--shared-ngtcp2 \
+		--shared-simdjson \
+		--shared-zlib \
+		--shared-zstd \
+		--with-intl=system-icu \
+		--without-npm
+CXXFLAGS_powerpc64=	-mpower8-vector
+HAS_CONFIGURE=	yes
+MAKE_ENV=	CC.host="${CCACHE_BIN} ${CC}" \
+		CFLAGS.host="${CFLAGS}" \
+		CXX.host="${CCACHE_BIN} ${CXX}" \
+		CXXFLAGS.host="${CXXFLAGS}" \
+		LDFLAGS.host="${LDFLAGS}" \
+		LINK.host="${CXX}"
+REINPLACE_ARGS=	-i ''
+
+CONFLICTS_INSTALL=	node[0-9][0-9]
+
+SHEBANG_FILES=	deps/v8/third_party/inspector_protocol/*.py \
+		deps/v8/tools/*.py \
+		tools/*.py \
+		tools/inspector_protocol/*.py
+
+OPTIONS_DEFINE=	BUNDLED_SSL DOCS JIT
+OPTIONS_DEFAULT=JIT
+OPTIONS_SUB=	yes
+BUNDLED_SSL_DESC=	Use bundled OpenSSL implementation from node.js
+JIT_DESC=		Use Just In Time compiler
+
+BUNDLED_SSL_CONFIGURE_OFF=	--openssl-use-def-ca-store --shared-openssl
+BUNDLED_SSL_RUN_DEPENDS_OFF=	ca_root_nss>=0:security/ca_root_nss
+BUNDLED_SSL_USES_OFF=	ssl
+JIT_CONFIGURE_OFF=	--v8-lite-mode
+
+.include "Makefile.version"
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MBUNDLED_SSL} && ${ARCH} != amd64
+CONFIGURE_ARGS+=--openssl-no-asm
+.endif
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/tools/v8_gypfiles/v8.gyp
+# Clean up bundled libraries
+	@${RM} -r ${WRKSRC}/deps/brotli/
+	@${RM} -r ${WRKSRC}/deps/cares/
+	@${RM} -r ${WRKSRC}/deps/icu-small/
+	@${RM} -r ${WRKSRC}/deps/llhttp/
+	@${RM} -r ${WRKSRC}/deps/nghttp2/
+	@${RM} -r ${WRKSRC}/deps/ngtcp2/
+	@${RM} -r ${WRKSRC}/deps/npm/
+	@${RM} -r ${WRKSRC}/deps/simdjson/
+	@${RM} -r ${WRKSRC}/deps/uv/
+	@${RM} -r ${WRKSRC}/deps/zlib/
+	@${RM} -r ${WRKSRC}/deps/zstd/
+
+post-configure:
+	# Post-process Makefile and *.mk files created by node-gyp and remove
+	# all occurrences of -I${LOCALBASE}/include. C*FLAGS include this
+	# before all -I../deps/* for bundled code. This can cause build
+	# breakages if the dependency is installed in ${LOCALBASE}. The
+	# USES+=localbase # above will ensure that we pick up includes for real
+	# external dependencies.
+	${FIND} ${WRKSRC}/out -type f -print0 | ${XARGS} -0 ${REINPLACE_CMD} -e "s|-I${LOCALBASE}/include||g"
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node
+
+post-install-BUNDLED_SSL-on:
+	cd ${STAGEDIR}${PREFIX} && ${FIND} include/node/openssl/ -type f >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/www/node25/Makefile.version b/www/node25/Makefile.version
new file mode 100644
index 000000000000..4dbe8cd0770c
--- /dev/null
+++ b/www/node25/Makefile.version
@@ -0,0 +1 @@
+NODEJS_PORTVERSION=	25.0.0
diff --git a/www/node25/distinfo b/www/node25/distinfo
new file mode 100644
index 000000000000..773fbd2ba111
--- /dev/null
+++ b/www/node25/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760717241
+SHA256 (node-v25.0.0.tar.xz) = 2822cd7b510c955f8c4d448fa483f01d2839251774220a356a6b9bc2ab2039ae
+SIZE (node-v25.0.0.tar.xz) = 53218272
diff --git a/www/node25/files/patch-armv7 b/www/node25/files/patch-armv7
new file mode 100644
index 000000000000..189f9b3780d8
--- /dev/null
+++ b/www/node25/files/patch-armv7
@@ -0,0 +1,12 @@
+--- tools/v8_gypfiles/v8.gyp.orig	2025-07-17 21:44:08 UTC
++++ tools/v8_gypfiles/v8.gyp
+@@ -1314,9 +1314,6 @@
+         # to implement atomic memory access.
+         # Clang needs it for some atomic operations (https://clang.llvm.org/docs/Toolchain.html#atomics-library).
+         ['(OS=="linux" and clang==1) or (v8_current_cpu in ["mips64", "mips64el", "arm", "riscv64", "loong64"])', {
+-          'link_settings': {
+-            'libraries': ['-latomic', ],
+-          },
+         }],
+       ],
+     },  # v8_base_without_compiler
diff --git a/www/node25/files/patch-deps-openssl-openssl-cl_no_asm.gypi b/www/node25/files/patch-deps-openssl-openssl-cl_no_asm.gypi
new file mode 100644
index 000000000000..2670843ea933
--- /dev/null
+++ b/www/node25/files/patch-deps-openssl-openssl-cl_no_asm.gypi
@@ -0,0 +1,17 @@
+--- deps/openssl/openssl-cl_no_asm.gypi.orig	2023-10-24 10:04:40 UTC
++++ deps/openssl/openssl-cl_no_asm.gypi
+@@ -1,4 +1,5 @@
+ {
++  'defines': ['OPENSSL_NO_ASM'],
+   'conditions': [
+     ['target_arch=="ppc64" and OS in ("aix", "os400")', {
+       'includes': ['config/archs/aix64-gcc-as/no-asm/openssl-cl.gypi'],
+@@ -45,7 +46,7 @@
+       'includes': ['config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi'],
+     }, {
+       # Other architectures don't use assembly
+-      'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'],
++      'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'],
+     }],
+   ],
+ }
diff --git a/www/node25/files/patch-deps-openssl-openssl_no_asm.gypi b/www/node25/files/patch-deps-openssl-openssl_no_asm.gypi
new file mode 100644
index 000000000000..a7f94c9eda31
--- /dev/null
+++ b/www/node25/files/patch-deps-openssl-openssl_no_asm.gypi
@@ -0,0 +1,11 @@
+--- deps/openssl/openssl_no_asm.gypi.orig	2025-05-06 12:36:29 UTC
++++ deps/openssl/openssl_no_asm.gypi
+@@ -46,7 +46,7 @@
+       'includes': ['config/archs/linux64-loongarch64/no-asm/openssl.gypi'],
+     }, {
+       # Other architectures don't use assembly
+-      'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'],
++      'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'],
+     }],
+   ],
+ }
diff --git a/www/node25/files/patch-deps-v8-src-base-platform-platform-freebsd.cc b/www/node25/files/patch-deps-v8-src-base-platform-platform-freebsd.cc
new file mode 100644
index 000000000000..be89ded1df8d
--- /dev/null
+++ b/www/node25/files/patch-deps-v8-src-base-platform-platform-freebsd.cc
@@ -0,0 +1,13 @@
+--- deps/v8/src/base/platform/platform-freebsd.cc.orig	2023-05-16 06:58:20 UTC
++++ deps/v8/src/base/platform/platform-freebsd.cc
+@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
+             lib_name = std::string(path);
+           }
+           result.push_back(SharedLibraryAddress(
+-              lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
+-              reinterpret_cast<uintptr_t>(map->kve_end)));
++              lib_name, static_cast<uintptr_t>(map->kve_start),
++              static_cast<uintptr_t>(map->kve_end)));
+         }
+ 
+         start += ssize;
diff --git a/www/node25/files/patch-deps-v8-src-codegen-arm-cpu-arm.cc b/www/node25/files/patch-deps-v8-src-codegen-arm-cpu-arm.cc
new file mode 100644
index 000000000000..42fd70bfd7ca
--- /dev/null
+++ b/www/node25/files/patch-deps-v8-src-codegen-arm-cpu-arm.cc
@@ -0,0 +1,18 @@
+--- deps/v8/src/codegen/arm/cpu-arm.cc.orig	2023-05-16 06:58:20 UTC
++++ deps/v8/src/codegen/arm/cpu-arm.cc
+@@ -2,12 +2,15 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include "include/v8config.h"
++
+ // CPU specific code for arm independent of OS goes here.
+ #ifdef __arm__
+ #ifdef __QNXNTO__
+ #include <sys/mman.h>  // for cache flushing.
+ #undef MAP_TYPE
+ #elif V8_OS_FREEBSD
++#include <sys/cdefs.h>
+ #include <machine/sysarch.h>  // for cache flushing
+ #include <sys/types.h>
+ #elif V8_OS_STARBOARD
diff --git a/www/node25/files/patch-deps-v8-src-codegen-ppc-constants-ppc.h b/www/node25/files/patch-deps-v8-src-codegen-ppc-constants-ppc.h
new file mode 100644
index 000000000000..436f9a7c82be
--- /dev/null
+++ b/www/node25/files/patch-deps-v8-src-codegen-ppc-constants-ppc.h
@@ -0,0 +1,20 @@
+--- deps/v8/src/codegen/ppc/constants-ppc.h.orig	2025-05-06 12:36:30 UTC
++++ deps/v8/src/codegen/ppc/constants-ppc.h
+@@ -35,7 +35,7 @@
+ #define ABI_PASSES_HANDLES_IN_REGS 0
+ #endif
+ 
+-#if !V8_HOST_ARCH_PPC64 || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN || \
++#if !V8_HOST_ARCH_PPC64 || !V8_TARGET_ARCH_PPC64 || \
+     (defined(_CALL_ELF) && _CALL_ELF == 2)
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
+ #else
+@@ -44,7 +44,7 @@
+ 
+ #if !V8_HOST_ARCH_PPC64 ||   \
+     (V8_TARGET_ARCH_PPC64 && \
+-     (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
++     (defined(_CALL_ELF) && _CALL_ELF == 2))
+ #define ABI_CALL_VIA_IP 1
+ #else
+ #define ABI_CALL_VIA_IP 0
diff --git a/www/node25/files/patch-deps-v8-src-libsampler-sampler.cc b/www/node25/files/patch-deps-v8-src-libsampler-sampler.cc
new file mode 100644
index 000000000000..463370ea8d6a
--- /dev/null
+++ b/www/node25/files/patch-deps-v8-src-libsampler-sampler.cc
@@ -0,0 +1,13 @@
+--- deps/v8/src/libsampler/sampler.cc.orig	2025-05-06 12:36:30 UTC
++++ deps/v8/src/libsampler/sampler.cc
+@@ -520,6 +520,10 @@ void SignalHandler::FillRegisterState(void* context, R
+   state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
+   state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
+   state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
++#elif V8_TARGET_ARCH_PPC64
++  state->pc = reinterpret_cast<void*>(mcontext.mc_srr0);
++  state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]);
++  state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]);
+ #endif  // V8_HOST_ARCH_*
+ #elif V8_OS_NETBSD
+ #if V8_HOST_ARCH_IA32
diff --git a/www/node25/files/patch-deps_v8_include_v8config.h b/www/node25/files/patch-deps_v8_include_v8config.h
new file mode 100644
index 000000000000..2fe13159fc15
--- /dev/null
+++ b/www/node25/files/patch-deps_v8_include_v8config.h
@@ -0,0 +1,11 @@
+--- deps/v8/include/v8config.h.orig	2025-07-15 17:11:17 UTC
++++ deps/v8/include/v8config.h
+@@ -976,7 +976,7 @@ V8 shared library set USING_V8_SHARED.
+ #define V8_TARGET_LITTLE_ENDIAN 1
+ #endif
+ #elif V8_TARGET_ARCH_PPC64
+-#if V8_OS_AIX
++#if defined(__BIG_ENDIAN__) || defined(V8_OS_AIX)
+ #define V8_TARGET_BIG_ENDIAN 1
+ #else
+ #define V8_TARGET_LITTLE_ENDIAN 1
diff --git a/www/node25/files/patch-deps_v8_src_base_platform_platform-posix.cc b/www/node25/files/patch-deps_v8_src_base_platform_platform-posix.cc
new file mode 100644
index 000000000000..3a6bc2e94249
--- /dev/null
+++ b/www/node25/files/patch-deps_v8_src_base_platform_platform-posix.cc
@@ -0,0 +1,12 @@
+--- deps/v8/src/base/platform/platform-posix.cc.orig	2025-07-15 17:11:17 UTC
++++ deps/v8/src/base/platform/platform-posix.cc
+@@ -360,6 +360,9 @@ void* OS::GetRandomMmapAddr() {
+   raw_addr &= uint64_t{0x3FFFF000};
+   // Use extra address space to isolate the mmap regions.
+   raw_addr += uint64_t{0x400000000000};
++#elif V8_TARGET_BIG_ENDIAN
++  // Big-endian Linux: 42 bits of virtual addressing.
++  raw_addr &= uint64_t{0x03FFFFFFF000};
+ #else
+   // Little-endian Linux: 46 bits of virtual addressing.
+   raw_addr &= uint64_t{0x3FFFFFFF0000};
diff --git a/www/node25/files/patch-node.gypi b/www/node25/files/patch-node.gypi
new file mode 100644
index 000000000000..bd2f3dec9ffa
--- /dev/null
+++ b/www/node25/files/patch-node.gypi
@@ -0,0 +1,12 @@
+--- node.gypi.orig	2025-05-06 12:36:33 UTC
++++ node.gypi
+@@ -376,6 +376,9 @@
+     [ 'node_use_openssl=="true"', {
+       'defines': [ 'HAVE_OPENSSL=1' ],
+       'conditions': [
++        ['openssl_no_asm==1', {
++          'defines': [ 'OPENSSL_NO_ASM' ],
++        }],
+         [ 'node_shared_openssl=="false"', {
+           'defines': [ 'OPENSSL_API_COMPAT=0x10100000L', ],
+           'dependencies': [
diff --git a/www/node25/files/patch-src-cares_wrap.h b/www/node25/files/patch-src-cares_wrap.h
new file mode 100644
index 000000000000..7bac6f049408
--- /dev/null
+++ b/www/node25/files/patch-src-cares_wrap.h
@@ -0,0 +1,11 @@
+--- src/cares_wrap.h.orig	2023-05-16 06:58:21 UTC
++++ src/cares_wrap.h
+@@ -23,7 +23,7 @@
+ # include <netdb.h>
+ #endif  // __POSIX__
+ 
+-# include <ares_nameser.h>
++# include <arpa/nameser.h>
+ 
+ namespace node {
+ namespace cares_wrap {
diff --git a/www/node25/pkg-descr b/www/node25/pkg-descr
new file mode 100644
index 000000000000..aed88d828d57
--- /dev/null
+++ b/www/node25/pkg-descr
@@ -0,0 +1,2 @@
+Node.js is a free, open-source, cross-platform JavaScript runtime environment
+that lets developers create servers, web apps, command line tools and scripts.
diff --git a/www/node25/pkg-message b/www/node25/pkg-message
new file mode 100644
index 000000000000..4594af9a47a6
--- /dev/null
+++ b/www/node25/pkg-message
@@ -0,0 +1,7 @@
+[
+{ type: install
+  message: <<EOM
+Note: If you need npm (Node Package Manager), please install www/npm-node24.
+EOM
+}
+]
diff --git a/www/node25/pkg-plist b/www/node25/pkg-plist
new file mode 100644
index 000000000000..cbdee2119fa8
--- /dev/null
+++ b/www/node25/pkg-plist
@@ -0,0 +1,112 @@
+bin/node
+include/node/common.gypi
+include/node/config.gypi
+include/node/cppgc/allocation.h
+include/node/cppgc/common.h
+include/node/cppgc/cross-thread-persistent.h
+include/node/cppgc/custom-space.h
+include/node/cppgc/default-platform.h
+include/node/cppgc/explicit-management.h
+include/node/cppgc/garbage-collected.h
+include/node/cppgc/heap-consistency.h
+include/node/cppgc/heap-handle.h
+include/node/cppgc/heap-state.h
+include/node/cppgc/heap-statistics.h
+include/node/cppgc/heap.h
+include/node/cppgc/internal/api-constants.h
+include/node/cppgc/internal/atomic-entry-flag.h
+include/node/cppgc/internal/base-page-handle.h
+include/node/cppgc/internal/caged-heap-local-data.h
+include/node/cppgc/internal/caged-heap.h
+include/node/cppgc/internal/compiler-specific.h
+include/node/cppgc/internal/conditional-stack-allocated.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/member-storage.h
+include/node/cppgc/internal/name-trait.h
+include/node/cppgc/internal/persistent-node.h
+include/node/cppgc/internal/pointer-policies.h
+include/node/cppgc/internal/write-barrier.h
+include/node/cppgc/liveness-broker.h
+include/node/cppgc/macros.h
+include/node/cppgc/member.h
+include/node/cppgc/name-provider.h
+include/node/cppgc/object-size-trait.h
+include/node/cppgc/persistent.h
+include/node/cppgc/platform.h
+include/node/cppgc/prefinalizer.h
+include/node/cppgc/process-heap-statistics.h
+include/node/cppgc/sentinel-pointer.h
+include/node/cppgc/source-location.h
+include/node/cppgc/testing.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
+include/node/libplatform/libplatform.h
+include/node/libplatform/v8-tracing.h
+include/node/node.h
+include/node/node_api.h
+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-cppgc.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-handle-base.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-sandbox.h
+include/node/v8-script.h
+include/node/v8-snapshot.h
+include/node/v8-source-location.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
+%%PORTDOCS%%%%DOCSDIR%%/gdbinit
+%%PORTDOCS%%%%DOCSDIR%%/lldb_commands.py
+@(,,444) share/man/man1/node.1.gz