summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/make-package-set.nix
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2019-01-29 16:26:29 -0500
committerWill Fancher <elvishjerricco@gmail.com>2019-01-29 16:29:18 -0500
commit24ccaf65dff3b918c194a4e9282675da16458103 (patch)
treeff824e09ff247f872dae77a6280fd7b06996a0e3 /pkgs/development/haskell-modules/make-package-set.nix
parent7897dadbbf58b19926370096567d79175d9e4be8 (diff)
downloadnixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.tar
nixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.tar.gz
nixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.tar.bz2
nixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.tar.lz
nixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.tar.xz
nixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.tar.zst
nixpkgs-24ccaf65dff3b918c194a4e9282675da16458103.zip
shellFor: Don't suck in src to compare to deps. [Fixes #51079]
Diffstat (limited to 'pkgs/development/haskell-modules/make-package-set.nix')
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index b4cd7fee311..e33ac7c5f85 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -272,7 +272,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;
 
@@ -284,7 +287,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;