From f8e9b097e356ee1a355f5ea16b191d3ceae7c44e Mon Sep 17 00:00:00 2001 From: Raed Rizqie Date: Fri, 12 Sep 2025 04:05:44 +0800 Subject: [PATCH] nodejs: update to 24.8.0 (#25488) --- ...103-node-gyp-support-mingw-toolchain.patch | 83 +++++++++++++++++-- mingw-w64-nodejs/PKGBUILD | 6 +- 2 files changed, 80 insertions(+), 9 deletions(-) diff --git a/mingw-w64-nodejs/0103-node-gyp-support-mingw-toolchain.patch b/mingw-w64-nodejs/0103-node-gyp-support-mingw-toolchain.patch index eb9789ccd5..89b7d3fcfa 100644 --- a/mingw-w64-nodejs/0103-node-gyp-support-mingw-toolchain.patch +++ b/mingw-w64-nodejs/0103-node-gyp-support-mingw-toolchain.patch @@ -145,7 +145,7 @@ index 9c0cca8f..081c57bd 100644 buildBinsDir = path.resolve('build', 'node_gyp_bins') process.env.PATH = `${buildBinsDir}:${process.env.PATH}` diff --git a/deps/npm/node_modules/node-gyp/lib/configure.js b/deps/npm/node_modules/node-gyp/lib/configure.js -index ee672cfb..35166375 100644 +index ee672cfb..eb71df4f 100644 --- a/deps/npm/node_modules/node-gyp/lib/configure.js +++ b/deps/npm/node_modules/node-gyp/lib/configure.js @@ -5,7 +5,7 @@ const path = require('path') @@ -157,28 +157,90 @@ index ee672cfb..35166375 100644 const findNodeDirectory = require('./find-node-directory') const { createConfigGypi } = require('./create-config-gypi') const { format: msgFormat } = require('util') +@@ -18,7 +18,7 @@ const minorRe = /^#define NODE_MINOR_VERSION (\d+)/m + const patchRe = /^#define NODE_PATCH_VERSION (\d+)/m + + async function configure (gyp, argv) { +- const buildDir = path.resolve('build') ++ const buildDir = path.resolve('build').replace(/\\/g, '/') + const configNames = ['config.gypi', 'common.gypi'] + const configs = [] + let nodeDir @@ -79,7 +79,7 @@ async function configure (gyp, argv) { await gyp.commands.install([release.version]) log.verbose('get node dir', 'target node version installed:', release.versionDir) - nodeDir = path.resolve(gyp.devDir, release.versionDir) -+ nodeDir = path.resolve(path.dirname(path.dirname(process.execPath))) ++ nodeDir = path.resolve(path.dirname(path.dirname(process.execPath))).replace(/\\/g, '/') } return createBuildDir() -@@ -263,8 +263,8 @@ async function configure (gyp, argv) { - const nodeGypDir = path.resolve(__dirname, '..') +@@ -132,7 +132,7 @@ async function configure (gyp, argv) { + return runGyp() + } + +- const fullPath = path.resolve(name) ++ const fullPath = path.resolve(name).replace(/\\/g, '/') + log.verbose(name, 'checking for gypi file: %s', fullPath) + try { + await fs.stat(fullPath) +@@ -163,7 +163,7 @@ async function configure (gyp, argv) { + + // include all the ".gypi" files that were found + configs.forEach(function (config) { +- argv.push('-I', config) ++ argv.push('-I', config.replace(/\\/g, '/')) + }) + + // For AIX and z/OS we need to set up the path to the exports file +@@ -246,9 +246,9 @@ async function configure (gyp, argv) { + } + + // this logic ported from the old `gyp_addon` python file +- const gypScript = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py') +- const addonGypi = path.resolve(__dirname, '..', 'addon.gypi') +- let commonGypi = path.resolve(nodeDir, 'include/node/common.gypi') ++ const gypScript = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py').replace(/\\/g, '/') ++ const addonGypi = path.resolve(__dirname, '..', 'addon.gypi').replace(/\\/g, '/') ++ let commonGypi = path.resolve(nodeDir, 'include/node/common.gypi').replace(/\\/g, '/') + try { + await fs.stat(commonGypi) + } catch (err) { +@@ -260,11 +260,11 @@ async function configure (gyp, argv) { + // Windows expects an absolute path + outputDir = buildDir + } +- const nodeGypDir = path.resolve(__dirname, '..') ++ const nodeGypDir = path.resolve(__dirname, '..').replace(/\\/g, '/') let nodeLibFile = path.join(nodeDir, - !gyp.opts.nodedir ? '<(target_arch)' : '$(Configuration)', - release.name + '.lib') + !gyp.opts.nodedir ? 'lib' : 'lib', -+ 'lib' + release.name + '.dll.a') ++ 'lib' + release.name + '.dll.a').replace(/\\/g, '/') argv.push('-I', addonGypi) argv.push('-I', commonGypi) +@@ -285,7 +285,7 @@ async function configure (gyp, argv) { + nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\') + } + argv.push('-Dnode_lib_file=' + nodeLibFile) +- argv.push('-Dmodule_root_dir=' + process.cwd()) ++ argv.push('-Dmodule_root_dir=' + process.cwd().replace(/\\/g, '/')) + argv.push('-Dnode_engine=' + + (gyp.opts.node_engine || process.jsEngine || 'v8')) + argv.push('--depth=.') +@@ -304,7 +304,7 @@ async function configure (gyp, argv) { + argv.unshift(gypScript) + + // make sure python uses files that came with this particular node package +- const pypath = [path.join(__dirname, '..', 'gyp', 'pylib')] ++ const pypath = [path.join(__dirname, '..', 'gyp', 'pylib').replace(/\\/g, '/')] + if (process.env.PYTHONPATH) { + pypath.push(process.env.PYTHONPATH) + } diff --git a/deps/npm/node_modules/node-gyp/lib/create-config-gypi.js b/deps/npm/node_modules/node-gyp/lib/create-config-gypi.js -index 01a820e9..325e6bfe 100644 +index 01a820e9..7309d04d 100644 --- a/deps/npm/node_modules/node-gyp/lib/create-config-gypi.js +++ b/deps/npm/node_modules/node-gyp/lib/create-config-gypi.js @@ -3,6 +3,7 @@ @@ -198,6 +260,15 @@ index 01a820e9..325e6bfe 100644 defaults.msbuild_toolset = vsInfo.toolset if (vsInfo.sdk) { defaults.msvs_windows_target_platform_version = vsInfo.sdk +@@ -140,7 +141,7 @@ async function createConfigGypi ({ gyp, buildDir, nodeDir, vsInfo, python }) { + const prefix = '# Do not edit. File was generated by node-gyp\'s "configure" step' + + const json = JSON.stringify(config, boolsToString, 2) +- log.verbose('build/' + configFilename, 'writing out config file: %s', configPath) ++ log.verbose('build/' + configFilename, 'writing out config file: %s', configPath.replace(/\\/g, '/')) + await fs.writeFile(configPath, [prefix, json, ''].join('\n')) + + return configPath diff --git a/deps/npm/node_modules/node-gyp/lib/find-node-directory.js b/deps/npm/node_modules/node-gyp/lib/find-node-directory.js index 8838b81d..12b6d64e 100644 --- a/deps/npm/node_modules/node-gyp/lib/find-node-directory.js diff --git a/mingw-w64-nodejs/PKGBUILD b/mingw-w64-nodejs/PKGBUILD index 268d94c7a6..b8d18f0f1d 100644 --- a/mingw-w64-nodejs/PKGBUILD +++ b/mingw-w64-nodejs/PKGBUILD @@ -8,7 +8,7 @@ _realname=nodejs pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=24.6.0 +pkgver=24.8.0 pkgrel=1 pkgdesc="An open-source, cross-platform JavaScript runtime environment (mingw-w64)" arch=('any') @@ -64,7 +64,7 @@ source=("https://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.xz" 0201-v8-buildflags-fixes.patch 0202-v8-builtin-deps-buildflags-fixes.patch node) -sha256sums=('8ad5c387b5d55d8f3b783b0f1b21bae03a3b3b10ac89a25d266cffa7b795e842' +sha256sums=('1c03b362ebf4740d4758b9a3d3087e3de989f54823650ec80b47090ef414b2e0' 'a3ed80fc1b098c3fe10e593d2a110dd44b5e91872e2b82e3c6644409a9a9ffce' '19b95bb9882c4e952d667279c4652384e7f4b3c2b9d190c73398d2a82692be80' 'df4ee2b86ebb029d26d65480c758e33e6d30a8423235b168f7bcf6ffaf963e67' @@ -85,7 +85,7 @@ sha256sums=('8ad5c387b5d55d8f3b783b0f1b21bae03a3b3b10ac89a25d266cffa7b795e842' '7d498f8090ab05458f28a5d2c60ef8511d2b48bc5368fda06922c35ca2584a22' 'e599605b3994c17514a2efcc84109c01d716a9bb5c819873187721e78a28d079' '18ca0c99da6761aeba3b2e8b6fa23787d7d3114e1798fecd9037e9a7a8bc93c1' - '9876b861cef71aac8a743b4a72e30b54cffa3d9bd529ba8e135efe25bfe3052c' + '34f7acaca209070758e5a3d38ea49abd211e8333aae2bfba8407f86237dc517f' 'd4ee69098fc1d00b960ceef3a9affaa4c5a1f9d75d004ba8389889f6b2d89c3d' '492758c11d287d88ea035d84f5ab3eb0dc76da0b8552f6ad13c4cd89597f4183' '03662d63d260aca7c97b5671d6905f7c236c91eb7a0585109c6c9ad63f1e94cc'