mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
treewide: more accurate pandoc/shellcheck availability checks
The actual problem here is that there is no GHC bootstrap tarball for RISC-V or LoongArch, so the right thing to check here is whether the platform being used to build GHC has a bootstrap tarball available for it. This way, we'll do the right thing in all cases where such a tarball isn't available, not just riscv64 and loongarch64, without having to resort to tryEval, which could be hiding all sorts of problems. Since we need to refer to (unspliced) buildPackages.pandoc and buildPackages.shellcheck in the conditionals, I've opted to remove the pandoc and shellcheck inputs that would be spliced in nativeBuildInputs and use buildPackages explicitly there as well, to avoid confusingly having two different instances of the same package around.
This commit is contained in:
parent
a120e6098d
commit
14a2f96a75
5 changed files with 15 additions and 21 deletions
|
@ -367,17 +367,14 @@ 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-minimal.compiler
|
||||
&& (builtins.tryEval shellcheck-minimal.compiler.outPath).success;
|
||||
excludeFlags = lib.optionals (excludeShellChecks != [ ]) [
|
||||
"--exclude"
|
||||
(lib.concatStringsSep "," excludeShellChecks)
|
||||
];
|
||||
shellcheckCommand = lib.optionalString shellcheckSupported ''
|
||||
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
|
||||
# but we still want to use writeShellApplication on those platforms
|
||||
shellcheckCommand = lib.optionalString shellcheck-minimal.compiler.bootstrapAvailable ''
|
||||
# use shellcheck which does not include docs
|
||||
# pandoc takes long to build and documentation isn't needed for just running the cli
|
||||
${lib.getExe shellcheck-minimal} ${
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
lib,
|
||||
libogg,
|
||||
nix-update-script,
|
||||
pandoc,
|
||||
buildPackages,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
versionCheckHook,
|
||||
enableManpages ? !stdenv.buildPlatform.isRiscV64 && !stdenv.buildPlatform.isLoongArch64,
|
||||
enableManpages ? buildPackages.pandoc.compiler.bootstrapAvailable,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "flac";
|
||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
doxygen
|
||||
graphviz
|
||||
pkg-config
|
||||
] ++ lib.optional enableManpages pandoc;
|
||||
] ++ lib.optional enableManpages buildPackages.pandoc;
|
||||
|
||||
buildInputs = [ libogg ];
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
lib,
|
||||
bash,
|
||||
installShellFiles,
|
||||
shellcheck-minimal,
|
||||
buildPackages,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
|
@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation {
|
|||
strictDeps = true;
|
||||
buildInputs = [ bash ];
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
nativeCheckInputs = [ shellcheck-minimal ];
|
||||
nativeCheckInputs = [ buildPackages.shellcheck-minimal ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --host nixos-firewall-tool
|
||||
|
@ -26,10 +26,7 @@ stdenvNoCC.mkDerivation {
|
|||
installShellCompletion nixos-firewall-tool.{bash,fish}
|
||||
'';
|
||||
|
||||
# Skip shellcheck if GHC is not available, see writeShellApplication.
|
||||
doCheck =
|
||||
lib.meta.availableOn stdenvNoCC.buildPlatform shellcheck-minimal.compiler
|
||||
&& (builtins.tryEval shellcheck-minimal.compiler.outPath).success;
|
||||
doCheck = buildPackages.shellcheck-minimal.compiler.bootstrapAvailable;
|
||||
checkPhase = ''
|
||||
shellcheck nixos-firewall-tool
|
||||
'';
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
pkg-config,
|
||||
gobject-introspection,
|
||||
vala,
|
||||
enableManpages ? !stdenv.buildPlatform.isLoongArch64 && !stdenv.buildPlatform.isRiscV64,
|
||||
pandoc,
|
||||
buildPackages,
|
||||
enableManpages ? buildPackages.pandoc.compiler.bootstrapAvailable,
|
||||
gi-docgen,
|
||||
python3,
|
||||
libsoup_3,
|
||||
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
vala
|
||||
gi-docgen
|
||||
python3
|
||||
] ++ lib.optionals enableManpages [ pandoc ];
|
||||
] ++ lib.optionals enableManpages [ buildPackages.pandoc ];
|
||||
|
||||
buildInputs = [
|
||||
libsoup_3
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pandoc,
|
||||
buildPackages,
|
||||
pkg-config,
|
||||
icu,
|
||||
catch2_3,
|
||||
enableManpages ? !stdenv.buildPlatform.isRiscV64 && !stdenv.buildPlatform.isLoongArch64,
|
||||
enableManpages ? buildPackages.pandoc.compiler.bootstrapAvailable,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
pkg-config
|
||||
]
|
||||
++ lib.optionals enableManpages [
|
||||
pandoc
|
||||
buildPackages.pandoc
|
||||
];
|
||||
|
||||
buildInputs = [ catch2_3 ];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue