forked from Lainports/freebsd-ports
No changes from the previous verison. This release ensures that the hosted binaries from the Node.js project adhere to the platform support contract, which does not apply to the FreeBSD port and packages. MFH: 2018Q2
91 lines
2.7 KiB
Makefile
91 lines
2.7 KiB
Makefile
# Created by: Jin-Sih Lin <linpct@gmail.com>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= node
|
|
PORTVERSION= 4.9.1
|
|
DISTVERSIONPREFIX= v
|
|
CATEGORIES= www
|
|
MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/
|
|
PKGNAMESUFFIX= 4
|
|
|
|
MAINTAINER= bhughes@FreeBSD.org
|
|
COMMENT= V8 JavaScript for client and server (4.x LTS)
|
|
|
|
LICENSE= MIT
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS
|
|
OPTIONS_DEFAULT=
|
|
OPTIONS_SUB= yes
|
|
|
|
OPTIONS_DEFAULT_FreeBSD_10= BUNDLED_SSL
|
|
OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}}
|
|
|
|
BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation #'
|
|
BUNDLED_SSL_USES_OFF= ssl
|
|
BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl
|
|
|
|
NLS_CONFIGURE_ON= --with-intl=system-icu
|
|
NLS_LIB_DEPENDS= libicui18n.so:devel/icu
|
|
|
|
USES= compiler:c++11-lib gmake python:2.7 pkgconfig localbase
|
|
HAS_CONFIGURE= yes
|
|
USE_LDCONFIG= yes
|
|
|
|
CONFLICTS_INSTALL= node[568]-[0-9]* node-[0-9]*
|
|
|
|
ONLY_FOR_ARCHS= amd64 i386
|
|
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}
|
|
|
|
LIB_DEPENDS+= libuv.so:devel/libuv
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if empty(PORT_OPTIONS:MBUNDLED_SSL)
|
|
|
|
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100085 && ${SSL_DEFAULT} == base
|
|
IGNORE= node.js requires openssl 1.0.2, add DEFAULT_VERSIONS+=ssl=openssl to /etc/make.conf or enable BUNDLED_SSL option
|
|
.endif
|
|
|
|
.if !empty(SSL_DEFAULT:Mlibressl*)
|
|
IGNORE= cannot build node.js with LibreSSL. You must enable BUNDLED_SSL
|
|
.endif
|
|
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
|
|
${WRKSRC}/deps/v8/tools/gyp/v8.gyp
|
|
@${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
|
|
${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e "s|python -c|${PYTHON_CMD} -c|" \
|
|
${WRKSRC}/deps/v8/build/toolchain.gypi
|
|
@${REINPLACE_CMD} -e "s|'python',|'${PYTHON_CMD}',|" \
|
|
${WRKSRC}/common.gypi \
|
|
${WRKSRC}/deps/v8/build/shim_headers.gypi \
|
|
${WRKSRC}/deps/v8/build/standalone.gypi \
|
|
${WRKSRC}/deps/v8/src/d8.gyp \
|
|
${WRKSRC}/deps/v8/tools/gyp/v8.gyp \
|
|
${WRKSRC}/node.gyp \
|
|
${WRKSRC}/tools/icu/icu-generic.gyp
|
|
|
|
post-configure:
|
|
# Post-process Makefile and *.mk files created by node-gyp and remove
|
|
# all occurrences of -I${LOCALBASE}/include. C*FLAGS include this
|
|
# before all -I../deps/* for bundled code. This can cause build
|
|
# breakages if the dependency is installed in ${LOCALBASE}. The
|
|
# USES+=localbase above will ensure that we pick up includes for real
|
|
# external dependencies.
|
|
${FIND} ${WRKSRC}/out -type f -print0 \
|
|
| ${XARGS} -0 ${REINPLACE_CMD} -e "s|-I${LOCALBASE}/include||g"
|
|
|
|
post-install:
|
|
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node
|
|
|
|
.include <bsd.port.mk>
|