4c3e6cc301
patches/ppc32.patch used "host_arch" instead of "target_arch" to check whether to link against -latomic, and didn't include 32-bit ARM in the list of targets that might need it. This addresses build failures on armv6l as well as some lesser-used architectures. Additionally, libatomic-devel is now included in makedepends for all architectures (not just when `XBPS_TARGET_NO_ATOMIC8` is set) because the build system can't tell the difference between armv6l and armv7l. This matches how it's done for `nodejs{,-lts}` and doesn't cause the armv7l build to actually depend on libatomic at runtime.
96 lines
3 KiB
Bash
96 lines
3 KiB
Bash
# Template file for 'nodejs-lts-10'
|
|
pkgname=nodejs-lts-10
|
|
version=10.24.0
|
|
revision=2
|
|
wrksrc="node-v${version}"
|
|
# atomic8.patch will pull in -latomic even for some architectures
|
|
# not covered by XBPS_TARGET_NO_ATOMIC8.
|
|
hostmakedepends="pkg-config python which zlib-devel libatomic-devel
|
|
$(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
|
|
$(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
|
|
$(vopt_if cares c-ares-devel)"
|
|
makedepends="libatomic-devel zlib-devel python-devel
|
|
$(vopt_if icu icu-devel) $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
|
|
$(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
|
|
$(vopt_if cares c-ares-devel)"
|
|
checkdepends="procps-ng"
|
|
short_desc="Evented I/O for V8 javascript (Dubnium)"
|
|
maintainer="k4leg <d0xi@inbox.ru>"
|
|
license="MIT"
|
|
homepage="https://nodejs.org/"
|
|
distfiles="${homepage}/download/release/v${version}/node-v${version}.tar.xz"
|
|
checksum=158273af66f891b2fca90aec7336c42f7574f467affad02c14e80ca163cb3acc
|
|
python_version=3
|
|
|
|
build_options="ssl libuv http_parser icu nghttp2 cares"
|
|
desc_option_ssl="Enable shared openssl"
|
|
desc_option_libuv="Enable shared libuv"
|
|
desc_option_http_parser="Enable shared http-parser"
|
|
desc_option_icu="Enable shared icu"
|
|
desc_option_nghttp2="Enable shared nghttp2"
|
|
desc_option_cares="Enable shared c-ares"
|
|
build_options_default="ssl libuv http_parser icu nghttp2 cares"
|
|
|
|
replaces="iojs>=0"
|
|
conflicts="nodejs nodejs-lts"
|
|
provides="nodejs-runtime-0_1"
|
|
|
|
if [ "$XBPS_WORDSIZE" -ne "$XBPS_TARGET_WORDSIZE" ]; then
|
|
nocross="host and target must have the same pointer size"
|
|
fi
|
|
|
|
CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
|
CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
|
|
|
do_configure() {
|
|
local _args
|
|
|
|
export LD="$CXX"
|
|
if [ "$CROSS_BUILD" ]; then
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
arm*) _args="--dest-cpu=arm" ;;
|
|
aarch64*) _args="--dest-cpu=arm64" ;;
|
|
ppc64*) _args="--dest-cpu=ppc64" ;;
|
|
ppc*) _args="--dest-cpu=ppc" ;;
|
|
mipsel*) _args="--dest-cpu=mipsel" ;;
|
|
mips*) _args="--dest-cpu=mips" ;;
|
|
i686*) _args="--dest-cpu=x86" ;;
|
|
x86_64*) _args="--dest-cpu=x86_64" ;;
|
|
*) msg_error "$pkgver: cannot be cross compiled for ${XBPS_TARGET_MACHINE}.\n" ;;
|
|
esac
|
|
_args+=" --without-snapshot"
|
|
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}
|
|
}
|
|
|
|
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_check() {
|
|
make LD="$CXX" LDFLAGS+=-ldl ${makejobs} V=1 test-only
|
|
}
|
|
|
|
do_install() {
|
|
make LD="$CXX" LDFLAGS+=-ldl DESTDIR="$DESTDIR" install
|
|
rm $DESTDIR/usr/include/node/openssl -rf
|
|
vlicense LICENSE
|
|
}
|
|
|
|
nodejs-lts-10-devel_package() {
|
|
short_desc+=" (development files)"
|
|
conflicts="nodejs-devel nodejs-lts-devel"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
}
|
|
}
|