haskell.nix/test/with-packages/pkgs.nix
Hamish Mackenzie 674f5b0a3d
Better support for source-repository-packages, only include planned components and pick latest packages (#1166)
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`).
2021-07-23 14:27:56 +12:00

200 lines
12 KiB
Nix

{
pkgs = hackage:
{
packages = {
"these".revision = (((hackage."these")."1.1.1.1").revisions).default;
"these".flags.assoc = true;
"binary".revision = (((hackage."binary")."0.8.6.0").revisions).default;
"bifunctors".revision = (((hackage."bifunctors")."5.5.11").revisions).default;
"bifunctors".flags.tagged = true;
"bifunctors".flags.semigroups = true;
"ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
"void".revision = (((hackage."void")."0.7.3").revisions).default;
"void".flags.safe = false;
"free".revision = (((hackage."free")."5.1.7").revisions).default;
"exceptions".revision = (((hackage."exceptions")."0.10.4").revisions).default;
"exceptions".flags.transformers-0-4 = true;
"array".revision = (((hackage."array")."0.5.3.0").revisions).default;
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
"call-stack".revision = (((hackage."call-stack")."0.4.0").revisions).default;
"template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
"vector".revision = (((hackage."vector")."0.12.3.0").revisions).default;
"vector".flags.unsafechecks = false;
"vector".flags.internalchecks = false;
"vector".flags.boundschecks = true;
"vector".flags.wall = false;
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
"parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
"distributive".revision = (((hackage."distributive")."0.6.2.1").revisions).default;
"distributive".flags.tagged = true;
"distributive".flags.semigroups = true;
"transformers-base".revision = (((hackage."transformers-base")."0.4.5.2").revisions).default;
"transformers-base".flags.orphaninstances = true;
"base".revision = (((hackage."base")."4.12.0.0").revisions).default;
"rts".revision = (((hackage."rts")."1.0").revisions).default;
"text".revision = (((hackage."text")."1.2.3.1").revisions).default;
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
"unordered-containers".revision = (((hackage."unordered-containers")."0.2.14.0").revisions).default;
"unordered-containers".flags.debug = false;
"contravariant".revision = (((hackage."contravariant")."1.5.3").revisions).default;
"contravariant".flags.tagged = true;
"contravariant".flags.semigroups = true;
"contravariant".flags.statevar = true;
"bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
"reflection".revision = (((hackage."reflection")."2.1.6").revisions).default;
"reflection".flags.slow = false;
"reflection".flags.template-haskell = true;
"lens".revision = (((hackage."lens")."5.0.1").revisions).default;
"lens".flags.test-templates = true;
"lens".flags.test-hunit = true;
"lens".flags.benchmark-uniplate = false;
"lens".flags.inlining = true;
"lens".flags.trustworthy = true;
"lens".flags.test-properties = true;
"lens".flags.dump-splices = false;
"lens".flags.j = false;
"containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
"semigroupoids".revision = (((hackage."semigroupoids")."5.3.5").revisions).default;
"semigroupoids".flags.distributive = true;
"semigroupoids".flags.comonad = true;
"semigroupoids".flags.contravariant = true;
"semigroupoids".flags.containers = true;
"semigroupoids".flags.tagged = true;
"semigroupoids".flags.unordered-containers = true;
"tagged".revision = (((hackage."tagged")."0.8.6.1").revisions).default;
"tagged".flags.deepseq = true;
"tagged".flags.transformers = true;
"base-orphans".revision = (((hackage."base-orphans")."0.8.4").revisions).default;
"primitive".revision = (((hackage."primitive")."0.7.1.0").revisions).default;
"transformers-compat".revision = (((hackage."transformers-compat")."0.6.6").revisions).default;
"transformers-compat".flags.two = false;
"transformers-compat".flags.five = false;
"transformers-compat".flags.four = false;
"transformers-compat".flags.generic-deriving = true;
"transformers-compat".flags.five-three = true;
"transformers-compat".flags.three = false;
"transformers-compat".flags.mtl = true;
"profunctors".revision = (((hackage."profunctors")."5.6.2").revisions).default;
"th-abstraction".revision = (((hackage."th-abstraction")."0.4.2.0").revisions).default;
"semigroups".revision = (((hackage."semigroups")."0.19.1").revisions).default;
"semigroups".flags.bytestring = true;
"semigroups".flags.deepseq = true;
"semigroups".flags.binary = true;
"semigroups".flags.containers = true;
"semigroups".flags.tagged = true;
"semigroups".flags.template-haskell = true;
"semigroups".flags.bytestring-builder = false;
"semigroups".flags.transformers = true;
"semigroups".flags.hashable = true;
"semigroups".flags.unordered-containers = true;
"semigroups".flags.text = true;
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
"kan-extensions".revision = (((hackage."kan-extensions")."5.2.2").revisions).default;
"strict".revision = (((hackage."strict")."0.4.0.1").revisions).default;
"strict".flags.assoc = true;
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
"invariant".revision = (((hackage."invariant")."0.5.4").revisions).default;
"hashable".revision = (((hackage."hashable")."1.3.2.0").revisions).default;
"hashable".flags.integer-gmp = true;
"hashable".flags.random-initial-seed = false;
"adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
"comonad".revision = (((hackage."comonad")."5.0.8").revisions).default;
"comonad".flags.distributive = true;
"comonad".flags.indexed-traversable = true;
"comonad".flags.containers = true;
"assoc".revision = (((hackage."assoc")."1.0.2").revisions).default;
"indexed-traversable".revision = (((hackage."indexed-traversable")."0.1.1").revisions).default;
"indexed-traversable-instances".revision = (((hackage."indexed-traversable-instances")."0.1").revisions).default;
"StateVar".revision = (((hackage."StateVar")."1.2.1").revisions).default;
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
};
compiler = {
version = "8.6.5";
nix-name = "ghc865";
packages = {
"binary" = "0.8.6.0";
"ghc-prim" = "0.5.3";
"array" = "0.5.3.0";
"integer-gmp" = "1.0.2.0";
"template-haskell" = "2.14.0.0";
"pretty" = "1.1.3.6";
"base" = "4.12.0.0";
"rts" = "1.0";
"text" = "1.2.3.1";
"mtl" = "2.2.2";
"bytestring" = "0.10.8.2";
"containers" = "0.6.0.1";
"ghc-boot-th" = "8.6.5";
"filepath" = "1.4.2.1";
"deepseq" = "1.4.4.0";
"transformers" = "0.5.6.2";
"stm" = "2.5.0.0";
};
};
};
extras = hackage:
{
packages = { test-with-packages = ./.plan.nix/test-with-packages.nix; };
};
modules = [
({ lib, ... }:
{ packages = { "test-with-packages" = { flags = {}; }; }; })
({ lib, ... }:
{
packages = {
"tagged".components.library.planned = lib.mkOverride 900 true;
"containers".components.library.planned = lib.mkOverride 900 true;
"lens".components.library.planned = lib.mkOverride 900 true;
"semigroupoids".components.library.planned = lib.mkOverride 900 true;
"bifunctors".components.library.planned = lib.mkOverride 900 true;
"binary".components.library.planned = lib.mkOverride 900 true;
"these".components.library.planned = lib.mkOverride 900 true;
"ghc-prim".components.library.planned = lib.mkOverride 900 true;
"StateVar".components.library.planned = lib.mkOverride 900 true;
"stm".components.library.planned = lib.mkOverride 900 true;
"indexed-traversable-instances".components.library.planned = lib.mkOverride 900 true;
"indexed-traversable".components.library.planned = lib.mkOverride 900 true;
"assoc".components.library.planned = lib.mkOverride 900 true;
"comonad".components.library.planned = lib.mkOverride 900 true;
"adjunctions".components.library.planned = lib.mkOverride 900 true;
"hashable".components.library.planned = lib.mkOverride 900 true;
"transformers".components.library.planned = lib.mkOverride 900 true;
"invariant".components.library.planned = lib.mkOverride 900 true;
"parallel".components.library.planned = lib.mkOverride 900 true;
"pretty".components.library.planned = lib.mkOverride 900 true;
"vector".components.library.planned = lib.mkOverride 900 true;
"template-haskell".components.library.planned = lib.mkOverride 900 true;
"integer-gmp".components.library.planned = lib.mkOverride 900 true;
"call-stack".components.library.planned = lib.mkOverride 900 true;
"array".components.library.planned = lib.mkOverride 900 true;
"free".components.library.planned = lib.mkOverride 900 true;
"exceptions".components.library.planned = lib.mkOverride 900 true;
"void".components.library.planned = lib.mkOverride 900 true;
"reflection".components.library.planned = lib.mkOverride 900 true;
"bytestring".components.library.planned = lib.mkOverride 900 true;
"contravariant".components.library.planned = lib.mkOverride 900 true;
"text".components.library.planned = lib.mkOverride 900 true;
"test-with-packages".components.library.planned = lib.mkOverride 900 true;
"base".components.library.planned = lib.mkOverride 900 true;
"rts".components.library.planned = lib.mkOverride 900 true;
"unordered-containers".components.library.planned = lib.mkOverride 900 true;
"mtl".components.library.planned = lib.mkOverride 900 true;
"transformers-base".components.library.planned = lib.mkOverride 900 true;
"distributive".components.library.planned = lib.mkOverride 900 true;
"deepseq".components.library.planned = lib.mkOverride 900 true;
"filepath".components.library.planned = lib.mkOverride 900 true;
"kan-extensions".components.library.planned = lib.mkOverride 900 true;
"strict".components.library.planned = lib.mkOverride 900 true;
"semigroups".components.library.planned = lib.mkOverride 900 true;
"ghc-boot-th".components.library.planned = lib.mkOverride 900 true;
"profunctors".components.library.planned = lib.mkOverride 900 true;
"base-orphans".components.library.planned = lib.mkOverride 900 true;
"th-abstraction".components.library.planned = lib.mkOverride 900 true;
"primitive".components.library.planned = lib.mkOverride 900 true;
"transformers-compat".components.library.planned = lib.mkOverride 900 true;
};
})
];
}