Skip to content

Commit

Permalink
www/node*: add BUNDLED_SSL option, defaulting to on for POLA
Browse files Browse the repository at this point in the history
Allow node.js to be built against a shared openssl, either from base
(for 0.10.x and 0.12.x) or ports (4.x and 5.x).
  • Loading branch information
bradleythughes committed Apr 19, 2016
1 parent 2e54bbb commit b292974
Show file tree
Hide file tree
Showing 8 changed files with 390 additions and 338 deletions.
14 changes: 13 additions & 1 deletion www/node/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ COMMENT= V8 JavaScript for client and server (5.x)
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE

OPTIONS_DEFINE= DOCS
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

USES= compiler execinfo gmake python:2
HAS_CONFIGURE= yes
Expand Down Expand Up @@ -43,6 +49,12 @@ 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
Expand Down
188 changes: 94 additions & 94 deletions www/node/pkg-plist
Original file line number Diff line number Diff line change
Expand Up @@ -13,100 +13,100 @@ 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
%%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
Expand Down
14 changes: 14 additions & 0 deletions www/node010/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ COMMENT= V8 JavaScript for client and server
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE

OPTIONS_DEFINE= BUNDLED_SSL
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_BASE=yes

USES= compiler execinfo gmake python:2
HAS_CONFIGURE= yes
USE_LDCONFIG= yes
Expand Down Expand Up @@ -42,6 +50,12 @@ MAKE_ARGS+= strictaliasing=off
USE_GCC= any
.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 '1 s|${SETENV} python|${PYTHON_CMD}|' ${WRKSRC}/configure
@${REINPLACE_CMD} -e "s|'python',|'${PYTHON_CMD}',|" \
Expand Down
Loading

0 comments on commit b292974

Please sign in to comment.