1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-23 14:11:36 +00:00

Merge pull request #54900 from ElvishJerricco/haskell-shellfor-null-src

shellFor: Don't suck in src to compare to deps. [Fixes #51079]
This commit is contained in:
Silvan Mosberger 2019-02-15 00:38:36 +01:00 committed by GitHub
commit 982fe76fa6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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;