Files
Tim Orling 143d18269c nodejs: upgrade 22.22.3 -> 24.16.0 (LTS)
Add Node.js 24.16.0 [1] recipe based on 22.22.3. Patches reviewed against
the 24.15.0 source tree and rebased where needed:

- 0001: rebased for Makefile changes (common_node.gypi removed, line
  offsets shifted); merged with Disable-running-gyp-files patch since
  both modify the same Makefile hunk. Remove deps/simdutf/simdutf.gyp;
  no longer vendored here.
- 0005: rebased for v8.gyp libatomic condition change (clang condition
  folded upstream, ppc removed)

- v24.16.0 bumps bundled llhttp to 9.3.1 (LLHTTP_VERSION_MAJOR/MINOR/PATCH
  = 9/3/1 in deps/llhttp/include/llhttp.h).

Five patches dropped as no longer needed:
- build-remove-redundant-mXX-flags-for-V8: backport already merged
  upstream in Node.js 24
- ppc64-Do-not-use-mminimal-toc-with-clang: Node.js 24 common.gypi
  already gates -mminimal-toc behind clang==0
- fix-arm-Neon-intrinsics-types: the v24.16.0 source already uses
  vandq_u8/vorrq_u8 and vshrn_n_u16(vreinterpretq_u16_u8(mask), 4).
- detect-aarch64-Neon-correctly:  #ifdef __ARM_NEON__ →
  #if defined(__ARM_NEON__) || defined(__ARM_NEON) — already present
  at lines 13 and 2628.
- llhttp-fix-NEON-header-value-__builtin_ctzll-undefin: wanted the
  match_mask == 0 guard around __builtin_ctzll — already present.
  "This patch can be dropped when nodejs updates its bundled llhttp
  to >= 9.3.1.")

Remaining 9 patches renumbered sequentially 0001-0009. All verified to
apply cleanly against the v24.16.0 source tarball.

NOTE: The "current" release is v26.2.0 [1], but this is not yet an LTS
      release. Application stacks frequently lag new releases, so
      it makes sense to have support for the v24 LTS release.

[1] https://nodejs.org/en/blog/release/v24.16.0
[2] https://nodejs.org/en/blog/release/v26.2.0

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-21 17:20:20 -07:00

48 lines
1.9 KiB
Diff

// Revert the patch found here https://github.com/nodejs/node/commit/fe1dd26398e1887b96b2dc51ab59371ad4d6bc20?diff=unified&w=0
// so that the dependencies are still explicitly enumerated. That way we
// can pick and choose which pieces to build and which to use existing system
// packages for.
From 689e098cbde130ecde523ae39df3567456271fda Mon Sep 17 00:00:00 2001
From: Zuzana Svetlikova <zsvetlik@redhat.com>
Date: Thu, 27 Apr 2017 14:25:42 +0200
Subject: [PATCH] Disable running gyp on shared deps
Probably imported from:
https://src.fedoraproject.org/rpms/nodejs/c/41af04f2a3c050fb44628e91ac65fd225b927acb?branch=22609d8c1bfeaa21fe0057645af20b3a2ccc7f53
which is probably based on dont-run-gyp-files-for-bundled-deps.patch added in:
https://github.com/alpinelinux/aports/commit/6662eb3199902e8451fb20dce82554ad96f796bb
We also explicitly prune some dependencies from source in the bitbake recipe:
python prune_sources() {
import shutil
shutil.rmtree(d.getVar('S') + '/deps/openssl')
if 'ares' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/cares')
if 'brotli' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/brotli')
if 'libuv' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/uv')
if 'nghttp2' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
if 'zlib' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/zlib')
}
do_unpack[postfuncs] += "prune_sources"
Upstream-Status: Inappropriate [embedded specific]
--- a/Makefile
+++ b/Makefile
@@ -179,7 +179,7 @@ with-code-cache test-code-cache:
$(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \
- deps/*/*.gyp \
+ deps/llhttp/llhttp.gyp deps/ada/ada.gyp deps/nbytes/nbytes.gyp \
tools/v8_gypfiles/toolchain.gypi \
tools/v8_gypfiles/features.gypi \
tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp