on iko/ghcjs-patch-master help sign in
Add default for shellFor packages (#242)
fdcb2daHamish Mackenzie
builder/hspkg-builder.nix+1−1
@@ -51,7 +51,7 @@ let
51
51
52in {
52in {
53 components = haskellLib.applyComponents buildComp config;
53 components = haskellLib.applyComponents buildComp config;
54− inherit (package) identifier;
54+ inherit (package) identifier detailLevel isLocal;
55 inherit setup cabalFile;
55 inherit setup cabalFile;
56 isHaskell = true;
56 isHaskell = true;
57}
57}
builder/shell-for.nix+9−1
@@ -1,6 +1,14 @@
1{ lib, stdenv, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib }:
1{ lib, stdenv, glibcLocales, pkgconfig, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib }:
2
2
3+{ packages ? ps:
4+ let
5+ selected = haskellLib.selectLocalPackages ps;
6+ in
7+ builtins.trace ("Shell for " + toString (builtins.attrNames selected))
8+ (builtins.attrValues selected)
9+, additional ? _: []
3−{ packages, additional ? _: [], withHoogle ? true, ... } @ args:
10+, withHoogle ? true
11+, ... } @ args:
4
12
5let
13let
6 selected = packages hsPkgs;
14 selected = packages hsPkgs;
lib/default.nix+5
@@ -61,6 +61,11 @@ with haskellLib;
61 isTest = componentId: componentId.ctype == "test";
61 isTest = componentId: componentId.ctype == "test";
62 isBenchmark = componentId: componentId.ctype == "bench";
62 isBenchmark = componentId: componentId.ctype == "bench";
63
63
64+ # Was there a reference to the package source in the `cabal.project` or `stack.yaml` file.
65+ # This is used to make the default `packages` list for `shellFor`.
66+ isLocalPackage = p: p.isLocal or false;
67+ selectLocalPackages = ps: lib.filterAttrs (n: p: p != null && isLocalPackage p) ps;
68+
64 # Format a componentId as it should appear as a target on the
69 # Format a componentId as it should appear as a target on the
65 # command line of the setup script.
70 # command line of the setup script.
66 componentTarget = componentId:
71 componentTarget = componentId:
modules/package.nix+5
@@ -126,6 +126,11 @@ in {
126 type = bool;
126 type = bool;
127 default = false;
127 default = false;
128 };
128 };
129+
130+ isLocal = mkOption {
131+ type = bool;
132+ default = false;
133+ };
129 };
134 };
130
135
131 components = let
136 components = let
nix-tools/nix-tools-src.json+3−3
@@ -1,7 +1,7 @@
1{
1{
2 "url": "https://github.com/input-output-hk/nix-tools",
2 "url": "https://github.com/input-output-hk/nix-tools",
3− "rev": "9a08485cb33a60bbf18c2f442020b12ff6373d24",
3+ "rev": "47ab47199194990681d24afd725e3f0e942e4f3d",
4− "date": "2019-09-25T17:39:56+08:00",
4+ "date": "2019-09-30T23:06:49+13:00",
5− "sha256": "04ijh8fgnc4f8zdvysv2qkhp0mq60jdhp3agm2v47xlq8r456vlm",
5+ "sha256": "1wbfs4k2sadzz0swrpbmdhsph0icfqni8f3dzxcny0vzpx7fiwfq",
6 "fetchSubmodules": false
6 "fetchSubmodules": false
7}
7}
test/shell-for/.plan.nix/pkga.nix+49−2
@@ -1,4 +1,43 @@
1+let
2+ buildDepError = pkg:
3+ builtins.throw ''
4+ The Haskell package set does not contain the package: ${pkg} (build dependency).
5+
6+ If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
7+ '';
8+ sysDepError = pkg:
9+ builtins.throw ''
10+ The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
11+
12+ You may need to augment the system package mapping in haskell.nix so that it can be found.
13+ '';
14+ pkgConfDepError = pkg:
15+ builtins.throw ''
16+ The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
17+
18+ You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
19+ '';
20+ exeDepError = pkg:
21+ builtins.throw ''
22+ The local executable components do not include the component: ${pkg} (executable dependency).
23+ '';
24+ legacyExeDepError = pkg:
25+ builtins.throw ''
26+ The Haskell package set does not contain the package: ${pkg} (executable dependency).
27+
28+ If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
29+ '';
30+ buildToolDepError = pkg:
31+ builtins.throw ''
32+ Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
33+
34+ If this is a system dependency:
35+ You may need to augment the system package mapping in haskell.nix so that it can be found.
36+
37+ If this is a Haskell dependency:
38+ If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
39+ '';
1−{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
40+in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
2 {
41 {
3 flags = {};
42 flags = {};
4 package = {
43 package = {
@@ -13,8 +52,16 @@
13 synopsis = "";
52 synopsis = "";
14 description = "";
53 description = "";
15 buildType = "Simple";
54 buildType = "Simple";
55+ isLocal = true;
16 };
56 };
17 components = {
57 components = {
18− "library" = { depends = [ (hsPkgs.base) (hsPkgs.lens) (hsPkgs.text) ]; };
58+ "library" = {
59+ depends = [
60+ (hsPkgs."base" or (buildDepError "base"))
61+ (hsPkgs."lens" or (buildDepError "lens"))
62+ (hsPkgs."text" or (buildDepError "text"))
63+ ];
64+ buildable = true;
65+ };
19 };
66 };
20 } // rec { src = (pkgs.lib).mkDefault ../pkga; }
67 } // rec { src = (pkgs.lib).mkDefault ../pkga; }
test/shell-for/.plan.nix/pkgb.nix+53−11
@@ -1,4 +1,43 @@
1+let
2+ buildDepError = pkg:
3+ builtins.throw ''
4+ The Haskell package set does not contain the package: ${pkg} (build dependency).
5+
6+ If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
7+ '';
8+ sysDepError = pkg:
9+ builtins.throw ''
10+ The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
11+
12+ You may need to augment the system package mapping in haskell.nix so that it can be found.
13+ '';
14+ pkgConfDepError = pkg:
15+ builtins.throw ''
16+ The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
17+
18+ You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
19+ '';
20+ exeDepError = pkg:
21+ builtins.throw ''
22+ The local executable components do not include the component: ${pkg} (executable dependency).
23+ '';
24+ legacyExeDepError = pkg:
25+ builtins.throw ''
26+ The Haskell package set does not contain the package: ${pkg} (executable dependency).
27+
28+ If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
29+ '';
30+ buildToolDepError = pkg:
31+ builtins.throw ''
32+ Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
33+
34+ If this is a system dependency:
35+ You may need to augment the system package mapping in haskell.nix so that it can be found.
36+
37+ If this is a Haskell dependency:
38+ If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
39+ '';
1−{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
40+in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
2 {
41 {
3 flags = {};
42 flags = {};
4 package = {
43 package = {
@@ -13,26 +52,29 @@
13 synopsis = "";
52 synopsis = "";
14 description = "";
53 description = "";
15 buildType = "Simple";
54 buildType = "Simple";
55+ isLocal = true;
16 };
56 };
17 components = {
57 components = {
18 "library" = {
58 "library" = {
19 depends = [
59 depends = [
20− (hsPkgs.base)
60+ (hsPkgs."base" or (buildDepError "base"))
21− (hsPkgs.pkga)
61+ (hsPkgs."pkga" or (buildDepError "pkga"))
22− (hsPkgs.conduit)
62+ (hsPkgs."conduit" or (buildDepError "conduit"))
23− (hsPkgs.conduit-extra)
63+ (hsPkgs."conduit-extra" or (buildDepError "conduit-extra"))
24− (hsPkgs.directory)
64+ (hsPkgs."directory" or (buildDepError "directory"))
25− (hsPkgs.resourcet)
65+ (hsPkgs."resourcet" or (buildDepError "resourcet"))
26 ];
66 ];
67+ buildable = true;
27 };
68 };
28 exes = {
69 exes = {
29 "pkgb" = {
70 "pkgb" = {
30 depends = [
71 depends = [
31− (hsPkgs.base)
72+ (hsPkgs."base" or (buildDepError "base"))
32− (hsPkgs.pkgb)
73+ (hsPkgs."pkgb" or (buildDepError "pkgb"))
33− (hsPkgs.optparse-applicative)
74+ (hsPkgs."optparse-applicative" or (buildDepError "optparse-applicative"))
34− (hsPkgs.text)
75+ (hsPkgs."text" or (buildDepError "text"))
35 ];
76 ];
77+ buildable = true;
36 };
78 };
37 };
79 };
38 };
80 };
test/shell-for/default.nix+14−2
@@ -33,7 +33,16 @@ let
33 buildInputs = [ cabal-install ];
33 buildInputs = [ cabal-install ];
34 };
34 };
35
35
36+ envDefault = pkgSet.config.hsPkgs.shellFor {
37+ # The default implementation of packages should use isLocal and the
38+ # result should be the same as:
39+ # packages = ps: with ps; [ pkga pkgb ];
40+ # This adds cabal-install to the shell, which helps tests because
41+ # they use a nix-shell --pure. Normally you would BYO cabal-install.
42+ buildInputs = [ cabal-install ];
43+ };
44+
36−in
45+ in
37 stdenv.mkDerivation {
46 stdenv.mkDerivation {
38 name = "shell-for-test";
47 name = "shell-for-test";
39
48
@@ -46,6 +55,9 @@ in
46 printf "checking that the shell env has the dependencies...\n" >& 2
55 printf "checking that the shell env has the dependencies...\n" >& 2
47 ${env.ghc}/bin/runghc conduit-test.hs
56 ${env.ghc}/bin/runghc conduit-test.hs
48
57
58+ printf "checking that the shell envDefault has the dependencies...\n" >& 2
59+ ${envDefault.ghc}/bin/runghc conduit-test.hs
60+
49 touch $out
61 touch $out
50 '';
62 '';
51
63
@@ -57,6 +69,6 @@ in
57 inherit pkgSet;
69 inherit pkgSet;
58
70
59 # Used for testing externally with nix-shell (../tests.sh).
71 # Used for testing externally with nix-shell (../tests.sh).
60− inherit env envPkga;
72+ inherit env envPkga envDefault;
61 };
73 };
62}
74}
test/shell-for/pkgs.nix+48−47
@@ -4,7 +4,7 @@
4 packages = {
4 packages = {
5 "void".revision = (((hackage."void")."0.7.3").revisions).default;
5 "void".revision = (((hackage."void")."0.7.3").revisions).default;
6 "void".flags.safe = false;
6 "void".flags.safe = false;
7− "semigroupoids".revision = (((hackage."semigroupoids")."5.3.2").revisions).default;
7+ "semigroupoids".revision = (((hackage."semigroupoids")."5.3.3").revisions).default;
8 "semigroupoids".flags.comonad = true;
8 "semigroupoids".flags.comonad = true;
9 "semigroupoids".flags.doctests = true;
9 "semigroupoids".flags.doctests = true;
10 "semigroupoids".flags.unordered-containers = true;
10 "semigroupoids".flags.unordered-containers = true;
@@ -12,38 +12,38 @@
12 "semigroupoids".flags.tagged = true;
12 "semigroupoids".flags.tagged = true;
13 "semigroupoids".flags.containers = true;
13 "semigroupoids".flags.containers = true;
14 "semigroupoids".flags.contravariant = true;
14 "semigroupoids".flags.contravariant = true;
15− "free".revision = (((hackage."free")."5.1.1").revisions).default;
15+ "free".revision = (((hackage."free")."5.1.2").revisions).default;
16− "exceptions".revision = (((hackage."exceptions")."0.10.2").revisions).default;
16+ "exceptions".revision = (((hackage."exceptions")."0.10.3").revisions).default;
17− "binary".revision = (((hackage."binary")."0.8.5.1").revisions).default;
17+ "binary".revision = (((hackage."binary")."0.8.6.0").revisions).default;
18− "ghc-prim".revision = (((hackage."ghc-prim")."0.5.2.0").revisions).default;
18+ "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
19− "bifunctors".revision = (((hackage."bifunctors")."5.5.4").revisions).default;
19+ "bifunctors".revision = (((hackage."bifunctors")."5.5.5").revisions).default;
20 "bifunctors".flags.semigroups = true;
20 "bifunctors".flags.semigroups = true;
21 "bifunctors".flags.tagged = true;
21 "bifunctors".flags.tagged = true;
22 "split".revision = (((hackage."split")."0.2.3.3").revisions).default;
22 "split".revision = (((hackage."split")."0.2.3.3").revisions).default;
23− "stm".revision = (((hackage."stm")."2.4.5.1").revisions).default;
23+ "stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
24 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
24 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
25 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
25 "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
26− "zlib".revision = (((hackage."zlib")."0.6.2").revisions).default;
26+ "zlib".revision = (((hackage."zlib")."0.6.2.1").revisions).default;
27 "zlib".flags.non-blocking-ffi = false;
27 "zlib".flags.non-blocking-ffi = false;
28 "zlib".flags.pkg-config = false;
28 "zlib".flags.pkg-config = false;
29 "rts".revision = (((hackage."rts")."1.0").revisions).default;
29 "rts".revision = (((hackage."rts")."1.0").revisions).default;
30 "adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
30 "adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
31 "invariant".revision = (((hackage."invariant")."0.5.3").revisions).default;
31 "invariant".revision = (((hackage."invariant")."0.5.3").revisions).default;
32− "distributive".revision = (((hackage."distributive")."0.6").revisions).default;
32+ "distributive".revision = (((hackage."distributive")."0.6.1").revisions).default;
33 "distributive".flags.semigroups = true;
33 "distributive".flags.semigroups = true;
34 "distributive".flags.tagged = true;
34 "distributive".flags.tagged = true;
35 "scientific".revision = (((hackage."scientific")."0.3.6.2").revisions).default;
35 "scientific".revision = (((hackage."scientific")."0.3.6.2").revisions).default;
36 "scientific".flags.integer-simple = false;
36 "scientific".flags.integer-simple = false;
37 "scientific".flags.bytestring-builder = false;
37 "scientific".flags.bytestring-builder = false;
38 "parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
38 "parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
39− "deepseq".revision = (((hackage."deepseq")."1.4.3.0").revisions).default;
39+ "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
40 "random".revision = (((hackage."random")."1.1").revisions).default;
40 "random".revision = (((hackage."random")."1.1").revisions).default;
41− "optparse-applicative".revision = (((hackage."optparse-applicative")."0.14.3.0").revisions).default;
41+ "optparse-applicative".revision = (((hackage."optparse-applicative")."0.15.1.0").revisions).default;
42 "network".revision = (((hackage."network")."3.1.0.1").revisions).default;
42 "network".revision = (((hackage."network")."3.1.0.1").revisions).default;
43 "async".revision = (((hackage."async")."2.2.2").revisions).default;
43 "async".revision = (((hackage."async")."2.2.2").revisions).default;
44 "async".flags.bench = false;
44 "async".flags.bench = false;
45 "conduit".revision = (((hackage."conduit")."1.3.1.1").revisions).default;
45 "conduit".revision = (((hackage."conduit")."1.3.1.1").revisions).default;
46− "semigroups".revision = (((hackage."semigroups")."0.19").revisions).default;
46+ "semigroups".revision = (((hackage."semigroups")."0.19.1").revisions).default;
47 "semigroups".flags.bytestring = true;
47 "semigroups".flags.bytestring = true;
48 "semigroups".flags.unordered-containers = true;
48 "semigroups".flags.unordered-containers = true;
49 "semigroups".flags.text = true;
49 "semigroups".flags.text = true;
@@ -56,9 +56,9 @@
56 "semigroups".flags.bytestring-builder = false;
56 "semigroups".flags.bytestring-builder = false;
57 "semigroups".flags.template-haskell = true;
57 "semigroups".flags.template-haskell = true;
58 "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
58 "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
59− "hsc2hs".revision = (((hackage."hsc2hs")."0.68.3").revisions).default;
59+ "hsc2hs".revision = (((hackage."hsc2hs")."0.68.6").revisions).default;
60 "hsc2hs".flags.in-ghc-tree = false;
60 "hsc2hs".flags.in-ghc-tree = false;
61− "directory".revision = (((hackage."directory")."1.3.1.5").revisions).default;
61+ "directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
62 "transformers-compat".revision = (((hackage."transformers-compat")."0.6.5").revisions).default;
62 "transformers-compat".revision = (((hackage."transformers-compat")."0.6.5").revisions).default;
63 "transformers-compat".flags.five = false;
63 "transformers-compat".flags.five = false;
64 "transformers-compat".flags.generic-deriving = true;
64 "transformers-compat".flags.generic-deriving = true;
@@ -67,22 +67,22 @@
67 "transformers-compat".flags.mtl = true;
67 "transformers-compat".flags.mtl = true;
68 "transformers-compat".flags.four = false;
68 "transformers-compat".flags.four = false;
69 "transformers-compat".flags.three = false;
69 "transformers-compat".flags.three = false;
70− "template-haskell".revision = (((hackage."template-haskell")."2.13.0.0").revisions).default;
70+ "template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
71− "mono-traversable".revision = (((hackage."mono-traversable")."1.0.11.0").revisions).default;
71+ "mono-traversable".revision = (((hackage."mono-traversable")."1.0.12.0").revisions).default;
72 "vector".revision = (((hackage."vector")."0.12.0.3").revisions).default;
72 "vector".revision = (((hackage."vector")."0.12.0.3").revisions).default;
73 "vector".flags.unsafechecks = false;
73 "vector".flags.unsafechecks = false;
74 "vector".flags.internalchecks = false;
74 "vector".flags.internalchecks = false;
75 "vector".flags.wall = false;
75 "vector".flags.wall = false;
76 "vector".flags.boundschecks = true;
76 "vector".flags.boundschecks = true;
77− "call-stack".revision = (((hackage."call-stack")."0.1.0").revisions).default;
77+ "call-stack".revision = (((hackage."call-stack")."0.2.0").revisions).default;
78 "primitive".revision = (((hackage."primitive")."0.7.0.0").revisions).default;
78 "primitive".revision = (((hackage."primitive")."0.7.0.0").revisions).default;
79− "profunctors".revision = (((hackage."profunctors")."5.4").revisions).default;
79+ "profunctors".revision = (((hackage."profunctors")."5.5").revisions).default;
80− "ansi-terminal".revision = (((hackage."ansi-terminal")."0.9.1").revisions).default;
80+ "ansi-terminal".revision = (((hackage."ansi-terminal")."0.10").revisions).default;
81 "ansi-terminal".flags.example = false;
81 "ansi-terminal".flags.example = false;
82 "tagged".revision = (((hackage."tagged")."0.8.6").revisions).default;
82 "tagged".revision = (((hackage."tagged")."0.8.6").revisions).default;
83 "tagged".flags.transformers = true;
83 "tagged".flags.transformers = true;
84 "tagged".flags.deepseq = true;
84 "tagged".flags.deepseq = true;
85− "lens".revision = (((hackage."lens")."4.17.1").revisions).default;
85+ "lens".revision = (((hackage."lens")."4.18.1").revisions).default;
86 "lens".flags.j = false;
86 "lens".flags.j = false;
87 "lens".flags.test-properties = true;
87 "lens".flags.test-properties = true;
88 "lens".flags.old-inline-pragmas = false;
88 "lens".flags.old-inline-pragmas = false;
@@ -95,11 +95,11 @@
95 "lens".flags.test-hunit = true;
95 "lens".flags.test-hunit = true;
96 "lens".flags.safe = false;
96 "lens".flags.safe = false;
97 "unliftio-core".revision = (((hackage."unliftio-core")."0.1.2.0").revisions).default;
97 "unliftio-core".revision = (((hackage."unliftio-core")."0.1.2.0").revisions).default;
98− "containers".revision = (((hackage."containers")."0.5.11.0").revisions).default;
98+ "containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
99 "integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3").revisions).default;
99 "integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3").revisions).default;
100 "integer-logarithms".flags.check-bounds = false;
100 "integer-logarithms".flags.check-bounds = false;
101 "integer-logarithms".flags.integer-gmp = true;
101 "integer-logarithms".flags.integer-gmp = true;
102− "reflection".revision = (((hackage."reflection")."2.1.4").revisions).default;
102+ "reflection".revision = (((hackage."reflection")."2.1.5").revisions).default;
103 "reflection".flags.slow = false;
103 "reflection".flags.slow = false;
104 "reflection".flags.template-haskell = true;
104 "reflection".flags.template-haskell = true;
105 "streaming-commons".revision = (((hackage."streaming-commons")."0.2.1.1").revisions).default;
105 "streaming-commons".revision = (((hackage."streaming-commons")."0.2.1.1").revisions).default;
@@ -108,16 +108,17 @@
108 "ansi-wl-pprint".revision = (((hackage."ansi-wl-pprint")."0.6.9").revisions).default;
108 "ansi-wl-pprint".revision = (((hackage."ansi-wl-pprint")."0.6.9").revisions).default;
109 "ansi-wl-pprint".flags.example = false;
109 "ansi-wl-pprint".flags.example = false;
110 "StateVar".revision = (((hackage."StateVar")."1.2").revisions).default;
110 "StateVar".revision = (((hackage."StateVar")."1.2").revisions).default;
111− "typed-process".revision = (((hackage."typed-process")."0.2.5.0").revisions).default;
111+ "typed-process".revision = (((hackage."typed-process")."0.2.6.0").revisions).default;
112 "contravariant".revision = (((hackage."contravariant")."1.5.2").revisions).default;
112 "contravariant".revision = (((hackage."contravariant")."1.5.2").revisions).default;
113 "contravariant".flags.semigroups = true;
113 "contravariant".flags.semigroups = true;
114 "contravariant".flags.tagged = true;
114 "contravariant".flags.tagged = true;
115 "contravariant".flags.statevar = true;
115 "contravariant".flags.statevar = true;
116+ "type-equality".revision = (((hackage."type-equality")."1").revisions).default;
116 "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
117 "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
117− "Cabal".revision = (((hackage."Cabal")."2.2.0.1").revisions).default;
118+ "Cabal".revision = (((hackage."Cabal")."2.4.0.1").revisions).default;
118 "unordered-containers".revision = (((hackage."unordered-containers")."0.2.10.0").revisions).default;
119 "unordered-containers".revision = (((hackage."unordered-containers")."0.2.10.0").revisions).default;
119 "unordered-containers".flags.debug = false;
120 "unordered-containers".flags.debug = false;
120− "base".revision = (((hackage."base")."4.11.1.0").revisions).default;
121+ "base".revision = (((hackage."base")."4.12.0.0").revisions).default;
121 "comonad".revision = (((hackage."comonad")."5.0.5").revisions).default;
122 "comonad".revision = (((hackage."comonad")."5.0.5").revisions).default;
122 "comonad".flags.distributive = true;
123 "comonad".flags.distributive = true;
123 "comonad".flags.test-doctests = true;
124 "comonad".flags.test-doctests = true;
@@ -136,50 +137,50 @@
136 "hashable".flags.integer-gmp = true;
137 "hashable".flags.integer-gmp = true;
137 "hashable".flags.sse41 = false;
138 "hashable".flags.sse41 = false;
138 "hashable".flags.examples = false;
139 "hashable".flags.examples = false;
139− "attoparsec".revision = (((hackage."attoparsec")."0.13.2.2").revisions).default;
140+ "attoparsec".revision = (((hackage."attoparsec")."0.13.2.3").revisions).default;
140 "attoparsec".flags.developer = false;
141 "attoparsec".flags.developer = false;
141 "colour".revision = (((hackage."colour")."2.3.5").revisions).default;
142 "colour".revision = (((hackage."colour")."2.3.5").revisions).default;
142 "transformers-base".revision = (((hackage."transformers-base")."0.4.5.2").revisions).default;
143 "transformers-base".revision = (((hackage."transformers-base")."0.4.5.2").revisions).default;
143 "transformers-base".flags.orphaninstances = true;
144 "transformers-base".flags.orphaninstances = true;
144− "filepath".revision = (((hackage."filepath")."1.4.2").revisions).default;
145+ "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
145 "process".revision = (((hackage."process")."1.6.5.0").revisions).default;
146 "process".revision = (((hackage."process")."1.6.5.0").revisions).default;
146 "kan-extensions".revision = (((hackage."kan-extensions")."5.2").revisions).default;
147 "kan-extensions".revision = (((hackage."kan-extensions")."5.2").revisions).default;
147 "resourcet".revision = (((hackage."resourcet")."1.2.2").revisions).default;
148 "resourcet".revision = (((hackage."resourcet")."1.2.2").revisions).default;
148 "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
149 "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
149− "cabal-doctest".revision = (((hackage."cabal-doctest")."1.0.6").revisions).default;
150+ "cabal-doctest".revision = (((hackage."cabal-doctest")."1.0.7").revisions).default;
150− "ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.4.4").revisions).default;
151+ "ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
151 "base-orphans".revision = (((hackage."base-orphans")."0.8.1").revisions).default;
152 "base-orphans".revision = (((hackage."base-orphans")."0.8.1").revisions).default;
152 "th-abstraction".revision = (((hackage."th-abstraction")."0.3.1.0").revisions).default;
153 "th-abstraction".revision = (((hackage."th-abstraction")."0.3.1.0").revisions).default;
153− "array".revision = (((hackage."array")."0.5.2.0").revisions).default;
154+ "array".revision = (((hackage."array")."0.5.3.0").revisions).default;
154− "conduit-extra".revision = (((hackage."conduit-extra")."1.3.3").revisions).default;
155+ "conduit-extra".revision = (((hackage."conduit-extra")."1.3.4").revisions).default;
155 "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
156 "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
156 };
157 };
157 compiler = {
158 compiler = {
158− version = "8.4.4";
159+ version = "8.6.5";
159− nix-name = "ghc844";
160+ nix-name = "ghc865";
160 packages = {
161 packages = {
161− "binary" = "0.8.5.1";
162+ "binary" = "0.8.6.0";
162− "ghc-prim" = "0.5.2.0";
163+ "ghc-prim" = "0.5.3";
163− "stm" = "2.4.5.1";
164+ "stm" = "2.5.0.0";
164 "unix" = "2.7.2.2";
165 "unix" = "2.7.2.2";
165 "mtl" = "2.2.2";
166 "mtl" = "2.2.2";
166 "rts" = "1.0";
167 "rts" = "1.0";
167− "deepseq" = "1.4.3.0";
168+ "deepseq" = "1.4.4.0";
168 "parsec" = "3.1.13.0";
169 "parsec" = "3.1.13.0";
169− "directory" = "1.3.1.5";
170+ "directory" = "1.3.3.0";
170− "template-haskell" = "2.13.0.0";
171+ "template-haskell" = "2.14.0.0";
171− "containers" = "0.5.11.0";
172+ "containers" = "0.6.0.1";
172 "bytestring" = "0.10.8.2";
173 "bytestring" = "0.10.8.2";
173 "text" = "1.2.3.1";
174 "text" = "1.2.3.1";
174− "Cabal" = "2.2.0.1";
175+ "Cabal" = "2.4.0.1";
175− "base" = "4.11.1.0";
176+ "base" = "4.12.0.0";
176 "time" = "1.8.0.2";
177 "time" = "1.8.0.2";
177− "transformers" = "0.5.5.0";
178+ "transformers" = "0.5.6.2";
178− "filepath" = "1.4.2";
179+ "filepath" = "1.4.2.1";
179− "process" = "1.6.3.0";
180+ "process" = "1.6.5.0";
180 "pretty" = "1.1.3.6";
181 "pretty" = "1.1.3.6";
181− "ghc-boot-th" = "8.4.4";
182+ "ghc-boot-th" = "8.6.5";
182− "array" = "0.5.2.0";
183+ "array" = "0.5.3.0";
183 "integer-gmp" = "1.0.2.0";
184 "integer-gmp" = "1.0.2.0";
184 };
185 };
185 };
186 };