diff --git a/www/node/Makefile b/www/node/Makefile index 01a6ce8243f7..e16fc4019cdc 100644 --- a/www/node/Makefile +++ b/www/node/Makefile @@ -1,116 +1,116 @@ PORTNAME= node DISTVERSIONPREFIX= v DISTVERSION= 16.2.0 CATEGORIES= www MASTER_SITES= http://nodejs.org/dist/v${DISTVERSION}/ MAINTAINER= bhughes@FreeBSD.org COMMENT= V8 JavaScript for client and server LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_SSL= libressl libressl-devel BROKEN_SSL_REASON= Node.js 15.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:build pkgconfig \ localbase shebangfix OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS DTRACE OPTIONS_DEFAULT= DTRACE OPTIONS_DEFAULT_FreeBSD_11= BUNDLED_SSL OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}} OPTIONS_SUB= yes .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 BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation 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 NLS_BUILD_DEPENDS= icu>=69.1:devel/icu NLS_LIB_DEPENDS= libicui18n.so:devel/icu DTRACE_CONFIGURE_ON= --with-dtrace HAS_CONFIGURE= yes -CONFLICTS_INSTALL= node10-[0-9]* node12-[0-9]* node14-[0-9]* +CONFLICTS_INSTALL= node10-[0-9]* node14-[0-9]* 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.1:dns/c-ares \ libuv>=1.41.0:devel/libuv \ libnghttp2>=1.42.0: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 .if (defined(PPC_ABI) && ${PPC_ABI} == ELFv2) || ${ARCH} == powerpc64le EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common.gypi .endif .if ${ARCH} == armv6 || ${ARCH} == armv7 EXTRA_PATCHES= ${PATCHDIR}/extra-patch-tools_v8__gypfiles_v8.gyp .endif .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085 BROKEN_SSL+= base .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 diff --git a/www/npm/Makefile b/www/npm/Makefile index 78c4de630f81..6a14d0f4d9b2 100644 --- a/www/npm/Makefile +++ b/www/npm/Makefile @@ -1,70 +1,64 @@ # Created by: Sunpoet Po-Chuan Hsieh PORTNAME= npm PORTVERSION= 6.14.8 CATEGORIES= www MASTER_SITES= LOCAL/sunpoet MAINTAINER= sunpoet@FreeBSD.org COMMENT= Node package manager LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/lib/node_modules/npm/LICENSE RUN_DEPENDS= gmake:devel/gmake USES= cpe python:3.5+ shebangfix tar:xz NO_ARCH= yes NO_BUILD= yes REINPLACE_ARGS= -i '' -CONFLICTS_INSTALL?= npm-node10 npm-node12 npm-node14 +CONFLICTS_INSTALL?= npm-node10 npm-node14 OPTIONS_SINGLE= BACKEND -OPTIONS_SINGLE_BACKEND= NODE NODE10 NODE12 NODE14 +OPTIONS_SINGLE_BACKEND= NODE NODE10 NODE14 OPTIONS_DEFAULT=NODE NODE_DESC= Use Node.js 15.x (www/node) as backend NODE10_DESC= Use Node.js 10.x (www/node10) as backend -NODE12_DESC= Use Node.js 12.x (www/node12) as backend NODE14_DESC= Use Node.js 14.x (www/node14) as backend CPE_VENDOR= npmjs CPE_PRODUCT= node_packaged_modules SHEBANG_GLOB= *.py SHEBANG_FILES= lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples NODE_RUN_DEPENDS= node>=0.8.0:www/node NODE10_RUN_DEPENDS= node10>=0.8.0:www/node10 -NODE12_RUN_DEPENDS= node12>=0.8.0:www/node12 NODE14_RUN_DEPENDS= node14>=0.8.0:www/node14 .include .if ${PORT_OPTIONS:MNODE10} DEPRECATED= Uses EOL Python 2.7 via www/node10 EXPIRATION_DATE=2021-06-23 .endif -.if ${PORT_OPTIONS:MNODE12} -DEPRECATED= Uses EOL Python 2.7 via www/node12 -EXPIRATION_DATE=2021-06-23 -.endif .if ${ARCH} == i386 # Workaround for kernel bug 178881 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-bug-178881 .endif post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|' ${WRKSRC}/etc/man.d/npm.conf @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp @${REINPLACE_CMD} -e 's|exec python |exec ${PYTHON_CMD} |' ${WRKSRC}/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp @${FIND} ${WRKSRC}/ -name '*.sh' -exec ${REINPLACE_CMD} -e '1 s|/usr/local|${LOCALBASE}|' {} + do-install: cd ${WRKSRC}/ && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/ ${ECHO_CMD} 'python=${PYTHON_CMD}' > ${STAGEDIR}${PREFIX}/etc/npmrc ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py -d ${PREFIX}/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp -f ${STAGEDIR}${PREFIX}/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp .include diff --git a/www/yarn/Makefile b/www/yarn/Makefile index 5be56e0ba9af..d961b3088177 100644 --- a/www/yarn/Makefile +++ b/www/yarn/Makefile @@ -1,69 +1,62 @@ PORTNAME= yarn DISTVERSIONPREFIX= v DISTVERSION= 1.22.10 CATEGORIES= www MASTER_SITES= https://yarnpkg.com/downloads/${PORTVERSION}/ MAINTAINER= pizzamig@FreeBSD.org COMMENT= Package manager for node, alternative to npm LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -CONFLICTS_INSTALL?= yarn-node14 yarn-node12 yarn-node10 +CONFLICTS_INSTALL?= yarn-node14 yarn-node10 OPTIONS_DEFINE= HADOOPCOMPAT OPTIONS_SINGLE= BACKEND -OPTIONS_SINGLE_BACKEND= NODE10 NODE12 NODE14 NODE +OPTIONS_SINGLE_BACKEND= NODE10 NODE14 NODE OPTIONS_DEFAULT= NODE HADOOPCOMPAT_DESC= hadoop2 compatibility, the yarn script is excluded NODE_DESC= Use www/node as backend NODE14_DESC= Use www/node14 as backend -NODE12_DESC= Use www/node12 as backend NODE10_DESC= Use www/node10 as backend OPTIONS_SUB= yes NODE_RUN_DEPENDS= node>=0.8.0:www/node NODE14_RUN_DEPENDS= node14>=14.0.0:www/node14 -NODE12_RUN_DEPENDS= node12>=12.0.0:www/node12 NODE10_RUN_DEPENDS= node10>=10.0.0:www/node10 HADOOPCOMPAT_CONFLICTS_INSTALL_OFF= hadoop2* NO_ARCH= yes NO_BUILD= yes post-patch: @${RM} ${WRKSRC}/bin/*.cmd @${REINPLACE_CMD} -i '' \ -e 's|"installationMethod": "tar"|"installationMethod": "pkg"|g' \ ${WRKSRC}/package.json @${REINPLACE_CMD} -i '' -e 's%Linux)%Linux|FreeBSD)%g' \ ${WRKSRC}/bin/yarn do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/node_modules/yarn (cd ${WRKSRC}/ && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/node_modules/yarn) ${RLN} ${STAGEDIR}${PREFIX}/lib/node_modules/yarn/bin/yarn.js \ ${STAGEDIR}${PREFIX}/bin/yarn.js ${RLN} ${STAGEDIR}${PREFIX}/lib/node_modules/yarn/bin/yarnpkg \ ${STAGEDIR}${PREFIX}/bin/yarnpkg do-install-HADOOPCOMPAT-off: ${RLN} ${STAGEDIR}${PREFIX}/lib/node_modules/yarn/bin/yarn \ ${STAGEDIR}${PREFIX}/bin/yarn .include .if ${PORT_OPTIONS:MNODE10} DEPRECATED= Uses EOL Python 2.7 via www/node10 EXPIRATION_DATE=2021-06-23 .endif -.if ${PORT_OPTIONS:MNODE12} -DEPRECATED= Uses EOL Python 2.7 via www/node12 -EXPIRATION_DATE=2021-06-23 -.endif - .include