git: 0209fe7fcd60 - main - www/node: Clean up Makefile
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 19 Nov 2022 08:16:51 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=0209fe7fcd60d888bbb5a4025bed385f6f62005c commit 0209fe7fcd60d888bbb5a4025bed385f6f62005c Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2022-11-19 08:11:41 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2022-11-19 08:11:41 +0000 www/node: Clean up Makefile - Move *_DEPENDS upward - Sort USES - Remove unnecessary += from MAKE_ENV - Respect space in CC and CXX - Update CONFLICTS_INSTALL - Sort SHEBANG_FILES - Remove no-op OPTIONS_DEFAULT+=${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}} - Sort option helpers - Take maintainership --- www/node/Makefile | 106 +++++++++++++++++++++++++----------------------------- 1 file changed, 49 insertions(+), 57 deletions(-) diff --git a/www/node/Makefile b/www/node/Makefile index b59334e49d58..3036858e8355 100644 --- a/www/node/Makefile +++ b/www/node/Makefile @@ -1,87 +1,81 @@ PORTNAME= node +PORTVERSION= 18.12.1 DISTVERSIONPREFIX= v -DISTVERSION= 18.12.1 CATEGORIES= www -MASTER_SITES= https://nodejs.org/dist/v${DISTVERSION}/ +MASTER_SITES= https://nodejs.org/dist/v${PORTVERSION}/ -MAINTAINER= ports@FreeBSD.org +MAINTAINER= sunpoet@FreeBSD.org COMMENT= V8 JavaScript for client and server WWW= https://nodejs.org/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN_SSL= libressl libressl-devel -BROKEN_SSL_REASON= Node.js 18.x requires OpenSSL 1.1.x or the BUNDLED_SSL option enabled -ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le +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 -USES= compiler:c++11-lib gmake python:3.6-3.10,build pkgconfig \ - localbase shebangfix +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 -OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS DTRACE -OPTIONS_DEFAULT= DTRACE -OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}} -OPTIONS_SUB= yes +USES= compiler:c++11-lib gmake localbase pkgconfig python:3.6-3.10,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="${CC}" \ + CFLAGS.host="${CFLAGS}" \ + CXX.host="${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 DTRACE NLS +OPTIONS_DEFAULT=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_SUB= yes +BUNDLED_SSL_DESC= Use bundled OpenSSL implementation from node.js -BUNDLED_SSL_DESC= Use bundled OpenSSL implementation from node.js -BUNDLED_SSL_USES_OFF= ssl BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl --openssl-use-def-ca-store BUNDLED_SSL_RUN_DEPENDS_OFF= ca_root_nss>=0:security/ca_root_nss - -NLS_CONFIGURE_ON= --with-intl=system-icu +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 -DTRACE_CONFIGURE_ON= --with-dtrace - -HAS_CONFIGURE= yes - -CONFLICTS_INSTALL= node14 node16 - -CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ - --without-npm \ - --shared-brotli \ - --shared-cares \ - --shared-libuv \ - --shared-nghttp2 \ - --shared-zlib - -SHEBANG_FILES= deps/v8/tools/*.py \ - deps/v8/third_party/inspector_protocol/*.py \ - tools/*.py \ - tools/inspector_protocol/*.py - -PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} -REINPLACE_ARGS= -i '' -MAKE_ENV+= CC.host=${CC} CFLAGS.host="${CFLAGS}" \ - CXX.host=${CXX} CXXFLAGS.host="${CXXFLAGS}" \ - LINK.host=${CXX} LDFLAGS.host="${LDFLAGS}" - -BUILD_DEPENDS+= brotli>=1.0.9,1:archivers/brotli \ - c-ares>=1.17.2:dns/c-ares \ - libuv>=1.42.0:devel/libuv \ - libnghttp2>=1.45.1:www/libnghttp2 \ - objdump:devel/binutils -LIB_DEPENDS+= libbrotlidec.so:archivers/brotli \ - libcares.so:dns/c-ares \ - libuv.so:devel/libuv \ - libnghttp2.so:www/libnghttp2 - .include <bsd.port.options.mk> .if (defined(PPC_ABI) && ${PPC_ABI} == ELFv2) || ${ARCH} == powerpc64le -EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common.gypi +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common.gypi .endif .if ${PORT_OPTIONS:MBUNDLED_SSL} && ${ARCH} != amd64 @@ -89,8 +83,7 @@ CONFIGURE_ARGS+=--openssl-no-asm .endif post-patch: - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \ - ${WRKSRC}/tools/v8_gypfiles/v8.gyp + @${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 @@ -99,8 +92,7 @@ post-configure: # 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" + ${FIND} ${WRKSRC}/out -type f -print0 | ${XARGS} -0 ${REINPLACE_CMD} -e "s|-I${LOCALBASE}/include||g" post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node