commit 9d522d9026af604b4c973334063a3a0fb20f29f2 Author: Bradley T. Hughes Date: Tue Apr 19 06:31:54 2016 +0000 www/node, www/node5, www/node4: use ports dependencies where possible Do not statically link bundled libraries into node.js. It requires openssl 1.0.2, so pull that in from ports when the base version is not new enough. While all versions use c-ares, only www/node has a configure knob to enable building against an unbundled version. All other dependencies are specified in www/node/common.mk and used by all 3 ports. This removes the BUNDLED_SSL option from the www/node5 port. This option was accidentially included when the port was created. The www/node010 and www/node012 ports have not been done since both are deprecated and have very old bundled dependencies that are not available in ports. diff --git a/www/node/Makefile b/www/node/Makefile index 87eced0..87f16ab 100644 --- a/www/node/Makefile +++ b/www/node/Makefile @@ -26,6 +26,12 @@ PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} REINPLACE_ARGS= -i '' MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} +LIB_DEPENDS+= libcares.so:dns/c-ares +CONFIGURE_ARGS+= --shared-cares \ + --shared-cares-includes=${LOCALBASE}/include \ + --shared-cares-libpath=${LOCALBASE}/lib + +.include "${.CURDIR}/common.mk" .include .if ${ARCH} == "armv6" diff --git a/www/node/common.mk b/www/node/common.mk new file mode 100644 index 0000000..0bb9e58 --- /dev/null +++ b/www/node/common.mk @@ -0,0 +1,16 @@ +LIB_DEPENDS+= libuv.so:devel/libuv +CONFIGURE_ARGS+= --shared-libuv \ + --shared-libuv-includes=${LOCALBASE}/include \ + --shared-libuv-libpath=${LOCALBASE}/lib + +USE_OPENSSL=yes +.if !defined(OSVERSION) || (${OSVERSION} < 1100000) +# node.js requires openssl 1.0.2, use the port since base isn't new enough +WITH_OPENSSL_PORT=yes +.endif +CONFIGURE_ARGS+= --shared-openssl \ + --shared-openssl-includes=${OPENSSLINC} \ + --shared-openssl-libpath=${OPENSSLLIB} +.if defined(OPENSSL_PORT) && (${OPENSSL_PORT} == "security/libressl" || ${OPENSSL_PORT} == "security/libressl-devel") +IGNORE= node.js does not support building with LibreSSL +.endif diff --git a/www/node/pkg-plist b/www/node/pkg-plist index b65c64f..9f173d0 100644 --- a/www/node/pkg-plist +++ b/www/node/pkg-plist @@ -1,127 +1,12 @@ bin/node -include/node/android-ifaddrs.h -include/node/ares.h -include/node/ares_build.h -include/node/ares_rules.h -include/node/ares_version.h include/node/common.gypi include/node/config.gypi include/node/libplatform/libplatform.h -include/node/nameser.h include/node/node.h include/node/node_buffer.h include/node/node_internals.h include/node/node_object_wrap.h include/node/node_version.h -include/node/openssl/aes.h -include/node/openssl/archs/BSD-x86/opensslconf.h -include/node/openssl/archs/BSD-x86_64/opensslconf.h -include/node/openssl/archs/VC-WIN32/opensslconf.h -include/node/openssl/archs/VC-WIN64A/opensslconf.h -include/node/openssl/archs/aix-gcc/opensslconf.h -include/node/openssl/archs/aix64-gcc/opensslconf.h -include/node/openssl/archs/darwin-i386-cc/opensslconf.h -include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h -include/node/openssl/archs/linux-aarch64/opensslconf.h -include/node/openssl/archs/linux-armv4/opensslconf.h -include/node/openssl/archs/linux-elf/opensslconf.h -include/node/openssl/archs/linux-ppc/opensslconf.h -include/node/openssl/archs/linux-ppc64/opensslconf.h -include/node/openssl/archs/linux-x32/opensslconf.h -include/node/openssl/archs/linux-x86_64/opensslconf.h -include/node/openssl/archs/linux32-s390x/opensslconf.h -include/node/openssl/archs/linux64-s390x/opensslconf.h -include/node/openssl/archs/solaris-x86-gcc/opensslconf.h -include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h -include/node/openssl/asn1.h -include/node/openssl/asn1_mac.h -include/node/openssl/asn1t.h -include/node/openssl/bio.h -include/node/openssl/blowfish.h -include/node/openssl/bn.h -include/node/openssl/buffer.h -include/node/openssl/camellia.h -include/node/openssl/cast.h -include/node/openssl/cmac.h -include/node/openssl/cms.h -include/node/openssl/comp.h -include/node/openssl/conf.h -include/node/openssl/conf_api.h -include/node/openssl/crypto.h -include/node/openssl/des.h -include/node/openssl/des_old.h -include/node/openssl/dh.h -include/node/openssl/dsa.h -include/node/openssl/dso.h -include/node/openssl/dtls1.h -include/node/openssl/e_os2.h -include/node/openssl/ebcdic.h -include/node/openssl/ec.h -include/node/openssl/ecdh.h -include/node/openssl/ecdsa.h -include/node/openssl/engine.h -include/node/openssl/err.h -include/node/openssl/evp.h -include/node/openssl/hmac.h -include/node/openssl/idea.h -include/node/openssl/krb5_asn.h -include/node/openssl/kssl.h -include/node/openssl/lhash.h -include/node/openssl/md4.h -include/node/openssl/md5.h -include/node/openssl/mdc2.h -include/node/openssl/modes.h -include/node/openssl/obj_mac.h -include/node/openssl/objects.h -include/node/openssl/ocsp.h -include/node/openssl/opensslconf.h -include/node/openssl/opensslv.h -include/node/openssl/ossl_typ.h -include/node/openssl/pem.h -include/node/openssl/pem2.h -include/node/openssl/pkcs12.h -include/node/openssl/pkcs7.h -include/node/openssl/pqueue.h -include/node/openssl/rand.h -include/node/openssl/rc2.h -include/node/openssl/rc4.h -include/node/openssl/ripemd.h -include/node/openssl/rsa.h -include/node/openssl/safestack.h -include/node/openssl/seed.h -include/node/openssl/sha.h -include/node/openssl/srp.h -include/node/openssl/srtp.h -include/node/openssl/ssl.h -include/node/openssl/ssl2.h -include/node/openssl/ssl23.h -include/node/openssl/ssl3.h -include/node/openssl/stack.h -include/node/openssl/symhacks.h -include/node/openssl/tls1.h -include/node/openssl/ts.h -include/node/openssl/txt_db.h -include/node/openssl/ui.h -include/node/openssl/ui_compat.h -include/node/openssl/whrlpool.h -include/node/openssl/x509.h -include/node/openssl/x509_vfy.h -include/node/openssl/x509v3.h -include/node/pthread-barrier.h -include/node/pthread-fixes.h -include/node/stdint-msvc2008.h -include/node/tree.h -include/node/uv-aix.h -include/node/uv-bsd.h -include/node/uv-darwin.h -include/node/uv-errno.h -include/node/uv-linux.h -include/node/uv-sunos.h -include/node/uv-threadpool.h -include/node/uv-unix.h -include/node/uv-version.h -include/node/uv-win.h -include/node/uv.h include/node/v8-debug.h include/node/v8-experimental.h include/node/v8-platform.h diff --git a/www/node4/Makefile b/www/node4/Makefile index a95d4e1..3299ac7 100644 --- a/www/node4/Makefile +++ b/www/node4/Makefile @@ -28,6 +28,7 @@ PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} REINPLACE_ARGS= -i '' MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} +.include "${.CURDIR}/../node/common.mk" .include .if ${COMPILER_TYPE} == clang diff --git a/www/node4/pkg-plist b/www/node4/pkg-plist index bf262a8..157d9e1 100644 --- a/www/node4/pkg-plist +++ b/www/node4/pkg-plist @@ -1,5 +1,4 @@ bin/node -include/node/android-ifaddrs.h include/node/ares.h include/node/ares_version.h include/node/common.gypi @@ -11,112 +10,6 @@ include/node/node_buffer.h include/node/node_internals.h include/node/node_object_wrap.h include/node/node_version.h -include/node/openssl/aes.h -include/node/openssl/archs/BSD-x86/opensslconf.h -include/node/openssl/archs/BSD-x86_64/opensslconf.h -include/node/openssl/archs/VC-WIN32/opensslconf.h -include/node/openssl/archs/VC-WIN64A/opensslconf.h -include/node/openssl/archs/aix-gcc/opensslconf.h -include/node/openssl/archs/aix64-gcc/opensslconf.h -include/node/openssl/archs/darwin-i386-cc/opensslconf.h -include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h -include/node/openssl/archs/linux-aarch64/opensslconf.h -include/node/openssl/archs/linux-armv4/opensslconf.h -include/node/openssl/archs/linux-elf/opensslconf.h -include/node/openssl/archs/linux-ppc/opensslconf.h -include/node/openssl/archs/linux-ppc64/opensslconf.h -include/node/openssl/archs/linux-x32/opensslconf.h -include/node/openssl/archs/linux-x86_64/opensslconf.h -include/node/openssl/archs/solaris-x86-gcc/opensslconf.h -include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h -include/node/openssl/asn1.h -include/node/openssl/asn1_mac.h -include/node/openssl/asn1t.h -include/node/openssl/bio.h -include/node/openssl/blowfish.h -include/node/openssl/bn.h -include/node/openssl/buffer.h -include/node/openssl/camellia.h -include/node/openssl/cast.h -include/node/openssl/cmac.h -include/node/openssl/cms.h -include/node/openssl/comp.h -include/node/openssl/conf.h -include/node/openssl/conf_api.h -include/node/openssl/crypto.h -include/node/openssl/des.h -include/node/openssl/des_old.h -include/node/openssl/dh.h -include/node/openssl/dsa.h -include/node/openssl/dso.h -include/node/openssl/dtls1.h -include/node/openssl/e_os2.h -include/node/openssl/ebcdic.h -include/node/openssl/ec.h -include/node/openssl/ecdh.h -include/node/openssl/ecdsa.h -include/node/openssl/engine.h -include/node/openssl/err.h -include/node/openssl/evp.h -include/node/openssl/hmac.h -include/node/openssl/idea.h -include/node/openssl/krb5_asn.h -include/node/openssl/kssl.h -include/node/openssl/lhash.h -include/node/openssl/md4.h -include/node/openssl/md5.h -include/node/openssl/mdc2.h -include/node/openssl/modes.h -include/node/openssl/obj_mac.h -include/node/openssl/objects.h -include/node/openssl/ocsp.h -include/node/openssl/opensslconf.h -include/node/openssl/opensslv.h -include/node/openssl/ossl_typ.h -include/node/openssl/pem.h -include/node/openssl/pem2.h -include/node/openssl/pkcs12.h -include/node/openssl/pkcs7.h -include/node/openssl/pqueue.h -include/node/openssl/rand.h -include/node/openssl/rc2.h -include/node/openssl/rc4.h -include/node/openssl/ripemd.h -include/node/openssl/rsa.h -include/node/openssl/safestack.h -include/node/openssl/seed.h -include/node/openssl/sha.h -include/node/openssl/srp.h -include/node/openssl/srtp.h -include/node/openssl/ssl.h -include/node/openssl/ssl2.h -include/node/openssl/ssl23.h -include/node/openssl/ssl3.h -include/node/openssl/stack.h -include/node/openssl/symhacks.h -include/node/openssl/tls1.h -include/node/openssl/ts.h -include/node/openssl/txt_db.h -include/node/openssl/ui.h -include/node/openssl/ui_compat.h -include/node/openssl/whrlpool.h -include/node/openssl/x509.h -include/node/openssl/x509_vfy.h -include/node/openssl/x509v3.h -include/node/pthread-fixes.h -include/node/stdint-msvc2008.h -include/node/tree.h -include/node/uv-aix.h -include/node/uv-bsd.h -include/node/uv-darwin.h -include/node/uv-errno.h -include/node/uv-linux.h -include/node/uv-sunos.h -include/node/uv-threadpool.h -include/node/uv-unix.h -include/node/uv-version.h -include/node/uv-win.h -include/node/uv.h include/node/v8-debug.h include/node/v8-platform.h include/node/v8-profiler.h diff --git a/www/node5/Makefile b/www/node5/Makefile index 82dd900b..e66b4c9 100644 --- a/www/node5/Makefile +++ b/www/node5/Makefile @@ -16,13 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE DEPRECATED= Upstream provides limited support after the release of v6.0.0, see https://nodejs.org/en/blog/release/v6.0.0/#what-about-node-js-v5 EXPIRATION_DATE= 2016-07-01 -OPTIONS_DEFINE= BUNDLED_SSL DOCS -OPTIONS_DEFAULT=BUNDLED_SSL -OPTIONS_SUB= yes - -BUNDLED_SSL_DESC= Use node's bundled OpenSSL implementation -BUNDLED_SSL_USE_OFF= OPENSSL=yes -BUNDLED_SSL_VARS_OFF= WITH_OPENSSL_PORT=yes +OPTIONS_DEFINE= DOCS USES= compiler execinfo gmake python:2 HAS_CONFIGURE= yes @@ -36,6 +30,7 @@ PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} REINPLACE_ARGS= -i '' MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} +.include "${.CURDIR}/../node/common.mk" .include .if ${COMPILER_TYPE} == clang diff --git a/www/node5/pkg-plist b/www/node5/pkg-plist index 66d0273..48d3748 100644 --- a/www/node5/pkg-plist +++ b/www/node5/pkg-plist @@ -1,5 +1,4 @@ bin/node -include/node/android-ifaddrs.h include/node/ares.h include/node/ares_build.h include/node/ares_rules.h @@ -13,114 +12,6 @@ include/node/node_buffer.h include/node/node_internals.h include/node/node_object_wrap.h include/node/node_version.h -%%BUNDLED_SSL%%include/node/openssl/aes.h -%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/asn1.h -%%BUNDLED_SSL%%include/node/openssl/asn1_mac.h -%%BUNDLED_SSL%%include/node/openssl/asn1t.h -%%BUNDLED_SSL%%include/node/openssl/bio.h -%%BUNDLED_SSL%%include/node/openssl/blowfish.h -%%BUNDLED_SSL%%include/node/openssl/bn.h -%%BUNDLED_SSL%%include/node/openssl/buffer.h -%%BUNDLED_SSL%%include/node/openssl/camellia.h -%%BUNDLED_SSL%%include/node/openssl/cast.h -%%BUNDLED_SSL%%include/node/openssl/cmac.h -%%BUNDLED_SSL%%include/node/openssl/cms.h -%%BUNDLED_SSL%%include/node/openssl/comp.h -%%BUNDLED_SSL%%include/node/openssl/conf.h -%%BUNDLED_SSL%%include/node/openssl/conf_api.h -%%BUNDLED_SSL%%include/node/openssl/crypto.h -%%BUNDLED_SSL%%include/node/openssl/des.h -%%BUNDLED_SSL%%include/node/openssl/des_old.h -%%BUNDLED_SSL%%include/node/openssl/dh.h -%%BUNDLED_SSL%%include/node/openssl/dsa.h -%%BUNDLED_SSL%%include/node/openssl/dso.h -%%BUNDLED_SSL%%include/node/openssl/dtls1.h -%%BUNDLED_SSL%%include/node/openssl/e_os2.h -%%BUNDLED_SSL%%include/node/openssl/ebcdic.h -%%BUNDLED_SSL%%include/node/openssl/ec.h -%%BUNDLED_SSL%%include/node/openssl/ecdh.h -%%BUNDLED_SSL%%include/node/openssl/ecdsa.h -%%BUNDLED_SSL%%include/node/openssl/engine.h -%%BUNDLED_SSL%%include/node/openssl/err.h -%%BUNDLED_SSL%%include/node/openssl/evp.h -%%BUNDLED_SSL%%include/node/openssl/hmac.h -%%BUNDLED_SSL%%include/node/openssl/idea.h -%%BUNDLED_SSL%%include/node/openssl/krb5_asn.h -%%BUNDLED_SSL%%include/node/openssl/kssl.h -%%BUNDLED_SSL%%include/node/openssl/lhash.h -%%BUNDLED_SSL%%include/node/openssl/md4.h -%%BUNDLED_SSL%%include/node/openssl/md5.h -%%BUNDLED_SSL%%include/node/openssl/mdc2.h -%%BUNDLED_SSL%%include/node/openssl/modes.h -%%BUNDLED_SSL%%include/node/openssl/obj_mac.h -%%BUNDLED_SSL%%include/node/openssl/objects.h -%%BUNDLED_SSL%%include/node/openssl/ocsp.h -%%BUNDLED_SSL%%include/node/openssl/opensslconf.h -%%BUNDLED_SSL%%include/node/openssl/opensslv.h -%%BUNDLED_SSL%%include/node/openssl/ossl_typ.h -%%BUNDLED_SSL%%include/node/openssl/pem.h -%%BUNDLED_SSL%%include/node/openssl/pem2.h -%%BUNDLED_SSL%%include/node/openssl/pkcs12.h -%%BUNDLED_SSL%%include/node/openssl/pkcs7.h -%%BUNDLED_SSL%%include/node/openssl/pqueue.h -%%BUNDLED_SSL%%include/node/openssl/rand.h -%%BUNDLED_SSL%%include/node/openssl/rc2.h -%%BUNDLED_SSL%%include/node/openssl/rc4.h -%%BUNDLED_SSL%%include/node/openssl/ripemd.h -%%BUNDLED_SSL%%include/node/openssl/rsa.h -%%BUNDLED_SSL%%include/node/openssl/safestack.h -%%BUNDLED_SSL%%include/node/openssl/seed.h -%%BUNDLED_SSL%%include/node/openssl/sha.h -%%BUNDLED_SSL%%include/node/openssl/srp.h -%%BUNDLED_SSL%%include/node/openssl/srtp.h -%%BUNDLED_SSL%%include/node/openssl/ssl.h -%%BUNDLED_SSL%%include/node/openssl/ssl2.h -%%BUNDLED_SSL%%include/node/openssl/ssl23.h -%%BUNDLED_SSL%%include/node/openssl/ssl3.h -%%BUNDLED_SSL%%include/node/openssl/stack.h -%%BUNDLED_SSL%%include/node/openssl/symhacks.h -%%BUNDLED_SSL%%include/node/openssl/tls1.h -%%BUNDLED_SSL%%include/node/openssl/ts.h -%%BUNDLED_SSL%%include/node/openssl/txt_db.h -%%BUNDLED_SSL%%include/node/openssl/ui.h -%%BUNDLED_SSL%%include/node/openssl/ui_compat.h -%%BUNDLED_SSL%%include/node/openssl/whrlpool.h -%%BUNDLED_SSL%%include/node/openssl/x509.h -%%BUNDLED_SSL%%include/node/openssl/x509_vfy.h -%%BUNDLED_SSL%%include/node/openssl/x509v3.h -include/node/pthread-fixes.h -include/node/stdint-msvc2008.h -include/node/tree.h -include/node/uv-aix.h -include/node/uv-bsd.h -include/node/uv-darwin.h -include/node/uv-errno.h -include/node/uv-linux.h -include/node/uv-sunos.h -include/node/uv-threadpool.h -include/node/uv-unix.h -include/node/uv-version.h -include/node/uv-win.h -include/node/uv.h include/node/v8-debug.h include/node/v8-platform.h include/node/v8-profiler.h