From 01c32e49a94db858d3c4bc0b23d311df202fb329 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 21 Aug 2020 23:08:15 +0100 Subject: [PATCH] deno: avoid nix-prefetch error nix-prefetch is failing with an error containing 'allow-unsafe-native-code-during-evaluation'. This change avoids and handles this error so the update still used. This isn't intended as a permanent fix but it works for now. --- pkgs/development/web/deno/update/common.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pkgs/development/web/deno/update/common.ts b/pkgs/development/web/deno/update/common.ts index 71e4d638f8d..d8956b21d16 100644 --- a/pkgs/development/web/deno/update/common.ts +++ b/pkgs/development/web/deno/update/common.ts @@ -8,7 +8,20 @@ const run = async (command: string, args: string[]) => { { cmd: [command, ...args], stdout: "piped", stderr: "piped" }, ); if (!(await cmd.status()).success) { - throw await cmd.stderrOutput().then((b) => decode(b)); + const error = await cmd.stderrOutput().then((b) => decode(b).trimEnd()); + // Known error we can ignore + if (error.includes("'allow-unsafe-native-code-during-evaluation'")) { + // Extract the target sha256 out of the error + const target = " got: sha256:"; + const match = error + .split("\n") + .find((l) => l.includes(target)) + ?.split(target)[1]; + if (typeof match !== "undefined") { + return match; + } + } + throw new Error(error); } return cmd.output().then((b) => decode(b).trimEnd()); };