From 2d666df094fa7d4825c9d245701e8a883f837ff7 Mon Sep 17 00:00:00 2001 From: KPNC Date: Mon, 15 Jun 2026 14:14:34 +0530 Subject: [PATCH 1/6] nodejs: update to 26.3.0 --- srcpkgs/nodejs/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template index ba692bdd137f6e..a0c233f7ac961a 100644 --- a/srcpkgs/nodejs/template +++ b/srcpkgs/nodejs/template @@ -1,7 +1,7 @@ # Template file for 'nodejs' pkgname=nodejs -version=24.14.1 -revision=2 +version=26.3.0 +revision=1 build_style=configure configure_args=" --prefix=/usr @@ -43,7 +43,7 @@ license="MIT" homepage="https://nodejs.org/" changelog="https://raw.githubusercontent.com/nodejs/node/main/doc/changelogs/CHANGELOG_V${version%%.*}.md" distfiles="https://nodejs.org/dist/v${version}/node-v${version}.tar.xz" -checksum=7822507713f202cf2a551899d250259643f477b671706db421a6fb55c4aa0991 +checksum=a3350c1adda81e921c1dae03cbdf0547c29b5ec43b5e00ac66f043a5c76bc74c python_version=3 build_options="ssl libuv icu nghttp2 cares brotli" From 5708e6ae01490207190524f3b8cd50a568212863 Mon Sep 17 00:00:00 2001 From: KPNC Date: Mon, 15 Jun 2026 20:42:17 +0530 Subject: [PATCH 2/6] nodejs: change faulty hash to a valid hash in checksum --- srcpkgs/nodejs/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template index a0c233f7ac961a..0afe4822c8b44f 100644 --- a/srcpkgs/nodejs/template +++ b/srcpkgs/nodejs/template @@ -43,7 +43,7 @@ license="MIT" homepage="https://nodejs.org/" changelog="https://raw.githubusercontent.com/nodejs/node/main/doc/changelogs/CHANGELOG_V${version%%.*}.md" distfiles="https://nodejs.org/dist/v${version}/node-v${version}.tar.xz" -checksum=a3350c1adda81e921c1dae03cbdf0547c29b5ec43b5e00ac66f043a5c76bc74c +checksum=319ad5d7d20cc622e55eb75b9f1a2546b77a08bd462b67030d0c89316c2c2349 python_version=3 build_options="ssl libuv icu nghttp2 cares brotli" From bb3dffe31d55274338d84c98b74a1d6ace25f143 Mon Sep 17 00:00:00 2001 From: KPNC Date: Mon, 15 Jun 2026 21:15:17 +0530 Subject: [PATCH 3/6] nodejs: obsolete patches removed for compilation --- srcpkgs/nodejs/patches/cross-aarch64.patch | 14 --------- srcpkgs/nodejs/patches/ppc32.patch | 20 ------------ srcpkgs/nodejs/patches/shared-uv.patch | 12 ------- .../patches/v8-int64-lowering-reducer.patch | 31 ------------------- .../nodejs/patches/xxx-ppc-hwcap-musl.patch | 24 -------------- 5 files changed, 101 deletions(-) delete mode 100644 srcpkgs/nodejs/patches/cross-aarch64.patch delete mode 100644 srcpkgs/nodejs/patches/ppc32.patch delete mode 100644 srcpkgs/nodejs/patches/shared-uv.patch delete mode 100644 srcpkgs/nodejs/patches/v8-int64-lowering-reducer.patch delete mode 100644 srcpkgs/nodejs/patches/xxx-ppc-hwcap-musl.patch diff --git a/srcpkgs/nodejs/patches/cross-aarch64.patch b/srcpkgs/nodejs/patches/cross-aarch64.patch deleted file mode 100644 index 93f9a4cd235b11..00000000000000 --- a/srcpkgs/nodejs/patches/cross-aarch64.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/node.gyp b/node.gyp -index 5abbad6c6f..460e4f1a86 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -417,6 +417,9 @@ - [ 'node_shared=="true"', { - 'node_target_type%': 'shared_library', - 'conditions': [ -+ ['target_arch=="arm64"', { -+ 'cflags': ['-msign-return-address=all'], # Pointer authentication. -+ }], - ['OS in "aix os400"', { - # For AIX, always generate static library first, - # It needs an extra step to generate exp and diff --git a/srcpkgs/nodejs/patches/ppc32.patch b/srcpkgs/nodejs/patches/ppc32.patch deleted file mode 100644 index ddfceb2f2179cc..00000000000000 --- a/srcpkgs/nodejs/patches/ppc32.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/deps/v8/src/libsampler/sampler.cc -+++ b/deps/v8/src/libsampler/sampler.cc -@@ -423,10 +423,17 @@ - state->lr = reinterpret_cast(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(ucontext->uc_mcontext.gp_regs[32]); - state->sp = reinterpret_cast(ucontext->uc_mcontext.gp_regs[1]); - state->fp = reinterpret_cast(ucontext->uc_mcontext.gp_regs[31]); - state->lr = reinterpret_cast(ucontext->uc_mcontext.gp_regs[36]); -+ #else -+ state->pc = reinterpret_cast(ucontext->uc_mcontext.gregs[32]); -+ state->sp = reinterpret_cast(ucontext->uc_mcontext.gregs[1]); -+ state->fp = reinterpret_cast(ucontext->uc_mcontext.gregs[31]); -+ state->lr = reinterpret_cast(ucontext->uc_mcontext.gregs[36]); -+ #endif - #endif - #elif V8_HOST_ARCH_S390 - #if V8_TARGET_ARCH_32_BIT diff --git a/srcpkgs/nodejs/patches/shared-uv.patch b/srcpkgs/nodejs/patches/shared-uv.patch deleted file mode 100644 index 47a167b4395826..00000000000000 --- a/srcpkgs/nodejs/patches/shared-uv.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/deps/uvwasi/uvwasi.gyp -+++ b/deps/uvwasi/uvwasi.gyp -@@ -33,6 +33,9 @@ - '../uv/uv.gyp:libuv', - ], - }], -+ [ 'node_shared_libuv=="true"', { -+ 'libraries': [ '-luv' ], -+ }] - ], - } - ] diff --git a/srcpkgs/nodejs/patches/v8-int64-lowering-reducer.patch b/srcpkgs/nodejs/patches/v8-int64-lowering-reducer.patch deleted file mode 100644 index 314e35a51b2632..00000000000000 --- a/srcpkgs/nodejs/patches/v8-int64-lowering-reducer.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Johannes Müller <50362-jogemu@users.gitlab.alpinelinux.org> -Date: Thu Aug 14 13:47:10 2025 +0000 -Subject: Fix build on 32-bit arches - - ../../deps/v8/src/compiler/turboshaft/int64-lowering-reducer.h:640:15: error: invalid use of 'struct v8::internal::compiler::turboshaft::Tuple, v8::internal::compiler::turboshaft::WordWithBits<32> >' [-Wtemplate-body] - 640 | return __ Tuple(result, __ Word32Constant(0)); - | ^~~~~~~~~~~~~~~~~~~~~ - -See https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/88748#note_560642 - ---- a/deps/v8/src/compiler/turboshaft/int64-lowering-reducer.h -+++ b/deps/v8/src/compiler/turboshaft/int64-lowering-reducer.h -@@ -637,7 +637,7 @@ - result = __ Word32CountLeadingZeros(high); - } - -- return __ Tuple(result, __ Word32Constant(0)); -+ return __ template Tuple(result, __ Word32Constant(0)); - } - - V LowerCtz(V input) { -@@ -650,7 +650,7 @@ - result = __ Word32CountTrailingZeros(low); - } - -- return __ Tuple(result, __ Word32Constant(0)); -+ return __ template Tuple(result, __ Word32Constant(0)); - } - - V LowerPopCount(V input) { - diff --git a/srcpkgs/nodejs/patches/xxx-ppc-hwcap-musl.patch b/srcpkgs/nodejs/patches/xxx-ppc-hwcap-musl.patch deleted file mode 100644 index 952892caed3869..00000000000000 --- a/srcpkgs/nodejs/patches/xxx-ppc-hwcap-musl.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 558ab896cbdd90259950c631ba29a1c66bf4c2d3 -Author: q66 -Date: Mon Feb 28 23:53:22 2022 +0100 - - add some hwcap bits fallbacks - -diff --git a/deps/v8/src/base/cpu.cc b/deps/v8/src/base/cpu.cc -index a1b21d2..8e52802 100644 ---- a/deps/v8/src/base/cpu.cc -+++ b/deps/v8/src/base/cpu.cc -@@ -768,6 +768,13 @@ CPU::CPU() - - #elif V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64 - -+#ifndef PPC_FEATURE2_HAS_ISEL -+#define PPC_FEATURE2_HAS_ISEL 0x08000000 -+#endif -+#ifndef PPC_FEATURE2_ARCH_3_1 -+#define PPC_FEATURE2_ARCH_3_1 0x00040000 -+#endif -+ - #ifndef USE_SIMULATOR - #if V8_OS_LINUX - // Read processor info from getauxval() (needs at least glibc 2.18 or musl). From d6c39d5b34ee41d0137b7f06532cf6efd090938f Mon Sep 17 00:00:00 2001 From: KPNC Date: Mon, 15 Jun 2026 23:38:23 +0530 Subject: [PATCH 4/6] nodejs: implemented a musl specific patch to enable nodejs 26.3.0 compilation --- .../nodejs/patches/musl-statfs-frsize.patch | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 srcpkgs/nodejs/patches/musl-statfs-frsize.patch diff --git a/srcpkgs/nodejs/patches/musl-statfs-frsize.patch b/srcpkgs/nodejs/patches/musl-statfs-frsize.patch new file mode 100644 index 00000000000000..e6417c4c195ff6 --- /dev/null +++ b/srcpkgs/nodejs/patches/musl-statfs-frsize.patch @@ -0,0 +1,20 @@ +--- src/node_file-inl.h 2026-06-01 12:52:41.000000000 +0530 ++++ /tmp/node_file-inl.h.original 2026-06-15 23:14:02.606887092 +0530 +@@ -151,9 +151,15 @@ + fields->SetValue(static_cast(FsStatFsOffset::field), \ + static_cast(stat)) + +- SET_FIELD(kType, s->f_type); ++ #ifdef UV_STATFS_HAS_F_FRSIZE ++ SET_FIELD(kFrSize, s->f_bsize); ++ #else ++ SET_FIELD(kFrSize, s->f_bsize); ++ #endif ++ SET_FIELD(kBFree, s->f_bfree); ++ + SET_FIELD(kBSize, s->f_bsize); +- SET_FIELD(kFrSize, s->f_frsize); ++ SET_FIELD(kFrSize, s->f_bsize); + SET_FIELD(kBlocks, s->f_blocks); + SET_FIELD(kBFree, s->f_bfree); + SET_FIELD(kBAvail, s->f_bavail); From e6235af1e8adb28ff0aab4f6b4ba670800f25e58 Mon Sep 17 00:00:00 2001 From: KPNC Date: Tue, 16 Jun 2026 09:18:40 +0530 Subject: [PATCH 5/6] nodejs: patches rectified --- srcpkgs/nodejs/patches/musl-statfs-frsize.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/nodejs/patches/musl-statfs-frsize.patch b/srcpkgs/nodejs/patches/musl-statfs-frsize.patch index e6417c4c195ff6..b98814930e5451 100644 --- a/srcpkgs/nodejs/patches/musl-statfs-frsize.patch +++ b/srcpkgs/nodejs/patches/musl-statfs-frsize.patch @@ -1,5 +1,5 @@ ---- src/node_file-inl.h 2026-06-01 12:52:41.000000000 +0530 -+++ /tmp/node_file-inl.h.original 2026-06-15 23:14:02.606887092 +0530 +--- a/src/node_file-inl.h ++++ b/src/node_file-inl.h @@ -151,9 +151,15 @@ fields->SetValue(static_cast(FsStatFsOffset::field), \ static_cast(stat)) From 0f2ca32a6b46c8446448e14b6d9c01a99b231e7e Mon Sep 17 00:00:00 2001 From: KPNC Date: Tue, 16 Jun 2026 16:01:25 +0530 Subject: [PATCH 6/6] ci: trigger official Void CI for nodejs 26.3.0