diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 5803e2946bffc..b0adbf46e7477 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -260,7 +260,10 @@ in package-set { inherit pkgs stdenv callPackage; } self // { # bash$ nix-shell --run "cabal new-build all" shellFor = { packages, withHoogle ? false, ... } @ args: let - selected = packages self; + nullSrc = p: overrideCabal p (_: { src = null; }); + + # Make sure we *never* accidentally suck in src. + selected = map nullSrc (packages self); packageInputs = map getBuildInputs selected; @@ -272,7 +275,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // { # because cabal will end up ignoring that built version, assuming # new-style commands. haskellInputs = pkgs.lib.filter - (input: pkgs.lib.all (p: input.outPath != p.outPath) selected) + # nullSrc in case a dep is one of the selected packages. + (input: pkgs.lib.all (p: (nullSrc input).outPath != p.outPath) selected) (pkgs.lib.concatMap (p: p.haskellBuildInputs) packageInputs); systemInputs = pkgs.lib.concatMap (p: p.systemBuildInputs) packageInputs;