From 06410b655878fe8825f10da90b9cc34a5e05ccf9 Mon Sep 17 00:00:00 2001 From: Morgan Thomas Date: Sun, 25 Apr 2021 09:25:46 -0700 Subject: [PATCH 1/3] nodejs: use system libuv See https://github.com/void-linux/void-packages/issues/29034. `shared-uv.patch` has been in the repo for a while but was slightly broken. --- srcpkgs/nodejs/{ => patches}/shared-uv.patch | 2 +- srcpkgs/nodejs/template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename srcpkgs/nodejs/{ => patches}/shared-uv.patch (97%) diff --git a/srcpkgs/nodejs/shared-uv.patch b/srcpkgs/nodejs/patches/shared-uv.patch similarity index 97% rename from srcpkgs/nodejs/shared-uv.patch rename to srcpkgs/nodejs/patches/shared-uv.patch index 128e3a5ce06e..3e609a6c49a5 100644 --- a/srcpkgs/nodejs/shared-uv.patch +++ b/srcpkgs/nodejs/patches/shared-uv.patch @@ -16,7 +16,7 @@ }], + [ 'node_shared_libuv=="false"', { + 'dependencies': [ '../uv/uv.gyp:libuv' ], -+ }] ++ }], + [ 'node_shared_libuv=="true"', { + 'libraries': [ '-luv' ], + }] diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template index 450b59bbc7d0..bcfaaa73ac4c 100644 --- a/srcpkgs/nodejs/template +++ b/srcpkgs/nodejs/template @@ -1,7 +1,7 @@ # Template file for 'nodejs' pkgname=nodejs version=14.16.0 -revision=1 +revision=2 wrksrc="node-v${version}" # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079 hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel From 222b25551a493a75b589f5c1dfc055fa8beb4c39 Mon Sep 17 00:00:00 2001 From: Morgan Thomas Date: Sun, 25 Apr 2021 09:59:58 -0700 Subject: [PATCH 2/3] nodejs-lts: use system libuv See 06410b655878fe8825f10da90b9cc34a5e05ccf9 and https://github.com/void-linux/void-packages/issues/29034. --- srcpkgs/nodejs-lts/patches/shared-uv.patch | 25 ++++++++++++++++++++++ srcpkgs/nodejs-lts/template | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/nodejs-lts/patches/shared-uv.patch diff --git a/srcpkgs/nodejs-lts/patches/shared-uv.patch b/srcpkgs/nodejs-lts/patches/shared-uv.patch new file mode 100644 index 000000000000..3e609a6c49a5 --- /dev/null +++ b/srcpkgs/nodejs-lts/patches/shared-uv.patch @@ -0,0 +1,25 @@ +--- deps/uvwasi/uvwasi.gyp.orig ++++ deps/uvwasi/uvwasi.gyp +@@ -18,9 +18,6 @@ + 'src/wasi_rights.c', + 'src/wasi_serdes.c', + ], +- 'dependencies': [ +- '../uv/uv.gyp:libuv', +- ], + 'direct_dependent_settings': { + 'include_dirs': ['include'] + }, +@@ -31,6 +28,12 @@ + '_POSIX_C_SOURCE=200112', + ], + }], ++ [ 'node_shared_libuv=="false"', { ++ 'dependencies': [ '../uv/uv.gyp:libuv' ], ++ }], ++ [ 'node_shared_libuv=="true"', { ++ 'libraries': [ '-luv' ], ++ }] + ], + } + ] diff --git a/srcpkgs/nodejs-lts/template b/srcpkgs/nodejs-lts/template index f9326d337555..d3912ae2cf05 100644 --- a/srcpkgs/nodejs-lts/template +++ b/srcpkgs/nodejs-lts/template @@ -1,7 +1,7 @@ # Template file for 'nodejs-lts' pkgname=nodejs-lts version=12.21.0 -revision=1 +revision=2 wrksrc="node-v${version}" # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079 hostmakedepends="pkg-config python libatomic-devel zlib-devel which From cbcc97c0db6f012203d8a100c43af04f9477c35c Mon Sep 17 00:00:00 2001 From: Morgan Thomas Date: Mon, 26 Apr 2021 06:31:01 -0700 Subject: [PATCH 3/3] nodejs-lts-10: fix build for targets without native atomic8 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. --- srcpkgs/nodejs-lts-10/patches/atomic8.patch | 14 ++++++++++++++ srcpkgs/nodejs-lts-10/patches/ppc32.patch | 14 -------------- srcpkgs/nodejs-lts-10/template | 19 +++++++------------ 3 files changed, 21 insertions(+), 26 deletions(-) create mode 100644 srcpkgs/nodejs-lts-10/patches/atomic8.patch diff --git a/srcpkgs/nodejs-lts-10/patches/atomic8.patch b/srcpkgs/nodejs-lts-10/patches/atomic8.patch new file mode 100644 index 000000000000..023cfad01239 --- /dev/null +++ b/srcpkgs/nodejs-lts-10/patches/atomic8.patch @@ -0,0 +1,14 @@ +--- node.gyp ++++ node.gyp +@@ -479,6 +479,11 @@ + 'msvs_disabled_warnings!': [4244], + + 'conditions': [ ++ [ 'target_arch=="mips" or target_arch=="mipsel" or target_arch=="ppc" or target_arch=="arm"', { ++ 'link_settings': { ++ 'libraries': [ '-latomic' ], ++ }, ++ }], + [ 'node_code_cache_path!=""', { + 'sources': [ '<(node_code_cache_path)' ] + }, { diff --git a/srcpkgs/nodejs-lts-10/patches/ppc32.patch b/srcpkgs/nodejs-lts-10/patches/ppc32.patch index 343eff585123..4650b285c363 100644 --- a/srcpkgs/nodejs-lts-10/patches/ppc32.patch +++ b/srcpkgs/nodejs-lts-10/patches/ppc32.patch @@ -9,20 +9,6 @@ '__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) { diff --git a/srcpkgs/nodejs-lts-10/template b/srcpkgs/nodejs-lts-10/template index 3944d359c673..f6fffa2d4cf0 100644 --- a/srcpkgs/nodejs-lts-10/template +++ b/srcpkgs/nodejs-lts-10/template @@ -1,14 +1,16 @@ # Template file for 'nodejs-lts-10' pkgname=nodejs-lts-10 version=10.24.0 -revision=1 +revision=2 wrksrc="node-v${version}" -hostmakedepends="pkg-config python zlib-devel which $(vopt_if icu icu-devel) - $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel) +# libatomic-devel moved into here for #29034 - atomic8.patch will pull in -latomic +# even for some architectures not covered by XBPS_TARGET_NO_ATOMIC8. +hostmakedepends="libatomic-devel pkg-config python zlib-devel which + $(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="zlib-devel python-devel $(vopt_if icu icu-devel) - $(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-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" @@ -37,13 +39,6 @@ if [ "$XBPS_WORDSIZE" -ne "$XBPS_TARGET_WORDSIZE" ]; then nocross="host and target must have the same pointer size" fi -if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then - makedepends+=" libatomic-devel" -fi -if [ "$XBPS_NO_ATOMIC8" ]; then - hostmakedepends+=" libatomic-devel" -fi - CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"