summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/generic-builder.nix
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2023-07-29 22:13:40 +0200
committersternenseemann <sternenseemann@systemli.org>2023-08-07 13:58:06 +0200
commit69b514d2492bd6330f906150d472ea1e09b82f59 (patch)
treed0f70904ddb585a9fc0c01330533cd47a07ebe1e /pkgs/development/haskell-modules/generic-builder.nix
parenta83158c7b9c248032de5be0e69a38c5c44f00801 (diff)
downloadnixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.tar
nixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.tar.gz
nixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.tar.bz2
nixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.tar.lz
nixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.tar.xz
nixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.tar.zst
nixpkgs-69b514d2492bd6330f906150d472ea1e09b82f59.zip
haskellPackages.mkDerivation: don't ev allPkgconfigDepends too early
Just getting the length of allPkgconfigDepends now may require a quite
expensive and involved function to be execute, so it should be put off
as long as possible. We can achieve this by moving the assert for
pkg-config being available next to its inclusion in nativeBuildInputs.

This solves the infinite recursion triggered by hercules-ci-cnix-store.
Diffstat (limited to 'pkgs/development/haskell-modules/generic-builder.nix')
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix4
1 files changed, 1 insertions, 3 deletions
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 0ed03e55ceb..e47a0ecfa63 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -300,7 +300,7 @@ let
     optionals doCheck testToolDepends ++
     optionals doBenchmark benchmarkToolDepends;
   nativeBuildInputs =
-    [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkg-config ++
+    [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) (assert pkg-config != null; pkg-config) ++
     setupHaskellDepends ++ collectedToolDepends;
   propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends;
   otherBuildInputsHaskell =
@@ -349,8 +349,6 @@ let
   intermediatesDir = "share/haskell/${ghc.version}/${pname}-${version}/dist";
 in lib.fix (drv:
 
-assert allPkgconfigDepends != [] -> pkg-config != null;
-
 stdenv.mkDerivation ({
   inherit pname version;