mirror of
https://github.com/ilyakooo0/haskell.nix.git
synced 2024-09-11 06:55:40 +03:00
This change updates to the latest `nix-tools` to get the following fixes (there are 3 PRs in nix-tools, but just the one in haskell.nix to avoid having to update the materialized files multiple times): ## Better support for source repository packages * https://github.com/input-output-hk/nix-tools/pull/107 Currently these are replaced by the `cabalProject` functions with regular `packages:` before running cabal configure. Cabal does not treat these the same (the setting of `tests:` and `benchmarks:` in the `cabal.project` file): * The plan found by `cabalProject` may not match the one used when running `cabal`. * The performance of the solver may not be consistent with running `cabal`. This change replaces `source-repository-package` with another `source-repository-package` pointing at a minimal git repo. ## Only include planned components * https://github.com/input-output-hk/nix-tools/pull/108 Only the components in the `plan.json` are now included in the haskell.nix cabal projects. This avoids missing dependencies attempting to build components that were not in the plan. Should fix #993. ## Pick latest packages * https://github.com/input-output-hk/nix-tools/pull/109 When the same package occurs more than once in a `plan.json` file (perhaps because it is needed both by the project itself and by one of the `setup` dependencies or `build-tool-dependencies` of the project) the latest version will now be the one picked by haskell.nix. This is a work around for a common issue with `cabal-doctest` when cross compiling to windows (an old version of Win32 is used even if a newer one was required by the projects `constraints`).
18 lines
445 B
Nix
18 lines
445 B
Nix
{
|
|
extras = hackage:
|
|
{
|
|
packages = {
|
|
"transformers" = (((hackage.transformers)."0.5.6.2").revisions).default;
|
|
"process" = (((hackage.process)."1.6.5.0").revisions).default;
|
|
stack-simple = ./stack-simple.nix;
|
|
};
|
|
};
|
|
resolver = "lts-14.13";
|
|
modules = [
|
|
({ lib, ... }:
|
|
{ packages = {}; })
|
|
{ packages = {}; }
|
|
({ lib, ... }:
|
|
{ planned = lib.mkOverride 900 true; })
|
|
];
|
|
} |