commit e36387855e049acdb08e49ad29d1bb061676b094 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 c-ares, libuv, and OpenSSL libraries into node.js, if possible. Only www/node has a configure knob to enable building against an unbundled dns/c-ares version. All 3 ports depend on devel/libuv. Bump PORTREVISION as a result of the dependency changes. OpenSSL 1.0.2 is required by node.js. Pull in OpenSSL from ports if the base version is not new enough. Note that node.js cannot be built with LibreSSL. Introduce the BUNDLED_SSL option (defaults to off) to allow statically linking the bundled OpenSSL library. The port needs USES=localbase to be able to build with a bundled OpenSSL, otherwise the build would fail if LibreSSL is installed. The www/node010 and www/node012 ports have not been changed 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 78e2edb..536f52a 100644 --- a/www/node/Makefile +++ b/www/node/Makefile @@ -3,6 +3,7 @@ PORTNAME= node PORTVERSION= 6.2.1 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= www MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/ @@ -12,22 +13,52 @@ COMMENT= V8 JavaScript for client and server (6.x) LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -OPTIONS_DEFINE= DOCS +OPTIONS_DEFINE= BUNDLED_SSL DOCS +OPTIONS_SUB= yes -USES= compiler execinfo gmake python:2 +BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation +BUNDLED_SSL_USE_OFF= OPENSSL=yes + +USES= compiler execinfo gmake python:2 localbase HAS_CONFIGURE= yes USE_LDCONFIG= yes CONFLICTS_INSTALL= node4-* node-0.[02-9][0-9]* node-devel-0.[0-9]* node010-[0-9]* node012-[0-9]* iojs-[0-9]* ONLY_FOR_ARCHS= i386 amd64 armv6 -CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} --without-npm --shared-zlib +CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ + --without-npm \ + --shared-cares \ + --shared-libuv \ + --shared-zlib PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} REINPLACE_ARGS= -i '' -MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} +MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} LDFLAGS.host="${LDFLAGS}" LDFLAGS.target="${LDFLAGS}" + +LIB_DEPENDS+= libcares.so:dns/c-ares\ + libuv.so:devel/libuv + +.include + +.if empty(PORT_OPTIONS:MBUNDLED_SSL) + +.if ${OSVERSION} < 1100085 +# 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 + +.endif .include +.if empty(PORT_OPTIONS:MBUNDLED_SSL) +.if defined(OPENSSL_PORT) && (${OPENSSL_PORT} == "security/libressl" || ${OPENSSL_PORT} == "security/libressl-devel") +IGNORE= cannot build node.js with LibreSSL. You must enable BUNDLED_SSL +.endif +.endif + .if ${ARCH} == "armv6" CONFIGURE_ARGS= --openssl-no-asm .endif diff --git a/www/node/pkg-plist b/www/node/pkg-plist index 8fe3eb9..5bd7816 100644 --- a/www/node/pkg-plist +++ b/www/node/pkg-plist @@ -1,126 +1,105 @@ 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_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 +%%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/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..222b45e 100644 --- a/www/node4/Makefile +++ b/www/node4/Makefile @@ -4,6 +4,7 @@ PORTNAME= node PORTVERSION= 4.4.5 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= www MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/ PKGNAMESUFFIX= 4 @@ -14,22 +15,50 @@ COMMENT= V8 JavaScript for client and server (4.x LTS) LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -OPTIONS_DEFINE= DOCS +OPTIONS_DEFINE= BUNDLED_SSL DOCS +OPTIONS_SUB= yes -USES= compiler execinfo gmake python:2 +BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation +BUNDLED_SSL_USE_OFF= OPENSSL=yes + +USES= compiler execinfo gmake python:2 localbase HAS_CONFIGURE= yes USE_LDCONFIG= yes CONFLICTS_INSTALL= node-[0-9]* node-devel-0.[0-9]* node010-[0-9]* node012-[0-9]* iojs-[0-9]* node5-[0-9]* ONLY_FOR_ARCHS= i386 amd64 -CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} --without-npm --shared-zlib +CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ + --without-npm \ + --shared-libuv \ + --shared-zlib PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} REINPLACE_ARGS= -i '' -MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} +MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} LDFLAGS.host="${LDFLAGS}" LDFLAGS.target="${LDFLAGS}" + +LIB_DEPENDS+= libuv.so:devel/libuv + +.include + +.if empty(PORT_OPTIONS:MBUNDLED_SSL) + +.if ${OSVERSION} < 1100085 +# 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 + +.endif .include +.if empty(PORT_OPTIONS:MBUNDLED_SSL) +.if defined(OPENSSL_PORT) && (${OPENSSL_PORT} == "security/libressl" || ${OPENSSL_PORT} == "security/libressl-devel") +IGNORE= cannot build node.js with LibreSSL. You must enable BUNDLED_SSL +.endif +.endif + .if ${COMPILER_TYPE} == clang MAKE_ENV+= LINK=clang++ CFLAGS+= -Wno-unused-private-field diff --git a/www/node4/pkg-plist b/www/node4/pkg-plist index bf262a8..0d3ac23 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,98 @@ 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 +%%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/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/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..67957af 100644 --- a/www/node5/Makefile +++ b/www/node5/Makefile @@ -3,6 +3,7 @@ PORTNAME= node PORTVERSION= 5.11.1 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= www MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/ PKGNAMESUFFIX= 5 @@ -17,27 +18,49 @@ DEPRECATED= Upstream provides limited support after the release of v6.0.0, see h 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_DESC= Use node.js's bundled OpenSSL implementation BUNDLED_SSL_USE_OFF= OPENSSL=yes -BUNDLED_SSL_VARS_OFF= WITH_OPENSSL_PORT=yes -USES= compiler execinfo gmake python:2 +USES= compiler execinfo gmake python:2 localbase HAS_CONFIGURE= yes USE_LDCONFIG= yes CONFLICTS_INSTALL= node-[0-9]* node-devel-[0-9]* node010-[0-9]* node012-[0-9]* iojs-[0-9]* node4-[0-9]* ONLY_FOR_ARCHS= i386 amd64 -CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} --without-npm --shared-zlib +CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ + --without-npm \ + --shared-libuv \ + --shared-zlib PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} REINPLACE_ARGS= -i '' -MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} +MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} LDFLAGS.host="${LDFLAGS}" LDFLAGS.target="${LDFLAGS}" + +LIB_DEPENDS+= libuv.so:devel/libuv + +.include + +.if empty(PORT_OPTIONS:MBUNDLED_SSL) + +.if ${OSVERSION} < 1100085 +# 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 + +.endif .include +.if empty(PORT_OPTIONS:MBUNDLED_SSL) +.if defined(OPENSSL_PORT) && (${OPENSSL_PORT} == "security/libressl" || ${OPENSSL_PORT} == "security/libressl-devel") +IGNORE= cannot build node.js with LibreSSL. You must enable BUNDLED_SSL +.endif +.endif + .if ${COMPILER_TYPE} == clang MAKE_ENV+= LINK=clang++ CFLAGS+= -Wno-unused-private-field @@ -52,12 +75,6 @@ MAKE_ARGS+= strictaliasing=off USE_GCC= yes .endif -.if empty(PORT_OPTIONS:MBUNDLED_SSL) -CONFIGURE_ARGS+= --shared-openssl \ - --shared-openssl-includes=${OPENSSLINC} \ - --shared-openssl-libpath=${OPENSSLLIB} -.endif - post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \ ${WRKSRC}/deps/v8/tools/gyp/v8.gyp diff --git a/www/node5/pkg-plist b/www/node5/pkg-plist index 66d0273..ab60e78 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 @@ -107,20 +106,6 @@ include/node/node_version.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