summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradamw <adamw@FreeBSD.org>2016-06-14 15:53:53 +0000
committeradamw <adamw@FreeBSD.org>2016-06-14 15:53:53 +0000
commit1552865798696572c2c9fda62f40d4f55b924b60 (patch)
tree4223b5efb8e40c015c46b24ec953fd2cbff35166
parent514fe37bf48c12af2b814b5e711244490cfc4995 (diff)
downloadFreeBSD-ports-1552865798696572c2c9fda62f40d4f55b924b60.zip
FreeBSD-ports-1552865798696572c2c9fda62f40d4f55b924b60.tar.gz
Prefer external libraries to the ones bundled with node.
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. node cannot build against LibreSSL, so if it's the chosen SSL provider, the BUNDLED_SSL option must be enabled. 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. PR: 209793 Submitted by: Bradley T. Hughes (maintainer)
-rw-r--r--www/node/Makefile39
-rw-r--r--www/node/pkg-plist209
-rw-r--r--www/node4/Makefile37
-rw-r--r--www/node4/pkg-plist199
-rw-r--r--www/node5/Makefile41
-rw-r--r--www/node5/pkg-plist15
6 files changed, 283 insertions, 257 deletions
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 <bsd.port.options.mk>
+
+.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 <bsd.port.pre.mk>
+.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 <bsd.port.options.mk>
+
+.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 <bsd.port.pre.mk>
+.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 82dd900..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 <bsd.port.options.mk>
+
+.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 <bsd.port.pre.mk>
+.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
OpenPOWER on IntegriCloud