diff options
Diffstat (limited to 'user/node')
-rw-r--r-- | user/node/APKBUILD | 14 | ||||
-rw-r--r-- | user/node/icu77.patch | 34 | ||||
-rw-r--r-- | user/node/openat-test.patch | 34 | ||||
-rw-r--r-- | user/node/pmmx-time64.patch | 22 | ||||
-rw-r--r-- | user/node/zlib-version-regex.patch | 2 |
5 files changed, 89 insertions, 17 deletions
diff --git a/user/node/APKBUILD b/user/node/APKBUILD index 1c0cbe5a8..f13d97948 100644 --- a/user/node/APKBUILD +++ b/user/node/APKBUILD @@ -1,8 +1,8 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=node -pkgver=18.15.0 -pkgrel=1 +pkgver=18.20.8 +pkgrel=0 pkgdesc="JavaScript runtime" url="https://nodejs.org/" arch="all !ppc" # #837 @@ -13,6 +13,8 @@ makedepends="c-ares-dev http-parser-dev icu-dev libexecinfo-dev libuv-dev nghttp2-dev openssl-dev python3 zlib-dev samurai" subpackages="$pkgname-dev $pkgname-doc" source="https://nodejs.org/download/release/v$pkgver/node-v$pkgver.tar.xz + icu77.patch + openat-test.patch pmmx-test.patch pmmx-time64.patch zlib-version-regex.patch @@ -66,8 +68,10 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e41fcda469809186fd724ef4691e25f4a5bd81357ee99acf3d7faa1190a69c19cb62bd14aea199ca6f8b5cf9687af7d898cdf605ea2414d2c04db87ddb3b4dc8 node-v18.15.0.tar.xz +sha512sums="1108e7558b408c65f50c8a14b941dec4d4f410bbc14515ffe659663120822b3d1ab200676072c3f6fe4b9c6e400ffc6eae6fba6ccbd4fc2795e85da869665bf1 node-v18.20.8.tar.xz +4b19df47b72f82de02f81a7be4f525a291ed5492fa9fc5b4818c4b2ac782a665c6fd69c54f19a7579e3dfe738dbabe9d916c2a41d565fff20aaf721c87188c82 icu77.patch +373636169ab401c06ff3475aacdce5860ff33c9c5d60398605b3b77bd883330ce1d37ca8c7bec32a9b6790df0794f5cc3edbfb24fff5b18c62400cb7b58dc0da openat-test.patch 277e226f3906f791bae6aedd0b74b0e2c52b6154eb2dc0c568417ad94a0722078e4fbbbe15c59d4ba0b59cdb4ad45b5e9620f14d75694a15531857cd29aa044a pmmx-test.patch -bf78e52c60b4567854eaa9d9433ade8a318a356cb326dded99e800df35a9f475390a0cf8b0c8e595bbdb3702838eafe91801cd646576aa7fa7966b37d794e380 pmmx-time64.patch -45d899bd62e39762fde7e9743efcc6dc032161ae087099da8eecebc84f3eaab87eecf00cbc5861f686a45332224025af172ab00ce966771dccf2e925ca48bc6a zlib-version-regex.patch +582030536a1c15b45b449979099377c00c752e0cde30a700bec2baff2fe6de308ad2234578db7b38f7cb461981209380a5576413caef92f306ec6c307b78c37f pmmx-time64.patch +f76bfbdb37ec1defec8dcd3e6fea3ae93b798369ff9fdb4eb435ecbf99291706804b3da5114b29456535136ad0494a20f84a5f5293b47a9bf5cc9237e3003b9a zlib-version-regex.patch 64cffa3cfdced1152a41d77c344370d0077d046ccf20fb618cad7396bcb37290c14a8180b713a7e554e3b09042e481d6aa4a5f97a0a93ceb4090d0f2a510b052 ppc-fixes-for-older-models-18.patch" diff --git a/user/node/icu77.patch b/user/node/icu77.patch new file mode 100644 index 000000000..29553aa39 --- /dev/null +++ b/user/node/icu77.patch @@ -0,0 +1,34 @@ +Upstream-URL: https://github.com/nodejs/node/pull/55563 +See-also: https://bugs.gentoo.org/943201 + +From 046430c47efb5ac758253d4e2d2fd539fa94535b Mon Sep 17 00:00:00 2001 +From: Michael Cho <michael@michaelcho.dev> +Date: Tue, 29 Oct 2024 19:24:38 -0400 +Subject: [PATCH] build: fix building with system icu 76 + +ICU 76 decided to reduce overlinking[^1] thus `icu-i18n` will no longer +add `icu-uc` when linking to shared libraries. This results in undefined +symbols/references when trying to build with system ICU 76. + +[^1]: unicode-org/icu@199bc82 + +PR-URL: https://github.com/nodejs/node/pull/55563 +Reviewed-By: Richard Lau <rlau@redhat.com> +Reviewed-By: Luigi Pinca <luigipinca@gmail.com> +--- + configure.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.py b/configure.py +index 6cfb95eee95690..ae3dd156d4e02e 100755 +--- a/configure.py ++++ b/configure.py +@@ -1763,7 +1763,7 @@ def icu_download(path): + elif with_intl == 'system-icu': + # ICU from pkg-config. + o['variables']['v8_enable_i18n_support'] = 1 +- pkgicu = pkg_config('icu-i18n') ++ pkgicu = pkg_config(['icu-i18n', 'icu-uc']) + if not pkgicu[0]: + error('''Could not load pkg-config data for "icu-i18n". + See above errors or the README.md.''') diff --git a/user/node/openat-test.patch b/user/node/openat-test.patch new file mode 100644 index 000000000..e75eb7e61 --- /dev/null +++ b/user/node/openat-test.patch @@ -0,0 +1,34 @@ +The strace-openat-openssl test fails on musl libc because of ldso's +attempted access of /etc/ld-musl-$ARCH.path. Additionally, at least on +gwyn, the spawned process attempts to determine its memory limits from +the current cgroup. + +*Also*, the openssl.cnf expected line fails because it happens in a +subprocess - hence the optional [pid ....] prefix. + +--- node-v18.20.8/test/parallel/test-strace-openat-openssl.js.old 2025-03-26 19:56:44.000000000 -0500 ++++ node-v18.20.8/test/parallel/test-strace-openat-openssl.js 2025-06-27 00:31:02.528830894 -0500 +@@ -29,7 +29,7 @@ + // stderr is the default for strace + const rl = createInterface({ input: strace.stderr }); + rl.on('line', (line) => { +- if (!line.startsWith('open')) { ++ if (line.match(/^(\[pid.+\] )?open/) === null) { + return; + } + +@@ -42,6 +42,14 @@ + if (file.match(/\/proc\/.+/) !== null) { + return; + } ++ // skip /sys/fs/cgroup/* ++ if (file.match(/\/sys\/fs\/cgroup\/.+/) !== null) { ++ return; ++ } ++ // skip /etc/ld-musl-$ARCH.path ++ if (file.match(/\/etc\/ld-musl-.+\.path/) !== null) { ++ return; ++ } + + assert(allowedOpenCalls.delete(file), `${file} is not in the list of allowed openat calls`); + }); diff --git a/user/node/pmmx-time64.patch b/user/node/pmmx-time64.patch index b47a1a6fe..01cea0089 100644 --- a/user/node/pmmx-time64.patch +++ b/user/node/pmmx-time64.patch @@ -52,17 +52,17 @@ return new BigIntStats( stats[0 + offset], stats[1 + offset], stats[2 + offset], stats[3 + offset], stats[4 + offset], stats[5 + offset], ---- node-v18.12.1/src/aliased_buffer.h.old 2022-11-04 11:13:14.000000000 -0500 -+++ node-v18.12.1/src/aliased_buffer.h 2023-01-01 18:08:01.407999936 -0600 -@@ -306,7 +306,7 @@ - typedef AliasedBufferBase<uint8_t, v8::Uint8Array> AliasedUint8Array; - typedef AliasedBufferBase<uint32_t, v8::Uint32Array> AliasedUint32Array; - typedef AliasedBufferBase<double, v8::Float64Array> AliasedFloat64Array; --typedef AliasedBufferBase<int64_t, v8::BigInt64Array> AliasedBigInt64Array; -+typedef AliasedBufferBase<int64_t, v8::BigUint64Array> AliasedBigUint64Array; - } // namespace node +--- node-v18.20.8/src/aliased_buffer.h.old 2025-03-26 19:56:44.000000000 -0500 ++++ node-v18.20.8/src/aliased_buffer.h 2025-06-26 23:34:10.893322022 -0500 +@@ -183,7 +183,7 @@ + V(uint32_t, Uint32Array) \ + V(float, Float32Array) \ + V(double, Float64Array) \ +- V(int64_t, BigInt64Array) ++ V(int64_t, BigUint64Array) - #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS + #define V(NativeT, V8T) \ + typedef AliasedBufferBase<NativeT, v8::V8T> Aliased##V8T; --- node-v18.12.1/src/node_file-inl.h.old 2022-11-04 11:13:14.000000000 -0500 +++ node-v18.12.1/src/node_file-inl.h 2023-01-01 18:09:07.830823990 -0600 @@ -90,18 +90,9 @@ @@ -84,7 +84,7 @@ SET_FIELD_WITH_STAT(kDev, s->st_dev); SET_FIELD_WITH_STAT(kMode, s->st_mode); -@@ -242,7 +233,7 @@ +@@ -281,7 +272,7 @@ Environment* env = binding_data->env(); if (value->StrictEquals(env->fs_use_promises_symbol())) { if (use_bigint) { diff --git a/user/node/zlib-version-regex.patch b/user/node/zlib-version-regex.patch index c06c4a938..d342cd275 100644 --- a/user/node/zlib-version-regex.patch +++ b/user/node/zlib-version-regex.patch @@ -24,7 +24,7 @@ index f706bd060b45f..31886093df8cc 100644 assert.match(process.versions.llhttp, commonTemplate); assert.match(process.versions.node, commonTemplate); assert.match(process.versions.uv, commonTemplate); --assert.match(process.versions.zlib, commonTemplate); +-assert.match(process.versions.zlib, /^\d+(?:\.\d+){1,3}(?:-.*)?$/); +assert.match(process.versions.zlib, /^\d+(\.\d+){1,2}(?:-.*)?$/); if (hasUndici) { |