From f6b0b37697c2ecfcafc45c1e0b18806fb8a0f1f8 Mon Sep 17 00:00:00 2001 From: Yasuhiro Kimura Date: Wed, 1 Nov 2023 18:39:34 +0900 Subject: [PATCH] www/node18: Remove DTrace support to fix build with upcoming binutils 2.41 * With binutils 2.41 build fails as following. LD_LIBRARY_PATH=/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/lib.host:/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj.target/libnode/src; dtrace -64 "-I/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj/gen" -Isrc -C -G -s src/v8ustack.d -o "/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj.target/libnode/src/node_dtrace_ustack.o" dtrace: failed to compile script src/v8ustack.d: line 1: failed to resolve V8DBG_SMITAG: Unknown variable name * This is because behaviour of objdump has changes with binutils 2.41. [1][2] * On upstream DTrace support itself has been removed with Node.js 19.x. * There is a pull request that says it fixes build error. [3] I tried it but unfortunately it doesn't work as is expected. * Upstream suggests me to remove DTrace support. [4] Reference: https://github.com/nodejs/node/issues/49991#issue-1920717730 [1] Reference: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0a3137ce4c4b38ee8 [2] Reference: https://github.com/nodejs/node/pull/49992 [3] Reference: https://github.com/nodejs/node/pull/49992#issuecomment-1784231190 [4] --- www/node18/Makefile | 13 ++----------- www/node18/pkg-plist | 1 - 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/www/node18/Makefile b/www/node18/Makefile index dc03a2d820e94..fffe0329e989f 100644 --- a/www/node18/Makefile +++ b/www/node18/Makefile @@ -1,5 +1,6 @@ PORTNAME= node PORTVERSION= ${NODEJS_PORTVERSION} +PORTREVISION= 1 DISTVERSIONPREFIX= v CATEGORIES= www MASTER_SITES= https://nodejs.org/dist/v${PORTVERSION}/ @@ -52,23 +53,13 @@ SHEBANG_FILES= deps/v8/third_party/inspector_protocol/*.py \ tools/*.py \ tools/inspector_protocol/*.py -OPTIONS_DEFINE= BUNDLED_SSL DOCS DTRACE NLS -OPTIONS_DEFAULT=DTRACE -.if !exists(/usr/sbin/dtrace) -OPTIONS_EXCLUDE+= DTRACE -.endif -OPTIONS_EXCLUDE_aarch64= DTRACE -OPTIONS_EXCLUDE_armv6= DTRACE -OPTIONS_EXCLUDE_armv7= DTRACE -OPTIONS_EXCLUDE_powerpc64= DTRACE -OPTIONS_EXCLUDE_powerpc64le= DTRACE +OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS OPTIONS_SUB= yes BUNDLED_SSL_DESC= Use bundled OpenSSL implementation from node.js 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 -DTRACE_CONFIGURE_ON= --with-dtrace NLS_BUILD_DEPENDS= icu>=69.1:devel/icu NLS_CONFIGURE_ON= --with-intl=system-icu NLS_LIB_DEPENDS= libicui18n.so:devel/icu diff --git a/www/node18/pkg-plist b/www/node18/pkg-plist index 7e299ce819866..e48d1fb30e30f 100644 --- a/www/node18/pkg-plist +++ b/www/node18/pkg-plist @@ -2272,7 +2272,6 @@ include/node/v8-wasm.h include/node/v8-weak-callback-info.h include/node/v8.h include/node/v8config.h -%%DTRACE%%lib/dtrace/node.d lib/node_modules/corepack/CHANGELOG.md lib/node_modules/corepack/LICENSE.md lib/node_modules/corepack/README.md