Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/community/nodejs
diff options
context:
space:
mode:
Diffstat (limited to 'community/nodejs')
-rw-r--r--community/nodejs/PKGBUILD18
-rw-r--r--community/nodejs/node-17.1.0-atomic.patch27
2 files changed, 45 insertions, 0 deletions
diff --git a/community/nodejs/PKGBUILD b/community/nodejs/PKGBUILD
index efbf8000..08611e96 100644
--- a/community/nodejs/PKGBUILD
+++ b/community/nodejs/PKGBUILD
@@ -15,3 +15,21 @@ eval "$(
3 i CXXFLAGS+=" -g1"
'
)"
+
+# add -latomic where needed (i486)
+if [ "$CARCH" = 'i486' ]; then
+ source+=('node-17.1.0-atomic.patch')
+ sha512sums+=('0fd62af37c4c0e2cd81fc613f4610741dbe6e883b5d15aa1fd64bcdbca8ec8d95aa98a37525425e5f80e8ca1305e222235f3ca6069779e3fcc1940b20207d50a')
+ eval "$(
+ declare -f prepare | \
+ sed '
+ $i patch -Np1 -i "../node-17.1.0-atomic.patch"
+ '
+ )"
+ eval "$(
+ declare -f build | \
+ sed '
+ 3 i LDFLAGS+=" -latomic"
+ '
+ )"
+fi
diff --git a/community/nodejs/node-17.1.0-atomic.patch b/community/nodejs/node-17.1.0-atomic.patch
new file mode 100644
index 00000000..58ae4ecc
--- /dev/null
+++ b/community/nodejs/node-17.1.0-atomic.patch
@@ -0,0 +1,27 @@
+diff -rauN node-17.1.0/node.gyp node-17.1.0-atomic-patch/node.gyp
+--- node-17.1.0/node.gyp 2021-11-08 16:40:59.000000000 +0100
++++ node-17.1.0-atomic-patch/node.gyp 2021-12-04 12:21:17.836148103 +0100
+@@ -116,6 +116,11 @@
+ '-Wl,-bnoerrmsg',
+ ],
+ }],
++ [ 'host_arch=="x86"', {
++ 'link_settings': {
++ 'libraries': [ '-latomic' ],
++ },
++ }],
+ ['OS == "linux" and llvm_version != "0.0"', {
+ 'libraries': ['-latomic'],
+ }],
+diff -rauN node-17.1.0/tools/v8_gypfiles/v8.gyp node-17.1.0-atomic-patch/tools/v8_gypfiles/v8.gyp
+--- node-17.1.0/tools/v8_gypfiles/v8.gyp 2021-11-08 16:40:59.000000000 +0100
++++ node-17.1.0-atomic-patch/tools/v8_gypfiles/v8.gyp 2021-12-04 11:32:45.735522099 +0100
+@@ -965,7 +965,7 @@
+ }],
+ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
+ # to implement atomic memory access
+- ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64"]', {
++ ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64", "x86"]', {
+ 'link_settings': {
+ 'libraries': ['-latomic', ],
+ },