From 2c5990f03aac1dd0fd48855fc8e5ca9abff34991 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Wed, 28 Jun 2023 16:07:13 +0200 Subject: [PATCH] writeShellApplication: use shellcheck only where supported --- pkgs/build-support/trivial-builders/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index d095974513cb..f6734bc0a03c 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -357,12 +357,20 @@ rec { ''; checkPhase = + # GHC (=> shellcheck) isn't supported on some platforms (such as risc-v) + # but we still want to use writeShellApplication on those platforms + let + shellcheckSupported = lib.meta.availableOn stdenv.buildPlatform shellcheck.compiler; + shellcheckCommand = lib.optionalString shellcheckSupported '' + # use shellcheck which does not include docs + # pandoc takes long to build and documentation isn't needed for just running the cli + ${lib.getExe (haskell.lib.compose.justStaticExecutables shellcheck.unwrapped)} "$target" + ''; + in if checkPhase == null then '' runHook preCheck ${stdenv.shellDryRun} "$target" - # use shellcheck which does not include docs - # pandoc takes long to build and documentation isn't needed for in nixpkgs usage - ${lib.getExe (haskell.lib.compose.justStaticExecutables shellcheck.unwrapped)} "$target" + ${shellcheckCommand} runHook postCheck '' else checkPhase;