Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
- Loading branch information
Showing
18 changed files
with
2,597 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
PORTNAME= node | ||
PORTVERSION= 20.0.0 | ||
DISTVERSIONPREFIX= v | ||
CATEGORIES= www | ||
MASTER_SITES= https://nodejs.org/dist/v${PORTVERSION}/ | ||
PKGNAMESUFFIX= 20 | ||
|
||
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 1.1.x or the BUNDLED_SSL option enabled | ||
ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le | ||
|
||
BUILD_DEPENDS= brotli>=1.0.9,1:archivers/brotli \ | ||
c-ares>=1.17.2:dns/c-ares \ | ||
libnghttp2>=1.45.1:www/libnghttp2 \ | ||
libuv>=1.42.0:devel/libuv \ | ||
objdump:devel/binutils | ||
LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ | ||
libcares.so:dns/c-ares \ | ||
libnghttp2.so:www/libnghttp2 \ | ||
libuv.so:devel/libuv | ||
|
||
USES= compiler:c++11-lib gmake localbase pkgconfig python:3.6+,build shebangfix | ||
|
||
CONFIGURE_ARGS= --prefix=${PREFIX:S|^${DESTDIR}||} \ | ||
--shared-brotli \ | ||
--shared-cares \ | ||
--shared-libuv \ | ||
--shared-nghttp2 \ | ||
--shared-zlib \ | ||
--without-npm | ||
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 NLS | ||
OPTIONS_SUB= yes | ||
BUNDLED_SSL_DESC= Use bundled OpenSSL implementation from node.js | ||
|
||
BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl --openssl-use-def-ca-store | ||
BUNDLED_SSL_RUN_DEPENDS_OFF= ca_root_nss>=0:security/ca_root_nss | ||
BUNDLED_SSL_USES_OFF= ssl | ||
NLS_BUILD_DEPENDS= icu>=69.1:devel/icu | ||
NLS_CONFIGURE_ON= --with-intl=system-icu | ||
NLS_LIB_DEPENDS= libicui18n.so:devel/icu | ||
|
||
.include <bsd.port.options.mk> | ||
|
||
.if (defined(PPC_ABI) && ${PPC_ABI} == ELFv2) || ${ARCH} == powerpc64le | ||
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common.gypi | ||
.endif | ||
|
||
.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 | ||
|
||
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 | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1681843818 | ||
SHA256 (node-v20.0.0.tar.gz) = c1ee3c5355a5d25426e2fd3508c603e5e7661217194219bc846a12b99b40df15 | ||
SIZE (node-v20.0.0.tar.gz) = 85992901 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- common.gypi.orig 2019-10-01 15:32:40.000000000 +0200 | ||
+++ common.gypi 2019-10-16 12:47:09.236138000 +0200 | ||
@@ -390,8 +390,8 @@ | ||
'ldflags': [ '-m32' ], | ||
}], | ||
[ 'target_arch=="ppc64" and OS!="aix"', { | ||
- 'cflags': [ '-m64', '-mminimal-toc' ], | ||
- 'ldflags': [ '-m64' ], | ||
+ 'cflags': [ '-m64' ], | ||
+ 'ldflags': [ '-m64' ], | ||
}], | ||
[ 'target_arch=="s390x"', { | ||
'cflags': [ '-m64', '-march=z196' ], |
11 changes: 11 additions & 0 deletions
11
www/node20/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2021-10-19 00:48:28 UTC | ||
+++ deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi | ||
@@ -13,7 +13,7 @@ | ||
'-Wall -O3 -fomit-frame-pointer', | ||
], | ||
'openssl_ex_libs_linux-elf': [ | ||
- '-ldl -pthread', | ||
+ '-pthread', | ||
], | ||
'openssl_cli_srcs_linux-elf': [ | ||
'openssl/apps/lib/cmp_mock_srv.c', |
11 changes: 11 additions & 0 deletions
11
www/node20/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2021-10-19 00:48:28 UTC | ||
+++ deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi | ||
@@ -980,7 +980,7 @@ | ||
'-Wall -O3 -fomit-frame-pointer', | ||
], | ||
'openssl_ex_libs_linux-elf': [ | ||
- '-ldl -pthread', | ||
+ '-pthread', | ||
], | ||
}, | ||
'include_dirs': [ |
17 changes: 17 additions & 0 deletions
17
www/node20/files/patch-deps_openssl_openssl-cl__no__asm.gypi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- deps/openssl/openssl-cl_no_asm.gypi.orig 2022-07-26 14:30:08 UTC | ||
+++ deps/openssl/openssl-cl_no_asm.gypi | ||
@@ -1,4 +1,5 @@ | ||
{ | ||
+ 'defines': ['OPENSSL_NO_ASM'], | ||
'conditions': [ | ||
['target_arch=="ppc64" and OS=="aix"', { | ||
'includes': ['config/archs/aix64-gcc-as/no-asm/openssl-cl.gypi'], | ||
@@ -43,7 +44,7 @@ | ||
'includes': ['config/archs/linux64-riscv64/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'], | ||
}], | ||
], | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- deps/openssl/openssl_no_asm.gypi.orig 2020-09-08 12:17:11 UTC | ||
+++ deps/openssl/openssl_no_asm.gypi | ||
@@ -48,7 +48,7 @@ | ||
'includes': ['config/archs/linux64-mips64/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'], | ||
}], | ||
], | ||
} |
13 changes: 13 additions & 0 deletions
13
www/node20/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- deps/v8/src/base/platform/platform-freebsd.cc.orig 2020-06-30 17:49:16 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- deps/v8/src/codegen/arm/cpu-arm.cc.orig 2022-04-19 16:03:40 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 |
20 changes: 20 additions & 0 deletions
20
www/node20/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- deps/v8/src/codegen/ppc/constants-ppc.h.orig 2020-06-30 17:49:17 UTC | ||
+++ deps/v8/src/codegen/ppc/constants-ppc.h | ||
@@ -36,7 +36,7 @@ | ||
#endif | ||
|
||
#if !(V8_HOST_ARCH_PPC || 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_RETURNS_OBJECT_PAIRS_IN_REGS 1 | ||
#else | ||
#define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 | ||
@@ -44,7 +44,7 @@ | ||
|
||
#if !(V8_HOST_ARCH_PPC || 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- deps/v8/src/libsampler/sampler.cc.orig 2021-10-19 00:48:30 UTC | ||
+++ deps/v8/src/libsampler/sampler.cc | ||
@@ -497,6 +497,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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- node.gypi.orig 2021-10-19 00:48:32 UTC | ||
+++ node.gypi | ||
@@ -319,6 +319,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': [ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- src/cares_wrap.h.orig 2021-08-18 22:13:12 UTC | ||
+++ src/cares_wrap.h | ||
@@ -22,7 +22,7 @@ | ||
# include <netdb.h> | ||
#endif // __POSIX__ | ||
|
||
-# include <ares_nameser.h> | ||
+# include <arpa/nameser.h> | ||
|
||
namespace node { | ||
namespace cares_wrap { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- tools/v8_gypfiles/v8.gyp.orig 2022-11-14 02:26:08 UTC | ||
+++ tools/v8_gypfiles/v8.gyp | ||
@@ -975,7 +975,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 ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', { | ||
+ ['v8_current_cpu in ["mips64", "mips64el", "ppc", "riscv64", "loong64"]', { | ||
'link_settings': { | ||
'libraries': ['-latomic', ], | ||
}, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js | ||
uses an event-driven, non-blocking I/O model that makes it lightweight and | ||
efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open | ||
source libraries in the world. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[ | ||
{ type: install | ||
message: <<EOM | ||
Note: If you need npm (Node Package Manager), please install www/npm. | ||
EOM | ||
} | ||
] |
Oops, something went wrong.