diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index 8790b56e5019..5af68552f687 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -295,15 +295,18 @@ rec { overrideSrc = drv: { src, version ? drv.version }: overrideCabal drv (_: { inherit src version; editedCabalFile = null; }); + # Get all of the build inputs of a haskell package, divided by category. + getBuildInputs = p: + (overrideCabal p (args: { + passthru = (args.passthru or {}) // { + _getBuildInputs = extractBuildInputs p.compiler args; + }; + }))._getBuildInputs; + # Extract the haskell build inputs of a haskell package. # This is useful to build environments for developing on that # package. - getHaskellBuildInputs = p: - (overrideCabal p (args: { - passthru = (args.passthru or {}) // { - _getHaskellBuildInputs = (extractBuildInputs p.compiler args).haskellBuildInputs; - }; - }))._getHaskellBuildInputs; + getHaskellBuildInputs = p: (getBuildInputs p).haskellBuildInputs; # Under normal evaluation, simply return the original package. Under # nix-shell evaluation, return a nix-shell optimized environment. diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 3f339030de55..608fb3625b29 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -38,7 +38,7 @@ let inherit (stdenv) buildPlatform hostPlatform; inherit (stdenv.lib) fix' extends makeOverridable; - inherit (haskellLib) overrideCabal getHaskellBuildInputs; + inherit (haskellLib) overrideCabal getBuildInputs; mkDerivationImpl = pkgs.callPackage ./generic-builder.nix { inherit stdenv; @@ -257,7 +257,7 @@ in package-set { inherit pkgs stdenv callPackage; } self // { shellFor = { packages, withHoogle ? false, ... } @ args: let selected = packages self; - packageInputs = builtins.map getHaskellBuildInputs selected; + packageInputs = builtins.map getBuildInputs selected; haskellInputs = builtins.filter (input: pkgs.lib.all (p: input.outPath != p.outPath) selected)