New package: nodejs-lts-10-10.17.0 [ci skip]
This commit is contained in:
parent
a4ad7dc361
commit
f15511e8a2
4 changed files with 180 additions and 0 deletions
1
srcpkgs/nodejs-lts-10-devel
Symbolic link
1
srcpkgs/nodejs-lts-10-devel
Symbolic link
|
@ -0,0 +1 @@
|
|||
nodejs-lts-10
|
43
srcpkgs/nodejs-lts-10/patches/ppc32.patch
Normal file
43
srcpkgs/nodejs-lts-10/patches/ppc32.patch
Normal file
|
@ -0,0 +1,43 @@
|
|||
--- 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
|
||||
@@ -418,9 +418,15 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) {
|
||||
reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
|
||||
#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]);
|
||||
+ #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]);
|
||||
+ #endif
|
||||
#endif
|
||||
#elif V8_HOST_ARCH_S390
|
||||
#if V8_TARGET_ARCH_32_BIT
|
41
srcpkgs/nodejs-lts-10/patches/ppc64.patch
Normal file
41
srcpkgs/nodejs-lts-10/patches/ppc64.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
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
|
95
srcpkgs/nodejs-lts-10/template
Normal file
95
srcpkgs/nodejs-lts-10/template
Normal file
|
@ -0,0 +1,95 @@
|
|||
# Template file for 'nodejs-lts-10'
|
||||
pkgname=nodejs-lts-10
|
||||
version=10.17.0
|
||||
revision=1
|
||||
wrksrc="node-v${version}"
|
||||
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 nghttp2 nghttp2-devel)
|
||||
$(vopt_if cares c-ares-devel)"
|
||||
short_desc="Evented I/O for V8 javascript (Dubnium)"
|
||||
maintainer="k4leg <d0xi@inbox.ru>"
|
||||
license="MIT"
|
||||
homepage="https://nodejs.org/"
|
||||
distfiles="${homepage}/download/release/latest-v10.x/node-v${version}.tar.xz"
|
||||
checksum=412667d76bd5273c07cb69c215998109fd5bb35c874654f93e6a0132d666c58e
|
||||
|
||||
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"
|
||||
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 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
|
||||
|
||||
case "$XBPS_MACHINE" in
|
||||
ppc64*) ;;
|
||||
mips*|ppc*) hostmakedepends+=" libatomic-devel" ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
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
|
||||
# their pregenerated asm is for ELFv1...
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
ppc64|ppc64-musl) _args+=" --openssl-no-asm" ;;
|
||||
esac
|
||||
./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_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
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue