Fix hak check for matrix-seshat (backport #33030) (#33063)

This commit is contained in:
Michael Telatynski 2026-04-07 16:07:42 +01:00 committed by GitHub
parent dbac03cbce
commit 3e5da3ca2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 4 deletions

View File

@ -14,10 +14,7 @@ import type { Tool } from "../../scripts/hak/hakEnv.ts";
import type { DependencyInfo } from "../../scripts/hak/dep.ts";
export default async function (hakEnv: HakEnv, moduleInfo: DependencyInfo): Promise<void> {
const tools: Tool[] = [
["rustc", "--version"],
["python", "--version"], // node-gyp uses python for reasons beyond comprehension
];
const tools: Tool[] = [["rustc", "--version"]];
if (hakEnv.isWin()) {
tools.push(["perl", "--version"]); // for openssl configure
tools.push(["nasm", "-v"]); // for openssl building
@ -28,6 +25,14 @@ export default async function (hakEnv: HakEnv, moduleInfo: DependencyInfo): Prom
}
await hakEnv.checkTools(tools);
try {
// node-gyp uses python for reasons beyond comprehension
// Try python3 first, to get a more sensible error if python is not found in the fallback
await hakEnv.checkTools([["python3", "--version"]]);
} catch {
await hakEnv.checkTools([["python", "--version"]]);
}
// Ensure Rust target exists (nb. we avoid depending on rustup)
await new Promise((resolve, reject) => {
const rustc = childProcess.execFile(

View File

@ -103,6 +103,9 @@ export default class HakEnv {
shell: this.isWin(),
...options,
});
proc.on("error", (err) => {
reject(err);
});
proc.on("exit", (code) => {
if (code) {
reject(code);