diff options
author | Will Fancher <elvishjerricco@gmail.com> | 2019-01-29 16:26:29 -0500 |
---|---|---|
committer | Will Fancher <elvishjerricco@gmail.com> | 2019-01-29 16:29:18 -0500 |
commit | 24ccaf65dff3b918c194a4e9282675da16458103 (patch) | |
tree | ff824e09ff247f872dae77a6280fd7b06996a0e3 /pkgs/development/haskell-modules/make-package-set.nix | |
parent | 7897dadbbf58b19926370096567d79175d9e4be8 (diff) | |
download | nixpkgs-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.nix | 8 |
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; |