0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

treewide: more accurate pandoc availability check #404599

This commit is contained in:
Vladimír Čunát 2025-05-11 10:01:30 +02:00
commit a0df4882cd
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
8 changed files with 21 additions and 21 deletions

View file

@ -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} ${

View file

@ -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 ];

View file

@ -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
'';

View file

@ -640,6 +640,8 @@ stdenv.mkDerivation (
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
bootstrapAvailable = lib.meta.availableOn stdenv.buildPlatform bootPkgs.ghc;
};
meta = {

View file

@ -839,6 +839,8 @@ stdenv.mkDerivation (
# TODO(@sternenseemann): there's no stage0:exe:haddock target by default,
# so haddock isn't available for GHC cross-compilers. Can we fix that?
hasHaddock = stdenv.hostPlatform == stdenv.targetPlatform;
bootstrapAvailable = lib.meta.availableOn stdenv.buildPlatform bootPkgs.ghc;
};
meta = {

View file

@ -645,6 +645,8 @@ stdenv.mkDerivation (
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
bootstrapAvailable = lib.meta.availableOn stdenv.buildPlatform bootPkgs.ghc;
};
meta = {

View file

@ -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

View file

@ -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 ];