aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2016-06-14 23:53:53 +0800
committerAdam Weinberger <adamw@FreeBSD.org>2016-06-14 23:53:53 +0800
commit087e807c6c0e1d9eec11a74dda323f95a7baf742 (patch)
tree4223b5efb8e40c015c46b24ec953fd2cbff35166
parent6cd6da01c60f2a0073818cac88b1f6f1cba46dfb (diff)
downloadfreebsd-ports-gnome-087e807c6c0e1d9eec11a74dda323f95a7baf742.tar.gz
freebsd-ports-gnome-087e807c6c0e1d9eec11a74dda323f95a7baf742.tar.zst
freebsd-ports-gnome-087e807c6c0e1d9eec11a74dda323f95a7baf742.zip
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 78e2edbcf98d..536f52a64b4e 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 8fe3eb94e7be..5bd78165306d 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 a95d4e1c0b33..222b45ee67f5 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 bf262a8ea55f..0d3ac23fbecd 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 82dd900bc70f..67957af0eaee 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 66d027384518..ab60e781ded4 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