From c7db8c1e5429529b50f17128b254fbc8e4ffb994 Mon Sep 17 00:00:00 2001 From: Michael Aldridge Date: Sat, 10 Aug 2019 14:08:31 -0700 Subject: [PATCH] nodejs-lts: update to 10.16.2. --- srcpkgs/nodejs-lts/patches/ppc64.patch | 41 ------------------------ srcpkgs/nodejs-lts/template | 43 +++++++++++++++++++------- 2 files changed, 31 insertions(+), 53 deletions(-) delete mode 100644 srcpkgs/nodejs-lts/patches/ppc64.patch diff --git a/srcpkgs/nodejs-lts/patches/ppc64.patch b/srcpkgs/nodejs-lts/patches/ppc64.patch deleted file mode 100644 index 8190db1ce6f..00000000000 --- a/srcpkgs/nodejs-lts/patches/ppc64.patch +++ /dev/null @@ -1,41 +0,0 @@ -Taken from Adélie Linux, fixes node on big endian ELFv2. ---- deps/v8/src/ppc/assembler-ppc.h.old 2019-03-05 15:16:29.000000000 +0000 -+++ deps/v8/src/ppc/assembler-ppc.h 2019-04-02 07:05:25.977213735 +0000 -@@ -48,7 +48,8 @@ - #include "src/ppc/constants-ppc.h" - - #if V8_HOST_ARCH_PPC && \ -- (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN)) -+ (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && \ -+ (V8_TARGET_BIG_ENDIAN && (!defined(_CALL_ELF) || _CALL_ELF == 1)))) - #define ABI_USES_FUNCTION_DESCRIPTORS 1 - #else - #define ABI_USES_FUNCTION_DESCRIPTORS 0 -@@ -60,13 +61,15 @@ - #define ABI_PASSES_HANDLES_IN_REGS 0 - #endif - --#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN -+#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \ -+ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)) - #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 - #else - #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 - #endif - --#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN) -+#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && \ -+ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) - #define ABI_CALL_VIA_IP 1 - #else - #define ABI_CALL_VIA_IP 0 -@@ -220,7 +220,8 @@ - // The following constants describe the stack frame linkage area as - // defined by the ABI. Note that kNumRequiredStackFrameSlots must - // satisfy alignment requirements (rounding up if required). --#if V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN -+#if V8_TARGET_ARCH_PPC64 && (V8_TARGET_LITTLE_ENDIAN || \ -+ defined(_CALL_ELF) && _CALL_ELF == 2) - // [0] back chain - // [1] condition register save area - // [2] link register save area diff --git a/srcpkgs/nodejs-lts/template b/srcpkgs/nodejs-lts/template index 7de201b6593..838ba60d858 100644 --- a/srcpkgs/nodejs-lts/template +++ b/srcpkgs/nodejs-lts/template @@ -1,46 +1,65 @@ # Template file for 'nodejs-lts' pkgname=nodejs-lts -version=8.15.0 -revision=2 +version=10.16.2 +revision=1 wrksrc="node-v${version}" -hostmakedepends="pkg-config python $(vopt_if icu icu)" +# 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)" 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 http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel) + $(vopt_if cares c-ares-devel)" short_desc="Evented I/O for V8 javascript" -maintainer="Michael Aldridge " +maintainer="Enno Boland " license="MIT" homepage="https://nodejs.org/" distfiles="${homepage}/dist/v${version}/node-v${version}.tar.gz" -checksum=590fc8b09c2466f8f7854ce3342ae1d0ba421c104999b7bd54ec0c690321d2aa +checksum=5936ef12ab3f0ce5fbb6751c1bb41f626b6058f414a297b3d8c5eb418a27e8fe -build_options="ssl libuv http_parser icu" +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" desc_option_icu="Enable shared icu" -build_options_default="libuv http_parser 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" 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 ;; + ppc64le*) ;; + ppc64*) broken="Node is not supported on ppc64 BE Linux";; +esac + do_configure() { local _args export LD="$CXX" if [ "$CROSS_BUILD" ]; then case "$XBPS_TARGET_MACHINE" in - arm*) _args="--dest-cpu=arm --without-snapshot" ;; 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" ;; + ppc64le*) _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) ${_args} + $(vopt_if libuv --shared-libuv) \ + $(vopt_if nghttp2 --shared-nghttp2) \ + $(vopt_if cares --shared-cares) ${_args} } do_build() { if [ "$CROSS_BUILD" ]; then