From de097d755b03bccc027f7f36338e10b418fc26a6 Mon Sep 17 00:00:00 2001 From: Franco Victorio Date: Wed, 19 Oct 2022 12:42:08 +0200 Subject: [PATCH 1/2] Fix how native solc is checked after download --- .../internal/solidity/compiler/downloader.ts | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/hardhat-core/src/internal/solidity/compiler/downloader.ts b/packages/hardhat-core/src/internal/solidity/compiler/downloader.ts index 100b7b34c6..57a27c1dc1 100644 --- a/packages/hardhat-core/src/internal/solidity/compiler/downloader.ts +++ b/packages/hardhat-core/src/internal/solidity/compiler/downloader.ts @@ -3,6 +3,8 @@ import fsExtra from "fs-extra"; import debug from "debug"; import os from "os"; import { execFile } from "child_process"; +import { promisify } from "util"; + import { download } from "../../util/download"; import { assertHardhatInvariant, HardhatError } from "../../core/errors"; import { ERRORS } from "../../core/errors-list"; @@ -345,17 +347,15 @@ export class CompilerDownloader implements ICompilerDownloader { await fsExtra.createFile(this._getCompilerDoesntWorkFile(build)); } - private _checkNativeSolc(build: CompilerBuild) { + private async _checkNativeSolc(build: CompilerBuild) { const solcPath = this._getCompilerBinaryPathFromBuild(build); - return new Promise((resolve) => { - try { - const process = execFile(solcPath, ["--version"]); - process.on("exit", (code) => { - resolve(code === 0); - }); - } catch { - resolve(false); - } - }); + const execFileP = promisify(execFile); + + try { + await execFileP(solcPath, ["--version"]); + return true; + } catch { + return false; + } } } From 145b12c7d444566f3b30a9a55a653784195b6b4e Mon Sep 17 00:00:00 2001 From: Franco Victorio Date: Wed, 19 Oct 2022 14:07:17 +0200 Subject: [PATCH 2/2] Create tall-llamas-remember.md --- .changeset/tall-llamas-remember.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tall-llamas-remember.md diff --git a/.changeset/tall-llamas-remember.md b/.changeset/tall-llamas-remember.md new file mode 100644 index 0000000000..27f20f3649 --- /dev/null +++ b/.changeset/tall-llamas-remember.md @@ -0,0 +1,5 @@ +--- +"hardhat": patch +--- + +Fixed a problem that was preventing Hardhat from being used in Alpine Linux.