Files
orca/config/scripts/node-dist-archive-name.mjs
T
OrcaWinandm4air ddd4927a0b build(orcad): server node-pty slots at glibc 2.28, plus a glibc 2.17 compat slot (#24134)
* build(orcad): build server glibc slots on glibc 2.28 and add the glibc 2.17 compat slot

Design D6: the default linux-{x64,arm64}-glibc node-pty slots now build in
manylinux_2_28 (digest-pinned) and are gated at glibc 2.28 / GLIBCXX_3.4.25
through a floor profile on verify-linux-glibc-floor.cjs; the desktop keeps
its Ubuntu 20.04 (2.31) default.

Adds the opt-in linux-x64-glibc217 compat target: NODE_RUNTIME_COMPAT_ASSETS
pins the unofficial glibc-217 Node (update/check pin scripts cover it, outside
SERVER_TARGETS), and a new CI lane builds the compat slot in manylinux2014
with static libstdc++, gates it at glibc 2.17 with no shared C++ runtime in
DT_NEEDED, and smokes it under the glibc-217 Node.

* refactor(node-runtime-pin): route compat lookups through isCompatServerTarget; keep the glibc doc's slot-name paragraph intact

---------

Co-authored-by: m4air <m4air@m4airs-Air.localdomain>
2026-10-01 01:10:57 -07:00

25 lines
942 B
JavaScript

// Kept apart from update-node-runtime-pin.mjs so the offline check does not load its build graph.
/** Node's platform suffix for each server target; nodejs.org names Windows `win`, not `win32`. */
export const NODE_DIST_PLATFORMS = {
'darwin-arm64': 'darwin-arm64',
'darwin-x64': 'darwin-x64',
'linux-arm64-glibc': 'linux-arm64',
'linux-x64-glibc': 'linux-x64',
'linux-arm64-musl': 'linux-arm64-musl',
'linux-x64-musl': 'linux-x64-musl',
'win32-arm64': 'win-arm64',
'win32-x64': 'win-x64',
'linux-x64-glibc217': 'linux-x64-glibc-217'
}
export function nodeDistArchiveName(version, target) {
// Why .tar.gz over .tar.xz: every POSIX host can extract gzip; xz is not guaranteed.
const extension = target.startsWith('win32-') ? 'zip' : 'tar.gz'
return `node-v${version}-${NODE_DIST_PLATFORMS[target]}.${extension}`
}
export function windowsImportLibFile(target) {
return `${NODE_DIST_PLATFORMS[target]}/node.lib`
}