summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/generic-builder.nix
diff options
context:
space:
mode:
authorSilvan Mosberger <infinisil@icloud.com>2018-09-17 23:11:59 +0200
committerPeter Simons <simons@cryp.to>2018-10-03 18:00:29 +0200
commit7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4 (patch)
treea3b3d1befe79af28d866cc9fa88260c866248e5e /pkgs/development/haskell-modules/generic-builder.nix
parent1951aea6a5b127a7a398784e4bb26746d01c157c (diff)
downloadnixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.tar
nixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.tar.gz
nixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.tar.bz2
nixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.tar.lz
nixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.tar.xz
nixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.tar.zst
nixpkgs-7c5c3fceff06ecadf21297d2b5cbed4e7e6168b4.zip
haskell.lib.getBuildInputs: Use generic builder passthru to implement
Diffstat (limited to 'pkgs/development/haskell-modules/generic-builder.nix')
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 648ee4b6b9b..8dea5d0493b 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -174,8 +174,7 @@ let
     (optionalString (versionOlder "7.10" ghc.version && !isHaLVM) "-threaded")
   ];
 
-  isHaskellPkg = x: (x ? pname) && (x ? version) && (x ? env);
-  isSystemPkg = x: !isHaskellPkg x;
+  isHaskellPkg = x: x ? isHaskellLibrary;
 
   allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++
                         optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
@@ -192,7 +191,10 @@ let
                      optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testFrameworkDepends) ++
                      optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
 
-  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
+
+  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild;
+  isHaskellPartition =
+    stdenv.lib.partition isHaskellPkg allBuildInputs;
 
   haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
   systemBuildInputs = stdenv.lib.filter isSystemPkg allBuildInputs;
@@ -429,6 +431,13 @@ stdenv.mkDerivation ({
 
     compiler = ghc;
 
+
+    getBuildInputs = {
+      inherit propagatedBuildInputs otherBuildInputs allPkgconfigDepends;
+      haskellBuildInputs = isHaskellPartition.right;
+      systemBuildInputs = isHaskellPartition.wrong;
+    };
+
     isHaskellLibrary = isLibrary;
 
     # TODO: ask why the split outputs are configurable at all?