nixpkgs/pkgs/development/haskell-modules
Jacquin Mininger 7d67db3919 shellFor: Refactor for consistency and cross
This makes it work like work-on-multi from Reflex Platform. In
particular, rather than making `.env` from `shellFor`, we make `.env`
the primitive, and `shellFor` works by combining together the arguments
of all the packages to `generic-builder` and taking the `.env` of the
resulting mashup-package.

There are 2 benefits of this:

1. The dependency logic is deduplicated. generic builder just concatted
   lists, whereas all the envs until now would sieve apart haskell and
   system build inputs. Now, they both decide haskell vs system the same
   way: according to the argument list and without reflection.
   Consistency is good, especially because it mean that if the build
   works, the shell is more likely to work.

2. Cross is handled better. For native builds, because the
   `ghcWithPackages` calls would shadow, we through both the regular
   component (lib, exe, test, bench) haskell deps and Setup.hs haskell
   deps in the same `ghcWithPackages` call. But for cross builds we use
   `buildPackages.ghcWithPackages` to get the setup deps. This ensures
   everything works correctly.
2020-01-17 10:46:29 -05:00
..
patches haskell-clock: drop obsolete patches 2019-08-11 20:48:09 +02:00
configuration-common.nix haskell-arbtt: fix the test suite 2019-09-07 20:00:22 +02:00
configuration-ghc-8.2.x.nix jailbreak-cabal: updated package needs updated Cabal library 2019-09-06 17:27:21 +02:00
configuration-ghc-8.4.x.nix jailbreak-cabal: updated package needs updated Cabal library 2019-09-06 17:27:21 +02:00
configuration-ghc-8.6.x.nix jailbreak-cabal: updated package needs updated Cabal library 2019-09-06 17:27:21 +02:00
configuration-ghc-8.8.x.nix haskell-zlib: drop obsolete overrides for ghc-8.8.x 2019-09-06 17:27:21 +02:00
configuration-ghc-head.nix Merge pull request #56137 from jacereda/cereal-check-head 2019-02-21 11:54:11 +01:00
configuration-ghcjs.nix
configuration-hackage2nix.yaml haskell-arbtt: fix the test suite 2019-09-07 20:00:22 +02:00
configuration-nix.nix cachix: fix build 2019-09-09 09:52:29 +02:00
configuration-tensorflow.nix
default.nix
generic-builder.nix shellFor: Refactor for consistency and cross 2020-01-17 10:46:29 -05:00
generic-stack-builder.nix haskell.buildStackProject: Pass nativeBuildInputs 2019-08-11 14:21:13 +03:00
hackage-packages.nix hackage-packages.nix: automatic Haskell package set update 2019-09-07 20:00:23 +02:00
hoogle-local-wrapper.sh
hoogle.nix ghcWithHoogle: Fix for cross 2019-12-24 18:17:41 -05:00
initial-packages.nix
lib.nix haskell/lib: Introduce markUnbroken helper 2019-07-14 12:26:04 -04:00
make-package-set.nix shellFor: Refactor for consistency and cross 2020-01-17 10:46:29 -05:00
non-hackage-packages.nix cabal-install: version 3.x is out officially 2019-08-28 15:50:33 +00:00
stack-hook.sh stack-hook: deduplicate better 2019-03-02 02:21:32 -05:00
with-packages-wrapper.nix haskell/with-packages-wrapper.nix: remove /bin symlink if it exists 2020-01-06 18:25:50 -05:00