2022-09-01 19:23:04 +00:00
|
|
|
ONLY_FOR_ARCHS = amd64 aarch64 i386 powerpc64 riscv64
|
2018-09-18 12:51:55 +00:00
|
|
|
DPB_PROPERTIES = parallel
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2017-01-23 16:47:04 +00:00
|
|
|
USE_WXNEEDED = Yes
|
2016-08-25 08:42:08 +00:00
|
|
|
|
2022-02-01 22:17:58 +00:00
|
|
|
COMMENT = JavaScript runtime built on Chrome's V8 JavaScript engine
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2026-05-09 13:26:28 +00:00
|
|
|
NODE_VERSION = v24.15.0
|
2023-09-26 10:44:17 +00:00
|
|
|
DISTFILES = ${DISTNAME}-headers.tar.gz \
|
2022-06-08 21:14:29 +00:00
|
|
|
${DISTNAME}.tar.xz
|
2025-06-10 06:51:36 +00:00
|
|
|
DIST_TUPLE = github qbit node-pledge 1.1.3 \
|
|
|
|
|
deps/npm/node_modules/node-pledge
|
2017-01-23 16:47:04 +00:00
|
|
|
DISTNAME = node-${NODE_VERSION}
|
|
|
|
|
PKGNAME = ${DISTNAME:S/v//g}
|
2022-06-08 18:08:40 +00:00
|
|
|
EPOCH = 0
|
2026-06-08 07:12:39 +00:00
|
|
|
REVISION = 2
|
2016-01-29 20:12:04 +00:00
|
|
|
|
2017-01-23 16:47:04 +00:00
|
|
|
CATEGORIES = lang devel
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2021-09-03 20:47:30 +00:00
|
|
|
HOMEPAGE = https://nodejs.org/
|
2026-05-09 13:26:28 +00:00
|
|
|
MAINTAINER = Volker Schlecht <volker@openbsd.org>
|
2012-05-23 15:11:43 +00:00
|
|
|
|
|
|
|
|
# MIT
|
2019-07-12 20:46:54 +00:00
|
|
|
PERMIT_PACKAGE = Yes
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2023-09-26 12:02:00 +00:00
|
|
|
SITES = ${HOMEPAGE}dist/${NODE_VERSION}/
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2017-05-26 09:52:16 +00:00
|
|
|
MODULES = lang/python
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2022-02-01 22:17:58 +00:00
|
|
|
WANTLIB += c execinfo m pthread ${COMPILER_LIBCXX}
|
|
|
|
|
WANTLIB += z brotlienc brotlidec
|
2026-01-20 17:34:20 +00:00
|
|
|
WANTLIB += icudata icui18n icuuc cares nghttp2 nghttp3 uv simdutf
|
2024-11-14 18:58:02 +00:00
|
|
|
WANTLIB += lib/${EOPENSSL_VSN}/ssl lib/${EOPENSSL_VSN}/crypto
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2019-02-22 21:30:28 +00:00
|
|
|
COMPILER = base-clang ports-gcc
|
2018-10-24 14:27:57 +00:00
|
|
|
|
2017-01-23 16:47:04 +00:00
|
|
|
USE_GMAKE = Yes
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2017-01-23 16:47:04 +00:00
|
|
|
BUILD_DEPENDS = sysutils/flock
|
2012-12-05 00:40:27 +00:00
|
|
|
|
2017-01-23 16:47:04 +00:00
|
|
|
RUN_DEPENDS = devel/gmake \
|
|
|
|
|
sysutils/flock
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2017-01-23 16:47:04 +00:00
|
|
|
CONFIGURE_STYLE = simple
|
2022-02-01 22:17:58 +00:00
|
|
|
CONFIGURE_SCRIPT = configure
|
2015-10-24 02:46:47 +00:00
|
|
|
|
2022-02-01 22:17:58 +00:00
|
|
|
CONFIGURE_ARGS = --prefix=${PREFIX} \
|
|
|
|
|
--with-intl=system-icu \
|
|
|
|
|
--shared-brotli \
|
|
|
|
|
--shared-cares \
|
|
|
|
|
--shared-libuv \
|
|
|
|
|
--shared-nghttp2 \
|
2024-11-14 18:58:02 +00:00
|
|
|
--shared-nghttp3 \
|
2026-01-20 17:34:20 +00:00
|
|
|
--shared-simdutf \
|
2022-02-01 22:17:58 +00:00
|
|
|
--shared-zlib \
|
|
|
|
|
--shared-openssl \
|
|
|
|
|
--shared-openssl-libpath=${EOPENSSL_LIB} \
|
|
|
|
|
--shared-openssl-includes=${EOPENSSL_INC}
|
2018-02-10 14:50:35 +00:00
|
|
|
|
2024-11-14 18:58:02 +00:00
|
|
|
CFLAGS += -idirafter ${LOCALBASE}/include
|
|
|
|
|
|
2022-06-08 21:14:29 +00:00
|
|
|
SUBST_VARS += DISTNAME
|
2017-01-23 16:47:04 +00:00
|
|
|
SUBST_VARS += WRKDIST
|
2020-04-04 16:42:57 +00:00
|
|
|
SUBST_VARS += NODE_VERSION
|
2022-06-08 21:14:29 +00:00
|
|
|
SUBST_VARS += EOPENSSL_LIB
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2022-12-29 23:34:13 +00:00
|
|
|
# uses a wide range of OpenSSL API and only really supports boring/openssl
|
2022-02-01 22:17:58 +00:00
|
|
|
LIB_DEPENDS += archivers/brotli \
|
2025-06-30 17:40:05 +00:00
|
|
|
devel/libuv>=1.51.0p0 \
|
2024-11-14 18:58:02 +00:00
|
|
|
net/libcares \
|
|
|
|
|
security/openssl/${OPENSSL_VSN} \
|
2022-02-01 22:17:58 +00:00
|
|
|
textproc/icu4c \
|
2026-01-20 17:34:20 +00:00
|
|
|
textproc/simdutf \
|
2022-02-01 22:17:58 +00:00
|
|
|
www/nghttp2 \
|
2024-11-14 18:58:02 +00:00
|
|
|
www/nghttp3
|
2022-02-01 22:17:58 +00:00
|
|
|
|
2025-07-12 16:26:00 +00:00
|
|
|
OPENSSL_VSN = 3.5
|
2024-11-14 18:58:02 +00:00
|
|
|
EOPENSSL_VSN = eopenssl${OPENSSL_VSN:C/\.//}
|
|
|
|
|
EOPENSSL_LIB = ${LOCALBASE}/lib/${EOPENSSL_VSN}
|
|
|
|
|
EOPENSSL_INC = ${LOCALBASE}/include/${EOPENSSL_VSN}
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2024-11-08 14:33:33 +00:00
|
|
|
DEBUG_PACKAGES = ${BUILD_PACKAGES}
|
|
|
|
|
|
2025-06-15 19:45:53 +00:00
|
|
|
# Run default tests, without linters or building the docs.
|
|
|
|
|
TEST_TARGET = test-only
|
|
|
|
|
TEST_ENV = ${MAKE_ENV} HOME=${WRKSRC} CI=true
|
|
|
|
|
|
|
|
|
|
# Skip test-snapshot-reproducible.
|
|
|
|
|
# It fails and is too verbose (pollutes log with binary diff).
|
|
|
|
|
TEST_ENV+= CI_SKIP_TESTS=test-snapshot-reproducible
|
|
|
|
|
|
2012-05-23 15:11:43 +00:00
|
|
|
pre-configure:
|
2022-02-01 22:17:58 +00:00
|
|
|
${SUBST_CMD} ${WRKDIST}/common.gypi \
|
2012-12-05 00:40:27 +00:00
|
|
|
${WRKDIST}/deps/npm/node_modules/node-gyp/lib/install.js \
|
2022-02-01 22:17:58 +00:00
|
|
|
${WRKDIST}/src/env.cc \
|
2015-10-24 02:46:47 +00:00
|
|
|
${WRKDIST}/tools/test.py
|
2012-05-23 15:11:43 +00:00
|
|
|
|
|
|
|
|
post-install:
|
2024-05-28 19:52:27 +00:00
|
|
|
${MODPY_COMPILEALL} \
|
|
|
|
|
${PREFIX}/lib/node_modules/npm/node_modules/node-gyp
|
2016-01-29 20:12:04 +00:00
|
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/node
|
2022-11-01 12:01:49 +00:00
|
|
|
${INSTALL_DATA} ${FULLDISTDIR}/${DISTNAME}-headers.tar.gz \
|
|
|
|
|
${PREFIX}/share/node/${DISTNAME}-headers.tar.gz
|
2012-06-28 08:30:28 +00:00
|
|
|
cd ${PREFIX}/lib/node_modules/npm/node_modules && for x in *; do \
|
|
|
|
|
mv $$x ../..; \
|
|
|
|
|
ln -s ../../$$x $$x; \
|
|
|
|
|
done
|
2012-05-23 15:11:43 +00:00
|
|
|
|
2025-06-15 19:45:53 +00:00
|
|
|
pre-test:
|
|
|
|
|
@ln -sf ${LOCALBASE}/bin/${EOPENSSL_VSN} ${WRKDIR}/bin/openssl
|
|
|
|
|
|
2022-02-01 22:17:58 +00:00
|
|
|
# Includes a lot of networking tests that will fail when running as _pbuild
|
2018-02-10 14:50:35 +00:00
|
|
|
do-test:
|
|
|
|
|
cd ${WRKSRC} && \
|
|
|
|
|
ulimit -n $$(ulimit -Hn) && \
|
|
|
|
|
ulimit -d $$(ulimit -Hd) && \
|
2025-06-15 19:45:53 +00:00
|
|
|
${SETENV} ${TEST_ENV} ${MAKE_PROGRAM} --ignore-errors ${TEST_TARGET}
|
2018-02-10 14:50:35 +00:00
|
|
|
|
2012-05-23 15:11:43 +00:00
|
|
|
.include <bsd.port.mk>
|