nodejs-lts: update to 12.13.1. [ci skip]

This commit is contained in:
k4leg 2019-11-03 18:19:50 +03:00 committed by Leah Neukirchen
parent c6175b4dd3
commit ff0a3f7fce
4 changed files with 51 additions and 88 deletions

1
srcpkgs/nodejs-lts-devel Symbolic link
View file

@ -0,0 +1 @@
nodejs-lts

View file

@ -1,42 +1,19 @@
--- configure.py
+++ configure.py
@@ -848,7 +848,7 @@ def host_arch_cc():
'__MIPSEL__' : 'mipsel',
'__mips__' : 'mips',
'__PPC64__' : 'ppc64',
- '__PPC__' : 'ppc64',
+ '__PPC__' : 'ppc',
'__x86_64__' : 'x64',
'__s390__' : 's390',
'__s390x__' : 's390x',
--- node.gyp
+++ node.gyp
@@ -479,6 +479,11 @@
'msvs_disabled_warnings!': [4244],
'conditions': [
+ [ 'host_arch=="mips" or host_arch=="mipsel" or host_arch=="ppc"', {
+ 'link_settings': {
+ 'libraries': [ '-latomic' ],
+ },
+ }],
[ 'node_code_cache_path!=""', {
'sources': [ '<(node_code_cache_path)' ]
}, {
--- deps/v8/src/libsampler/sampler.cc
--- deps/v8/src/libsampler/sampler.cc.orig
+++ deps/v8/src/libsampler/sampler.cc
@@ -418,9 +418,15 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) {
reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
@@ -423,10 +423,17 @@
state->lr = reinterpret_cast<void*>(ucontext->uc_mcontext.regs->link);
#else
// Some C libraries, notably Musl, define the regs member as a void pointer
+ #if !V8_TARGET_ARCH_32_BIT
state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]);
state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]);
state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]);
state->lr = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[36]);
+ #else
+ state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]);
+ state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]);
+ state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]);
+ state->lr = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[36]);
+ #endif
#endif
#elif V8_HOST_ARCH_S390

View file

@ -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

View file

@ -1,45 +1,56 @@
# Template file for 'nodejs-lts'
pkgname=nodejs-lts
version=10.16.2
version=12.13.1
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 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 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=5936ef12ab3f0ce5fbb6751c1bb41f626b6058f414a297b3d8c5eb418a27e8fe
checksum=4ee710087687c8de142329d95085f5cba66e454a2c9ea7ec11e1f4b476d6d1ac
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_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"
conflicts="nodejs nodejs-lts-10"
provides="nodejs-runtime-0_1"
if [ "$XBPS_WORDSIZE" -ne "$XBPS_TARGET_WORDSIZE" ]; then
nocross="host and target must have the same pointer size"
nocross="host and target must have the same pointer size"
fi
case "$XBPS_MACHINE" in
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
ppc*) broken="Node 12.x does not support 32-bit ppc" ;;
esac
# v8 requires libatomic on ppc*/s390x/mips*
case "$XBPS_TARGET_MACHINE" in
mips*|ppc*) makedepends+=" libatomic-devel" ;;
*) ;;
esac
# also need it on host when it's one of those archs
case "$XBPS_MACHINE" in
mips*|ppc*) hostmakedepends+=" libatomic-devel" ;;
*) ;;
*) ;;
esac
do_configure() {
@ -48,17 +59,17 @@ do_configure() {
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" ;;
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"
_args+=" --cross-compiling"
fi
# their pregenerated asm is for ELFv1...
case "$XBPS_TARGET_MACHINE" in
@ -72,6 +83,12 @@ do_configure() {
$(vopt_if nghttp2 --shared-nghttp2) \
$(vopt_if cares --shared-cares) ${_args}
}
post_configure() {
# Fix linking against llhttp
sed 's/-lhttp_parser/& -lllhttp/' -i out/*.target.mk
}
do_build() {
if [ "$CROSS_BUILD" ]; then
make LD="$CXX" LDFLAGS+=-ldl ${makejobs} PORTABLE=1 V=1
@ -79,8 +96,17 @@ do_build() {
make LD="$CXX" LDFLAGS+=-ldl ${makejobs} V=1
fi
}
do_install() {
make LD="$CXX" LDFLAGS+=-ldl DESTDIR="$DESTDIR" install
rm $DESTDIR/usr/include/node/openssl -rf
vlicense LICENSE
rm -r $DESTDIR/usr/include
}
nodejs-lts-devel_package() {
short_desc+=" (development files)"
conflicts="nodejs-devel nodejs-lts-10-devel"
pkg_install() {
vmove usr/include
}
}