mirror of
https://github.com/simplex-chat/haskell.nix.git
synced 2026-06-03 09:17:32 +00:00
674f5b0a3d
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`).
43 lines
1.6 KiB
Nix
43 lines
1.6 KiB
Nix
{
|
|
pkgs = hackage:
|
|
{
|
|
packages = {
|
|
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
|
|
"array".revision = (((hackage."array")."0.5.3.0").revisions).default;
|
|
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
|
|
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
|
|
"rts".revision = (((hackage."rts")."1.0").revisions).default;
|
|
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
|
|
};
|
|
compiler = {
|
|
version = "8.6.5";
|
|
nix-name = "ghc865";
|
|
packages = {
|
|
"ghc-prim" = "0.5.3";
|
|
"array" = "0.5.3.0";
|
|
"integer-gmp" = "1.0.2.0";
|
|
"base" = "4.12.0.0";
|
|
"rts" = "1.0";
|
|
"stm" = "2.5.0.0";
|
|
};
|
|
};
|
|
};
|
|
extras = hackage:
|
|
{ packages = { test-haddock = ./.plan.nix/test-haddock.nix; }; };
|
|
modules = [
|
|
({ lib, ... }:
|
|
{ packages = { "test-haddock" = { flags = {}; }; }; })
|
|
({ lib, ... }:
|
|
{
|
|
packages = {
|
|
"ghc-prim".components.library.planned = lib.mkOverride 900 true;
|
|
"stm".components.library.planned = lib.mkOverride 900 true;
|
|
"test-haddock".components.library.planned = lib.mkOverride 900 true;
|
|
"integer-gmp".components.library.planned = lib.mkOverride 900 true;
|
|
"array".components.library.planned = lib.mkOverride 900 true;
|
|
"base".components.library.planned = lib.mkOverride 900 true;
|
|
"rts".components.library.planned = lib.mkOverride 900 true;
|
|
};
|
|
})
|
|
];
|
|
} |