void-packages/srcpkgs/nodejs/template
q66 25b72b7823 nodejs: reenable ppc64 BE support
While it's not officially listed, it has been reported to still
work fine, and is most likely to keep working fine as BE support
is still required for AIX.

[ci skip]
2019-01-21 00:24:24 -02:00

81 lines
2.6 KiB
Bash

# Template file for 'nodejs'
pkgname=nodejs
version=11.7.0
revision=1
wrksrc="node-v${version}"
# Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079
hostmakedepends="pkg-config python zlib-devel $(vopt_if icu icu-devel)
$(vopt_if ssl libressl-devel) $(vopt_if libuv libuv-devel)
$(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
$(vopt_if cares c-ares-devel) $(vopt_if http_parser llhttp-devel)"
makedepends="zlib-devel python-devel $(vopt_if icu icu-devel)
$(vopt_if ssl libressl-devel) $(vopt_if libuv libuv-devel)
$(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
$(vopt_if cares c-ares-devel) $(vopt_if http_parser llhttp-devel)"
short_desc="Evented I/O for V8 javascript"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="MIT"
homepage="https://nodejs.org/"
distfiles="${homepage}/dist/v${version}/node-v${version}.tar.gz"
checksum=4d95471083735c275ed3fb4d61458940887edbaae663d0c96ea5395c087ab9dc
build_options="ssl libuv http_parser icu nghttp2 cares"
desc_option_ssl="Enable shared libressl"
desc_option_libuv="Enable shared libuv"
desc_option_http_parser="Enable shared http-parser and llhttp"
desc_option_icu="Enable shared icu"
desc_option_nghttp2="Enable shared nghttp2"
desc_option_cares="Enable shared c-ares"
build_options_default="libuv http_parser icu nghttp2 cares"
replaces="iojs>=0"
conflicts="nodejs-lts"
provides="nodejs-runtime-0_1"
case "$XBPS_TARGET_MACHINE" in
arm*)
case "$XBPS_MACHINE" in
x86_64*|aarch64*)
nocross="Can't cross-compile to 32bit-host from 64bit-host";;
esac ;;
esac
do_configure() {
local _args
export LD="$CXX"
if [ "$CROSS_BUILD" ]; then
case "$XBPS_TARGET_MACHINE" in
aarch64*) _args="--dest-cpu=arm64 --without-snapshot" ;;
ppc64*) _args="--dest-cpu=ppc64 --without-snapshot" ;;
*) msg_error "$pkgver: cannot be cross compiled for ${XBPS_TARGET_MACHINE}.\n" ;;
esac
fi
./configure --prefix=/usr --shared-zlib \
$(vopt_if icu --with-intl=system-icu) \
$(vopt_if http_parser --shared-http-parser) \
$(vopt_if ssl --shared-openssl) \
$(vopt_if libuv --shared-libuv) \
$(vopt_if nghttp2 --shared-nghttp2) \
$(vopt_if cares --shared-cares) ${_args}
}
post_configure() {
# Fix linking against llhttp
sed 's/http_parser/& -lllhttp/' \
-i out/cctest.target.mk \
-i out/node.target.mk
}
do_build() {
if [ "$CROSS_BUILD" ]; then
make LD="$CXX" LDFLAGS+=-ldl ${makejobs} PORTABLE=1 V=1
else
make LD="$CXX" LDFLAGS+=-ldl ${makejobs} V=1
fi
}
do_install() {
make LD="$CXX" LDFLAGS+=-ldl DESTDIR="$DESTDIR" install
vlicense LICENSE
rm -r $DESTDIR/usr/include
}