diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-oe/recipes-devtools/nodejs/nodejs-24/0001-Do-not-use-glob-in-deps.patch similarity index 72% rename from meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-24/0001-Do-not-use-glob-in-deps.patch index f692eedd41..622d25bbd3 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs-24/0001-Do-not-use-glob-in-deps.patch @@ -1,10 +1,13 @@ +// 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 Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH] Disable running gyp on shared deps -Upstream-Status: Inappropriate [embedded specific] - 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: @@ -28,20 +31,17 @@ python prune_sources() { shutil.rmtree(d.getVar('S') + '/deps/zlib') } do_unpack[postfuncs] += "prune_sources" ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Makefile b/Makefile -index dba16e5e..da4faffc 100644 +Upstream-Status: Inappropriate [embedded specific] + --- a/Makefile +++ b/Makefile -@@ -173,7 +173,7 @@ with-code-cache test-code-cache: +@@ -179,7 +179,7 @@ with-code-cache test-code-cache: $(warning '$@' target is a noop) - - out/Makefile: config.gypi common.gypi common_node.gypi node.gyp \ -- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ -+ deps/llhttp/llhttp.gyp \ - deps/simdutf/simdutf.gyp deps/ada/ada.gyp deps/nbytes/nbytes.gyp \ + + 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 diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch b/meta-oe/recipes-devtools/nodejs/nodejs-24/0002-v8-don-t-override-ARM-CFLAGS.patch similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs/0004-v8-don-t-override-ARM-CFLAGS.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-24/0002-v8-don-t-override-ARM-CFLAGS.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch b/meta-oe/recipes-devtools/nodejs/nodejs-24/0003-system-c-ares.patch similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-24/0003-system-c-ares.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch b/meta-oe/recipes-devtools/nodejs/nodejs-24/0004-liftoff-Correct-function-signatures.patch similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-24/0004-liftoff-Correct-function-signatures.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch b/meta-oe/recipes-devtools/nodejs/nodejs-24/0005-libatomic.patch similarity index 76% rename from meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-24/0005-libatomic.patch index 835c7018de..a61b28f2f8 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs-24/0005-libatomic.patch @@ -23,11 +23,9 @@ Added libatomic library explicitly to x86 targets. Signed-off-by: Gyorgy Sarvari --- node.gyp | 13 ++++++++++++- - tools/v8_gypfiles/v8.gyp | 15 ++++++++++++--- - 2 files changed, 24 insertions(+), 4 deletions(-) + tools/v8_gypfiles/v8.gyp | 29 ++++++++++++++++++++++++----- + 2 files changed, 36 insertions(+), 6 deletions(-) -diff --git a/node.gyp b/node.gyp -index b425f443..f296f35c 100644 --- a/node.gyp +++ b/node.gyp @@ -503,7 +503,18 @@ @@ -50,37 +48,38 @@ index b425f443..f296f35c 100644 }], ], }, -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index b23263cf..dcabf4ca 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp -@@ -1348,9 +1348,18 @@ +@@ -1324,10 +1324,24 @@ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library - # to implement atomic memory access - ['v8_current_cpu in ["mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', { + # to implement atomic memory access. + # Clang needs it for some atomic operations (https://clang.llvm.org/docs/Toolchain.html#atomics-library). +- ['(OS=="linux" and clang==1) or (v8_current_cpu in ["mips64", "mips64el", "arm", "riscv64", "loong64"])', { - 'link_settings': { - 'libraries': ['-latomic', ], - }, ++ ['(OS=="linux" and clang==1) or \ ++ (v8_current_cpu in ["mips64", "mips64el", "arm", "riscv64", "loong64"])', { + 'target_conditions': [ + ['_toolset=="host"', { + 'conditions': [ + ['" -Date: Sat, 19 Apr 2025 12:22:10 +0200 -Subject: [PATCH] build: remove redundant `-mXX` flags for V8 - -They are already set by `common.gypi`. - - -Needed to build on aarch64 build hosts with clang compiler -Drop it when upgrading to 0.24.x or newer. - -Upstream-Status: Backport [https://github.com/nodejs/node/commit/403264c02edc2689671dbefaf032e3acb4fb713d] - -PR-URL: https://github.com/nodejs/node/pull/57907 -Reviewed-By: James M Snell -Reviewed-By: Marco Ippolito -Reviewed-By: Chengzhong Wu -Reviewed-By: Rafael Gonzaga -Reviewed-By: Luigi Pinca ---- - tools/v8_gypfiles/toolchain.gypi | 91 -------------------------------- - 1 file changed, 91 deletions(-) - -Index: node-v22.16.0/tools/v8_gypfiles/toolchain.gypi -=================================================================== ---- node-v22.16.0.orig/tools/v8_gypfiles/toolchain.gypi -+++ node-v22.16.0/tools/v8_gypfiles/toolchain.gypi -@@ -103,33 +103,6 @@ - # Indicates if gcmole tools are downloaded by a hook. - 'gcmole%': 0, - }, -- -- # [GYP] this needs to be outside of the top level 'variables' -- 'conditions': [ -- ['host_arch=="ia32" or host_arch=="x64" or \ -- host_arch=="ppc" or host_arch=="ppc64" or \ -- host_arch=="s390x" or \ -- clang==1', { -- 'variables': { -- 'host_cxx_is_biarch%': 1, -- }, -- }, { -- 'variables': { -- 'host_cxx_is_biarch%': 0, -- }, -- }], -- ['target_arch=="ia32" or target_arch=="x64" or \ -- target_arch=="ppc" or target_arch=="ppc64" or \ -- target_arch=="s390x" or clang==1', { -- 'variables': { -- 'target_cxx_is_biarch%': 1, -- }, -- }, { -- 'variables': { -- 'target_cxx_is_biarch%': 0, -- }, -- }], -- ], - 'target_defaults': { - 'cflags!': ['-Wall', '-Wextra'], - 'conditions': [ -@@ -553,71 +526,6 @@ - '-mmmx', # Allows mmintrin.h for MMX intrinsics. - ], - }], -- ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ -- or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ -- (v8_target_arch=="arm" or v8_target_arch=="ia32" or \ -- v8_target_arch=="ppc")', { -- 'target_conditions': [ -- ['_toolset=="host"', { -- 'conditions': [ -- ['host_cxx_is_biarch==1', { -- 'conditions': [ -- ['host_arch=="s390x"', { -- 'cflags': [ '-m31' ], -- 'ldflags': [ '-m31' ] -- },{ -- 'cflags': [ '-m32' ], -- 'ldflags': [ '-m32' ] -- }], -- ], -- }], -- ], -- 'xcode_settings': { -- 'ARCHS': [ 'i386' ], -- }, -- }], -- ['_toolset=="target"', { -- 'conditions': [ -- ['target_cxx_is_biarch==1', { -- 'conditions': [ -- ['host_arch=="s390x"', { -- 'cflags': [ '-m31' ], -- 'ldflags': [ '-m31' ] -- },{ -- 'cflags': [ '-m32' ], -- 'ldflags': [ '-m32' ], -- }], -- ], -- }], -- ], -- 'xcode_settings': { -- 'ARCHS': [ 'i386' ], -- }, -- }], -- ], -- }], -- ['(OS=="linux" or OS=="android") and \ -- (v8_target_arch=="x64" or v8_target_arch=="arm64" or \ -- v8_target_arch=="ppc64" or v8_target_arch=="s390x")', { -- 'target_conditions': [ -- ['_toolset=="host"', { -- 'conditions': [ -- ['host_cxx_is_biarch==1', { -- 'cflags': [ '-m64' ], -- 'ldflags': [ '-m64' ] -- }], -- ], -- }], -- ['_toolset=="target"', { -- 'conditions': [ -- ['target_cxx_is_biarch==1', { -- 'cflags': [ '-m64' ], -- 'ldflags': [ '-m64' ], -- }], -- ] -- }], -- ], -- }], - ['OS=="android" and v8_android_log_stdout==1', { - 'defines': [ - 'V8_ANDROID_LOG_STDOUT', diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch deleted file mode 100644 index dd9c9015e2..0000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0976af0f3b328436ea44a74a406f311adb2ab211 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Jun 2021 19:01:31 -0700 -Subject: [PATCH] ppc64: Do not use -mminimal-toc with clang - -clang does not support this option - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - common.gypi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/common.gypi -+++ b/common.gypi -@@ -417,7 +417,7 @@ - 'ldflags': [ '-m32' ], - }], - [ 'target_arch=="ppc64" and OS!="aix"', { -- 'cflags': [ '-m64', '-mminimal-toc' ], -+ 'cflags': [ '-m64' ], - 'ldflags': [ '-m64' ], - }], - [ 'target_arch=="s390x"', { diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.3.bb b/meta-oe/recipes-devtools/nodejs/nodejs_24.16.0.bb similarity index 84% rename from meta-oe/recipes-devtools/nodejs/nodejs_22.22.3.bb rename to meta-oe/recipes-devtools/nodejs/nodejs_24.16.0.bb index a13b71b762..4b9d9c7e19 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.3.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_24.16.0.bb @@ -1,7 +1,8 @@ DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" HOMEPAGE = "http://nodejs.org" LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0 & BlueOak-1.0.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b195f4ea4368177a2fd84b879f09cba8" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9f816753e8bdfe4576cb87159a0cd60c" +FILESEXTRAPATHS:prepend := "${THISDIR}/nodejs-24:" CVE_PRODUCT = "nodejs node.js" @@ -22,24 +23,19 @@ COMPATIBLE_HOST:powerpc64le = "null" SRC_URI = "https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ file://0001-Do-not-use-glob-in-deps.patch \ - file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ - file://0004-v8-don-t-override-ARM-CFLAGS.patch \ - file://system-c-ares.patch \ - file://0001-liftoff-Correct-function-signatures.patch \ - file://libatomic.patch \ - file://0001-deps-disable-io_uring-support-in-libuv.patch \ - file://0001-positional-args.patch \ - file://0001-custom-env.patch \ - file://0001-build-remove-redundant-mXX-flags-for-V8.patch \ + file://0002-v8-don-t-override-ARM-CFLAGS.patch \ + file://0003-system-c-ares.patch \ + file://0004-liftoff-Correct-function-signatures.patch \ + file://0005-libatomic.patch \ + file://0006-deps-disable-io_uring-support-in-libuv.patch \ + file://0007-positional-args.patch \ + file://0008-custom-env.patch \ file://run-ptest \ " SRC_URI:append:class-target = " \ - file://0001-Using-native-binaries.patch \ + file://0009-Using-native-binaries.patch \ " -SRC_URI:append:toolchain-clang:powerpc64le = " \ - file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \ - " -SRC_URI[sha256sum] = "f3e6a578db1ab335a4a72785c1e87ad18a2cf6d2fc25747a1d741fb34af0bd0f" +SRC_URI[sha256sum] = "2ff84a6de70b6165290111b0fc656ded1ad207a799816fe720cc7c31232df30f" S = "${UNPACKDIR}/node-v${PV}" @@ -211,11 +207,3 @@ python __anonymous () { } BBCLASSEXTEND = "native" - -CVE_STATUS[CVE-2026-21710] = "fixed-version: fixed since v22.22.2" -CVE_STATUS[CVE-2026-21712] = "cpe-incorrect: only v24 and v25 are affected" -CVE_STATUS[CVE-2026-21713] = "fixed-version: fixed since v22.22.2" -CVE_STATUS[CVE-2026-21714] = "fixed-version: fixed since v22.22.2" -CVE_STATUS[CVE-2026-21715] = "fixed-version: fixed since v22.22.2" -CVE_STATUS[CVE-2026-21716] = "fixed-version: fixed since v22.22.2" -CVE_STATUS[CVE-2026-21717] = "fixed-version: fixed since v22.22.2"