From c27c44d254e6a91dde3c7110e4a204d133cfdb36 Mon Sep 17 00:00:00 2001 From: Yasuhiro Kimura Date: Wed, 1 Nov 2023 18:00:55 +0900 Subject: [PATCH] www/node16: 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/node16/work/node-v16.20.1/out/Release/lib.host:/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj.target/libnode/src; dtrace -64 "-I/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/out/Release/obj/gen" -Isrc -C -G -s src/v8ustack.d -o "/wrkdirs/usr/ports/www/node16/work/node-v16.20.1/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/node16/Makefile | 23 +++-------------------- www/node16/pkg-plist | 1 - 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/www/node16/Makefile b/www/node16/Makefile index b7366a59db119..ac834e59eddd1 100644 --- a/www/node16/Makefile +++ b/www/node16/Makefile @@ -1,7 +1,7 @@ PORTNAME= node DISTVERSIONPREFIX= v DISTVERSION= 16.20.1 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES= www MASTER_SITES= https://nodejs.org/dist/v${DISTVERSION}/ PKGNAMESUFFIX= 16 @@ -63,19 +63,8 @@ CONFLICTS_INSTALL= node[0-9][0-9] REINPLACE_ARGS= -i '' PORTSCOUT= limit:^16\. -OPTIONS_DEFINE= BUNDLED_SSL COREPACK DOCS DTRACE NLS -OPTIONS_DEFAULT= COREPACK DTRACE - -.if !exists(/usr/sbin/dtrace) -OPTIONS_EXCLUDE+= DTRACE -.endif - -OPTIONS_EXCLUDE_aarch64= DTRACE -# dt_modtext:/usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(820): arm not implemented -OPTIONS_EXCLUDE_armv6= DTRACE -OPTIONS_EXCLUDE_armv7= DTRACE -OPTIONS_EXCLUDE_powerpc64= DTRACE -OPTIONS_EXCLUDE_powerpc64le= DTRACE +OPTIONS_DEFINE= BUNDLED_SSL COREPACK DOCS NLS +OPTIONS_DEFAULT= COREPACK OPTIONS_SUB= yes @@ -89,8 +78,6 @@ BUNDLED_SSL_CONFIGURE_OFF= --openssl-use-def-ca-store \ COREPACK_CONFIGURE_OFF= --without-corepack -DTRACE_CONFIGURE_ON= --with-dtrace - NLS_BUILD_DEPENDS= icu>=69.1:devel/icu NLS_LIB_DEPENDS= libicui18n.so:devel/icu NLS_CONFIGURE_ON= --with-intl=system-icu @@ -133,8 +120,4 @@ post-install: ${RM} -rf ${STAGEDIR}${PREFIX}/share/systemtap ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node -post-install-DTRACE-on: - ${MKDIR} ${STAGEDIR}${PREFIX}/lib/dtrace - ${INSTALL_DATA} ${WRKSRC}/out/Release/node.d ${STAGEDIR}${PREFIX}/lib/dtrace - .include diff --git a/www/node16/pkg-plist b/www/node16/pkg-plist index 304e152d53bed..c88e9cf03dfc3 100644 --- a/www/node16/pkg-plist +++ b/www/node16/pkg-plist @@ -513,7 +513,6 @@ include/node/v8-profiler.h include/node/v8-version.h include/node/v8.h include/node/v8config.h -%%DTRACE%%lib/dtrace/node.d %%COREPACK%%lib/node_modules/corepack/CHANGELOG.md %%COREPACK%%lib/node_modules/corepack/LICENSE.md %%COREPACK%%lib/node_modules/corepack/README.md