on iko/ghcjs-patch-master help sign in
Fix setup-depends dependencies (#124)

* Use setup-depends from nix-tools output * Use `-package ghc` when building Setup.hs * Include --package-db when building Setup * Fix for tests on case insensitive FS (macOS) The file `conduit.hs` looks like `Conduit.hs` to ghc and it uses it by mistake for `import Conduit`.

commitefab350c0f7d31f5f96ae838abfe27d76c267ffc authorHamish Mackenzie <Hamish.Mackenzie@iohk.io> dateSat 13 Jul 2019, 01:48 (7 years ago) parent4c2cc47
8 files changed+246−206
builder/default.nix+13−1 builder/hspkg-builder.nix+4−21 builder/setup-builder.nix+46 nix-tools/.plan.nix/nix-tools.nix+1 nix-tools/default.nix+15−1 nix-tools/pkgs.nix+166−182 test/shell-for/default.nix+1−1 test/shell-for/pkgb/src/conduit.hs → test/shell-for/pkgb/src/conduit-test.hs
builder/default.nix+13−1
@@ -6,6 +6,12 @@ let
66 inherit ghc haskellLib makeConfigFiles ghcForComponent hsPkgs;
77 };
88
9+ setup-builder = haskellLib.weakCallPackage pkgs ./setup-builder.nix {
10+ ghc = buildGHC;
11+ hsPkgs = hsPkgs.buildPackages;
12+ inherit haskellLib nonReinstallablePkgs makeSetupConfigFiles;
13+ };
14+
915 # Wraps GHC to provide dependencies in a way that works for both the
1016 # component builder and for nix-shells.
1117 ghcForComponent = import ./ghc-for-component-wrapper.nix {
@@ -19,6 +25,12 @@ let
1925 makeConfigFiles = haskellLib.weakCallPackage pkgs ./make-config-files.nix {
2026 inherit ghc haskellLib nonReinstallablePkgs;
2127 };
28+ # When building setup depends we need to use the build systems GHC and Packages
29+ makeSetupConfigFiles = haskellLib.weakCallPackage buildPackages ./make-config-files.nix {
30+ inherit haskellLib nonReinstallablePkgs;
31+ ghc = buildGHC;
32+ };
33+
2234
2335 hoogleLocal = let
2436 nixpkgsHoogleLocal = import (pkgs.path + /pkgs/development/haskell-modules/hoogle.nix);
@@ -45,7 +57,7 @@ in {
4557 # Build a Haskell package from its config.
4658 # TODO: this pkgs is the adjusted pkgs, but pkgs.pkgs is unadjusted
4759 build-package = haskellLib.weakCallPackage pkgs ./hspkg-builder.nix {
48− inherit haskellLib ghc buildGHC comp-builder;
60+ inherit haskellLib ghc buildGHC comp-builder setup-builder;
4961 };
5062
5163 inherit shellFor;
builder/hspkg-builder.nix+4−21
@@ -1,4 +1,4 @@
1−{ pkgs, buildPackages, stdenv, lib, haskellLib, ghc, buildGHC, fetchurl, runCommand, pkgconfig, comp-builder }:
1+{ pkgs, buildPackages, stdenv, lib, haskellLib, ghc, buildGHC, fetchurl, runCommand, comp-builder, setup-builder }:
22
33
44{ flags
@@ -38,26 +38,9 @@ let
3838
3939 setup = if package.buildType == "Simple"
4040 then defaultSetup
41− else stdenv.mkDerivation {
42− name = "${name}-setup";
43− nativeBuildInputs = [buildGHC];
44− inherit src;
45− phases = ["unpackPhase" "buildPhase" "installPhase"];
46− buildPhase = ''
47− for f in Setup.hs Setup.lhs; do
48− if [ -f $f ]; then
49− echo Compiling package $f
50− ghc $f --make -o ./Setup
51− setup=$(pwd)/Setup
52− fi
53− done
54− [ -f ./Setup ] || (echo Failed to build Setup && exit 1)
55− '';
56−
57− installPhase = ''
58− mkdir -p $out/bin
59− install ./Setup $out/bin/Setup
60− '';
41+ else setup-builder {
42+ setup-depends = package.setup-depends;
43+ inherit package name src flags;
6144 };
6245
6346 buildComp = componentId: component: comp-builder {
builder/setup-builder.nixnew file+46
@@ -0,0 +1,46 @@
1+{ stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles }:
2+
3+{ setup-depends, package, name, src, flags }:
4+
5+let
6+ fullName = "${name}-setup";
7+
8+ includeGhcPackage = lib.any (p: p.identifier.name == "ghc") setup-depends;
9+
10+ configFiles = makeSetupConfigFiles {
11+ inherit (package) identifier;
12+ inherit fullName flags;
13+ component = {
14+ depends = setup-depends;
15+ libs = [];
16+ frameworks = [];
17+ doExactConfig = false;
18+ };
19+ };
20+
21+in
22+ stdenv.lib.fix (drv:
23+ stdenv.mkDerivation {
24+ name = "${fullName}";
25+ inherit src;
26+ nativeBuildInputs = [ghc];
27+
28+ CABAL_CONFIG = configFiles + /cabal.config;
29+ phases = ["unpackPhase" "buildPhase" "installPhase"];
30+ buildPhase = ''
31+ for f in Setup.hs Setup.lhs; do
32+ if [ -f $f ]; then
33+ echo Compiling package $f
34+ ghc $f '' + (if includeGhcPackage then "-package ghc " else "")
35+ + ''-package-db ${configFiles}/package.conf.d --make -o ./Setup
36+ setup=$(pwd)/Setup
37+ fi
38+ done
39+ [ -f ./Setup ] || (echo Failed to build Setup && exit 1)
40+ '';
41+
42+ installPhase = ''
43+ mkdir -p $out/bin
44+ install ./Setup $out/bin/Setup
45+ '';
46+ })
nix-tools/.plan.nix/nix-tools.nix+1
@@ -142,6 +142,7 @@
142142 (hsPkgs.http-client-tls)
143143 (hsPkgs.http-client)
144144 (hsPkgs.http-types)
145+ (hsPkgs.unordered-containers)
145146 ];
146147 };
147148 "truncate-index" = {
nix-tools/default.nix+15−1
@@ -1,4 +1,4 @@
1−{ lib, symlinkJoin, makeWrapper
1+{ pkgs, lib, symlinkJoin, makeWrapper
22, hpack, git, nix, nix-prefetch-git
33, fetchExternal, cleanSourceHaskell, mkCabalProjectPkgSet }:
44
@@ -8,6 +8,14 @@ let
88 specJSON = ./nix-tools-src.json;
99 override = "nix-tools-src";
1010 });
11+ # we need to patch Cabal, as its data directory logic is broken for component builds, which haskell.nix
12+ # uses excessively. See issue https://github.com/haskell/cabal/issues/5862, and the fix for Cabal 3.0
13+ # in https://github.com/haskell/cabal/pull/6055. We apply the haskell/cabal#6055 here.
14+ cabalPatch = pkgs.fetchpatch {
15+ url = "https://patch-diff.githubusercontent.com/raw/haskell/cabal/pull/6055.diff";
16+ sha256 = "145g7s3z9q8d18pxgyngvixgsm6gmwh1rgkzkhacy4krqiq0qyvx";
17+ stripLen = 1;
18+ };
1119
1220 pkgSet = mkCabalProjectPkgSet {
1321 plan-pkgs = import ./pkgs.nix;
@@ -22,6 +30,12 @@ let
2230 {
2331 packages.nix-tools.src = src;
2432 }
33+
34+ ({ config, ...}: {
35+ packages = {
36+ Cabal.patches = [ cabalPatch ];
37+ };
38+ })
2539 ];
2640 };
2741
nix-tools/pkgs.nix+166−182
@@ -3,31 +3,46 @@
33 {
44 packages = {
55 "criterion-measurement".revision = (((hackage."criterion-measurement")."0.1.1.0").revisions).default;
6+ "criterion-measurement".flags.fast = false;
67 "test-framework-hunit".revision = (((hackage."test-framework-hunit")."0.3.0.2").revisions).default;
78 "test-framework-hunit".flags.base4 = true;
89 "test-framework-hunit".flags.base3 = false;
910 "http-client".revision = (((hackage."http-client")."0.5.14").revisions).default;
11+ "http-client".flags.network-uri = true;
1012 "cookie".revision = (((hackage."cookie")."0.4.4").revisions).default;
11− "void".revision = (((hackage."void")."0.7.2").revisions).default;
13+ "void".revision = (((hackage."void")."0.7.3").revisions).default;
14+ "void".flags.safe = false;
1215 "semigroupoids".revision = (((hackage."semigroupoids")."5.3.2").revisions).default;
16+ "semigroupoids".flags.comonad = true;
17+ "semigroupoids".flags.doctests = true;
18+ "semigroupoids".flags.unordered-containers = true;
19+ "semigroupoids".flags.distributive = true;
20+ "semigroupoids".flags.tagged = true;
21+ "semigroupoids".flags.containers = true;
22+ "semigroupoids".flags.contravariant = true;
1323 "free".revision = (((hackage."free")."5.1.1").revisions).default;
1424 "tf-random".revision = (((hackage."tf-random")."0.5").revisions).default;
1525 "Only".revision = (((hackage."Only")."0.1").revisions).default;
1626 "cereal".revision = (((hackage."cereal")."0.5.8.0").revisions).default;
27+ "cereal".flags.bytestring-builder = false;
1728 "exceptions".revision = (((hackage."exceptions")."0.10.2").revisions).default;
1829 "cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.101.0").revisions).default;
30+ "cryptohash-sha256".flags.exe = false;
1931 "binary".revision = (((hackage."binary")."0.8.6.0").revisions).default;
2032 "interpolate".revision = (((hackage."interpolate")."0.2.0").revisions).default;
2133 "generic-random".revision = (((hackage."generic-random")."1.2.0.0").revisions).default;
2234 "tar".revision = (((hackage."tar")."0.5.1.0").revisions).default;
2335 "tar".flags.old-time = false;
2436 "tar".flags.old-bytestring = false;
25− "regex-tdfa".revision = (((hackage."regex-tdfa")."1.2.3.1").revisions).default;
37+ "regex-tdfa".revision = (((hackage."regex-tdfa")."1.2.3.2").revisions).default;
38+ "regex-tdfa".flags.devel = false;
2639 "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
2740 "text-metrics".revision = (((hackage."text-metrics")."0.3.0").revisions).default;
2841 "text-metrics".flags.dev = false;
2942 "utf8-string".revision = (((hackage."utf8-string")."1.0.1.1").revisions).default;
3043 "bifunctors".revision = (((hackage."bifunctors")."5.5.4").revisions).default;
44+ "bifunctors".flags.semigroups = true;
45+ "bifunctors".flags.tagged = true;
3146 "hashing".revision = (((hackage."hashing")."0.1.0.1").revisions).default;
3247 "extra".revision = (((hackage."extra")."1.6.15").revisions).default;
3348 "haskeline".revision = (((hackage."haskeline")."0.7.4.3").revisions).default;
@@ -40,10 +55,11 @@
4055 "stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
4156 "tasty-th".revision = (((hackage."tasty-th")."0.1.7").revisions).default;
4257 "text-short".revision = (((hackage."text-short")."0.1.2").revisions).default;
58+ "text-short".flags.asserts = false;
4359 "microstache".revision = (((hackage."microstache")."1.0.1.1").revisions).default;
4460 "base-compat-batteries".revision = (((hackage."base-compat-batteries")."0.10.5").revisions).default;
4561 "hourglass".revision = (((hackage."hourglass")."0.2.12").revisions).default;
46− "case-insensitive".revision = (((hackage."case-insensitive")."1.2.0.11").revisions).default;
62+ "case-insensitive".revision = (((hackage."case-insensitive")."1.2.1.0").revisions).default;
4763 "extensible-exceptions".revision = (((hackage."extensible-exceptions")."0.1.1.4").revisions).default;
4864 "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
4965 "tasty-quickcheck".revision = (((hackage."tasty-quickcheck")."0.10.1").revisions).default;
@@ -52,50 +68,84 @@
5268 "network-uri".revision = (((hackage."network-uri")."2.6.1.0").revisions).default;
5369 "asn1-parse".revision = (((hackage."asn1-parse")."0.9.4").revisions).default;
5470 "regex-base".revision = (((hackage."regex-base")."0.93.2").revisions).default;
71+ "regex-base".flags.splitbase = true;
72+ "regex-base".flags.newbase = true;
5573 "zlib".revision = (((hackage."zlib")."0.6.2").revisions).default;
74+ "zlib".flags.non-blocking-ffi = false;
75+ "zlib".flags.pkg-config = false;
5676 "rts".revision = (((hackage."rts")."1.0").revisions).default;
5777 "mmorph".revision = (((hackage."mmorph")."1.1.3").revisions).default;
5878 "js-flot".revision = (((hackage."js-flot")."0.8.3").revisions).default;
5979 "statistics".revision = (((hackage."statistics")."0.15.0.0").revisions).default;
6080 "th-expand-syns".revision = (((hackage."th-expand-syns")."0.4.4.0").revisions).default;
6181 "regex-posix".revision = (((hackage."regex-posix")."0.95.2").revisions).default;
82+ "regex-posix".flags.splitbase = true;
83+ "regex-posix".flags.newbase = true;
6284 "cryptonite".revision = (((hackage."cryptonite")."0.25").revisions).default;
85+ "cryptonite".flags.support_sse = false;
86+ "cryptonite".flags.integer-gmp = true;
87+ "cryptonite".flags.support_rdrand = true;
88+ "cryptonite".flags.support_aesni = true;
89+ "cryptonite".flags.support_deepseq = true;
90+ "cryptonite".flags.support_pclmuldq = false;
91+ "cryptonite".flags.check_alignment = false;
92+ "cryptonite".flags.old_toolchain_inliner = false;
6393 "microlens-aeson".revision = (((hackage."microlens-aeson")."2.3.0.4").revisions).default;
64− "clock".revision = (((hackage."clock")."0.7.2").revisions).default;
94+ "clock".revision = (((hackage."clock")."0.8").revisions).default;
95+ "clock".flags.llvm = false;
6596 "adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
6697 "cryptohash-md5".revision = (((hackage."cryptohash-md5")."0.11.100.1").revisions).default;
6798 "invariant".revision = (((hackage."invariant")."0.5.3").revisions).default;
6899 "th-orphans".revision = (((hackage."th-orphans")."0.13.7").revisions).default;
69100 "pem".revision = (((hackage."pem")."0.2.4").revisions).default;
70101 "megaparsec".revision = (((hackage."megaparsec")."7.0.5").revisions).default;
102+ "megaparsec".flags.dev = false;
71103 "syb".revision = (((hackage."syb")."0.7").revisions).default;
72104 "distributive".revision = (((hackage."distributive")."0.6").revisions).default;
105+ "distributive".flags.semigroups = true;
106+ "distributive".flags.tagged = true;
73107 "asn1-encoding".revision = (((hackage."asn1-encoding")."0.9.5").revisions).default;
74108 "vector-th-unbox".revision = (((hackage."vector-th-unbox")."0.2.1.6").revisions).default;
75109 "QuickCheck".revision = (((hackage."QuickCheck")."2.12.6.1").revisions).default;
110+ "QuickCheck".flags.templatehaskell = true;
76111 "scientific".revision = (((hackage."scientific")."0.3.6.2").revisions).default;
77− "tasty".revision = (((hackage."tasty")."1.2").revisions).default;
112+ "scientific".flags.integer-simple = false;
113+ "scientific".flags.bytestring-builder = false;
114+ "tasty".revision = (((hackage."tasty")."1.2.2").revisions).default;
78115 "tasty".flags.clock = true;
79− "hspec-discover".revision = (((hackage."hspec-discover")."2.7.1").revisions).default;
80116 "monadlist".revision = (((hackage."monadlist")."0.0.2").revisions).default;
81117 "half".revision = (((hackage."half")."0.3").revisions).default;
82118 "parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
83119 "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
120+ "hnix-store-core".revision = (((hackage."hnix-store-core")."0.1.0.0").revisions).default;
121+ "hnix-store-core".flags.bounded_memory = false;
84122 "random".revision = (((hackage."random")."1.1").revisions).default;
85123 "uuid-types".revision = (((hackage."uuid-types")."1.0.3").revisions).default;
86124 "optparse-applicative".revision = (((hackage."optparse-applicative")."0.14.3.0").revisions).default;
87− "network".revision = (((hackage."network")."2.8.0.1").revisions).default;
88− "connection".revision = (((hackage."connection")."0.2.8").revisions).default;
125+ "network".revision = (((hackage."network")."3.1.0.0").revisions).default;
126+ "connection".revision = (((hackage."connection")."0.3.0").revisions).default;
89127 "async".revision = (((hackage."async")."2.2.1").revisions).default;
128+ "async".flags.bench = false;
90129 "dlist".revision = (((hackage."dlist")."0.8.0.6").revisions).default;
91130 "conduit".revision = (((hackage."conduit")."1.3.1.1").revisions).default;
92131 "ref-tf".revision = (((hackage."ref-tf")."0.4.0.1").revisions).default;
93132 "x509-store".revision = (((hackage."x509-store")."1.6.7").revisions).default;
94− "constraints".revision = (((hackage."constraints")."0.10.1").revisions).default;
133+ "constraints".revision = (((hackage."constraints")."0.11").revisions).default;
95134 "lens-family-th".revision = (((hackage."lens-family-th")."0.5.0.2").revisions).default;
96135 "semigroups".revision = (((hackage."semigroups")."0.18.5").revisions).default;
136+ "semigroups".flags.bytestring = true;
137+ "semigroups".flags.unordered-containers = true;
138+ "semigroups".flags.text = true;
139+ "semigroups".flags.tagged = true;
140+ "semigroups".flags.containers = true;
141+ "semigroups".flags.binary = true;
142+ "semigroups".flags.hashable = true;
143+ "semigroups".flags.transformers = true;
144+ "semigroups".flags.deepseq = true;
145+ "semigroups".flags.bytestring-builder = false;
97146 "HUnit".revision = (((hackage."HUnit")."1.6.0.0").revisions).default;
98147 "vector-instances".revision = (((hackage."vector-instances")."3.4").revisions).default;
148+ "vector-instances".flags.hashable = true;
99149 "lifted-base".revision = (((hackage."lifted-base")."0.2.3.12").revisions).default;
100150 "parsec".revision = (((hackage."parsec")."3.1.13.0").revisions).default;
101151 "th-reify-many".revision = (((hackage."th-reify-many")."0.1.9").revisions).default;
@@ -103,50 +153,89 @@
103153 "hsc2hs".flags.in-ghc-tree = false;
104154 "directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
105155 "yaml".revision = (((hackage."yaml")."0.11.0.0").revisions).default;
106− "transformers-compat".revision = (((hackage."transformers-compat")."0.6.4").revisions).default;
156+ "yaml".flags.no-exe = true;
157+ "yaml".flags.no-examples = true;
158+ "transformers-compat".revision = (((hackage."transformers-compat")."0.6.5").revisions).default;
159+ "transformers-compat".flags.five = false;
160+ "transformers-compat".flags.generic-deriving = true;
161+ "transformers-compat".flags.two = false;
162+ "transformers-compat".flags.five-three = true;
163+ "transformers-compat".flags.mtl = true;
164+ "transformers-compat".flags.four = false;
165+ "transformers-compat".flags.three = false;
107166 "hpack".revision = (((hackage."hpack")."0.31.2").revisions).default;
108167 "template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
109168 "mono-traversable".revision = (((hackage."mono-traversable")."1.0.11.0").revisions).default;
110169 "vector".revision = (((hackage."vector")."0.12.0.3").revisions).default;
170+ "vector".flags.unsafechecks = false;
171+ "vector".flags.internalchecks = false;
172+ "vector".flags.wall = false;
173+ "vector".flags.boundschecks = true;
111174 "call-stack".revision = (((hackage."call-stack")."0.1.0").revisions).default;
112175 "primitive".revision = (((hackage."primitive")."0.6.4.0").revisions).default;
113− "profunctors".revision = (((hackage."profunctors")."5.3").revisions).default;
176+ "profunctors".revision = (((hackage."profunctors")."5.4").revisions).default;
114177 "time-locale-compat".revision = (((hackage."time-locale-compat")."0.1.1.5").revisions).default;
178+ "time-locale-compat".flags.old-locale = false;
115179 "safe".revision = (((hackage."safe")."0.3.17").revisions).default;
116180 "blaze-builder".revision = (((hackage."blaze-builder")."0.4.1.0").revisions).default;
117181 "base-compat".revision = (((hackage."base-compat")."0.10.5").revisions).default;
118182 "js-jquery".revision = (((hackage."js-jquery")."3.3.1").revisions).default;
119183 "terminal-size".revision = (((hackage."terminal-size")."0.3.2.1").revisions).default;
120184 "math-functions".revision = (((hackage."math-functions")."0.3.1.0").revisions).default;
185+ "math-functions".flags.system-expm1 = false;
121186 "x509-system".revision = (((hackage."x509-system")."1.6.6").revisions).default;
122187 "keys".revision = (((hackage."keys")."3.12.2").revisions).default;
123− "ansi-terminal".revision = (((hackage."ansi-terminal")."0.8.2").revisions).default;
188+ "ansi-terminal".revision = (((hackage."ansi-terminal")."0.9.1").revisions).default;
189+ "ansi-terminal".flags.example = false;
124190 "vector-binary-instances".revision = (((hackage."vector-binary-instances")."0.2.5.1").revisions).default;
125191 "tagged".revision = (((hackage."tagged")."0.8.6").revisions).default;
192+ "tagged".flags.transformers = true;
193+ "tagged".flags.deepseq = true;
126194 "x509".revision = (((hackage."x509")."1.7.5").revisions).default;
127195 "cassava".revision = (((hackage."cassava")."0.5.1.0").revisions).default;
196+ "cassava".flags.bytestring--lt-0_10_4 = false;
128197 "haskell-src-exts".revision = (((hackage."haskell-src-exts")."1.20.3").revisions).default;
129198 "lens".revision = (((hackage."lens")."4.17.1").revisions).default;
199+ "lens".flags.j = false;
200+ "lens".flags.test-properties = true;
201+ "lens".flags.old-inline-pragmas = false;
202+ "lens".flags.test-templates = true;
203+ "lens".flags.trustworthy = true;
204+ "lens".flags.test-doctests = true;
205+ "lens".flags.benchmark-uniplate = false;
206+ "lens".flags.inlining = true;
207+ "lens".flags.dump-splices = false;
208+ "lens".flags.test-hunit = true;
209+ "lens".flags.safe = false;
130210 "unliftio-core".revision = (((hackage."unliftio-core")."0.1.2.0").revisions).default;
131211 "containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
132212 "wl-pprint-annotated".revision = (((hackage."wl-pprint-annotated")."0.1.0.1").revisions).default;
133213 "integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3").revisions).default;
214+ "integer-logarithms".flags.check-bounds = false;
215+ "integer-logarithms".flags.integer-gmp = true;
134216 "reflection".revision = (((hackage."reflection")."2.1.4").revisions).default;
217+ "reflection".flags.slow = false;
218+ "reflection".flags.template-haskell = true;
135219 "these".revision = (((hackage."these")."0.7.6").revisions).default;
136220 "regex-tdfa-text".revision = (((hackage."regex-tdfa-text")."1.0.0.3").revisions).default;
137221 "dependent-sum".revision = (((hackage."dependent-sum")."0.4").revisions).default;
138− "socks".revision = (((hackage."socks")."0.5.6").revisions).default;
222+ "socks".revision = (((hackage."socks")."0.6.0").revisions).default;
139223 "streaming-commons".revision = (((hackage."streaming-commons")."0.2.1.0").revisions).default;
224+ "streaming-commons".flags.use-bytestring-builder = false;
140225 "haskell-lexer".revision = (((hackage."haskell-lexer")."1.0.2").revisions).default;
141226 "monad-par".revision = (((hackage."monad-par")."0.3.4.8").revisions).default;
227+ "monad-par".flags.newgeneric = false;
228+ "monad-par".flags.chaselev = false;
142229 "lens-family".revision = (((hackage."lens-family")."1.2.3").revisions).default;
143230 "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
144− "ansi-wl-pprint".revision = (((hackage."ansi-wl-pprint")."0.6.8.2").revisions).default;
231+ "ansi-wl-pprint".revision = (((hackage."ansi-wl-pprint")."0.6.9").revisions).default;
232+ "ansi-wl-pprint".flags.example = false;
145233 "mwc-random".revision = (((hackage."mwc-random")."0.14.0.0").revisions).default;
146234 "basement".revision = (((hackage."basement")."0.0.10").revisions).default;
147235 "test-framework".revision = (((hackage."test-framework")."0.8.2.0").revisions).default;
148236 "cryptohash-sha1".revision = (((hackage."cryptohash-sha1")."0.11.100.1").revisions).default;
149237 "serialise".revision = (((hackage."serialise")."0.2.1.0").revisions).default;
238+ "serialise".flags.newtime15 = true;
150239 "hostname".revision = (((hackage."hostname")."1.0").revisions).default;
151240 "old-locale".revision = (((hackage."old-locale")."1.0.0.7").revisions).default;
152241 "wcwidth".revision = (((hackage."wcwidth")."0.0.2").revisions).default;
@@ -156,36 +245,71 @@
156245 "mime-types".revision = (((hackage."mime-types")."0.1.0.9").revisions).default;
157246 "http-client-tls".revision = (((hackage."http-client-tls")."0.3.5.3").revisions).default;
158247 "contravariant".revision = (((hackage."contravariant")."1.5.1").revisions).default;
248+ "contravariant".flags.semigroups = true;
249+ "contravariant".flags.tagged = true;
250+ "contravariant".flags.statevar = true;
159251 "pointed".revision = (((hackage."pointed")."5.0.1").revisions).default;
160− "parser-combinators".revision = (((hackage."parser-combinators")."1.0.2").revisions).default;
252+ "pointed".flags.semigroupoids = true;
253+ "pointed".flags.stm = true;
254+ "pointed".flags.comonad = true;
255+ "pointed".flags.unordered-containers = true;
256+ "pointed".flags.kan-extensions = true;
257+ "pointed".flags.semigroups = true;
258+ "pointed".flags.tagged = true;
259+ "pointed".flags.containers = true;
260+ "pointed".flags.transformers = true;
261+ "parser-combinators".revision = (((hackage."parser-combinators")."1.0.3").revisions).default;
262+ "parser-combinators".flags.dev = false;
161263 "deriving-compat".revision = (((hackage."deriving-compat")."0.5.6").revisions).default;
264+ "deriving-compat".flags.base-4-9 = true;
265+ "deriving-compat".flags.template-haskell-2-11 = true;
266+ "deriving-compat".flags.new-functor-classes = true;
162267 "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
163268 "Cabal".revision = (((hackage."Cabal")."2.4.0.1").revisions).default;
164269 "Diff".revision = (((hackage."Diff")."0.3.4").revisions).default;
165− "unordered-containers".revision = (((hackage."unordered-containers")."0.2.9.0").revisions).default;
270+ "unordered-containers".revision = (((hackage."unordered-containers")."0.2.10.0").revisions).default;
271+ "unordered-containers".flags.debug = false;
166272 "base".revision = (((hackage."base")."4.12.0.0").revisions).default;
167273 "abstract-deque".revision = (((hackage."abstract-deque")."0.3").revisions).default;
168− "tasty-hedgehog".revision = (((hackage."tasty-hedgehog")."1.0.0.1").revisions).default;
274+ "abstract-deque".flags.usecas = false;
275+ "tasty-hedgehog".revision = (((hackage."tasty-hedgehog")."1.0.0.0").revisions).default;
169276 "comonad".revision = (((hackage."comonad")."5.0.5").revisions).default;
277+ "comonad".flags.distributive = true;
278+ "comonad".flags.test-doctests = true;
279+ "comonad".flags.containers = true;
170280 "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
171281 "data-default-class".revision = (((hackage."data-default-class")."0.1.2.0").revisions).default;
172282 "terminfo".revision = (((hackage."terminfo")."0.4.1.2").revisions).default;
173283 "base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.6").revisions).default;
174284 "vector-algorithms".revision = (((hackage."vector-algorithms")."0.8.0.1").revisions).default;
285+ "vector-algorithms".flags.unsafechecks = false;
286+ "vector-algorithms".flags.internalchecks = false;
287+ "vector-algorithms".flags.llvm = false;
288+ "vector-algorithms".flags.boundschecks = true;
289+ "vector-algorithms".flags.bench = true;
290+ "vector-algorithms".flags.properties = true;
175291 "prettyprinter".revision = (((hackage."prettyprinter")."1.2.1").revisions).default;
292+ "prettyprinter".flags.buildreadme = false;
176293 "cryptohash-sha512".revision = (((hackage."cryptohash-sha512")."0.11.100.1").revisions).default;
177− "tasty-hunit".revision = (((hackage."tasty-hunit")."0.10.0.1").revisions).default;
178− "pretty-show".revision = (((hackage."pretty-show")."1.8.2").revisions).default;
294+ "tasty-hunit".revision = (((hackage."tasty-hunit")."0.10.0.2").revisions).default;
295+ "pretty-show".revision = (((hackage."pretty-show")."1.9.5").revisions).default;
179296 "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
180297 "hashable".revision = (((hackage."hashable")."1.2.7.0").revisions).default;
298+ "hashable".flags.sse2 = true;
299+ "hashable".flags.integer-gmp = true;
300+ "hashable".flags.sse41 = false;
301+ "hashable".flags.examples = false;
181302 "attoparsec".revision = (((hackage."attoparsec")."0.13.2.2").revisions).default;
303+ "attoparsec".flags.developer = false;
182304 "infer-license".revision = (((hackage."infer-license")."0.2.0").revisions).default;
183305 "colour".revision = (((hackage."colour")."2.3.5").revisions).default;
184306 "transformers-base".revision = (((hackage."transformers-base")."0.4.5.2").revisions).default;
185− "happy".revision = (((hackage."happy")."1.19.11").revisions).default;
307+ "transformers-base".flags.orphaninstances = true;
308+ "happy".revision = (((hackage."happy")."1.19.10").revisions).default;
186309 "happy".flags.small_base = true;
187− "byteable".revision = (((hackage."byteable")."0.1.1").revisions).default;
188310 "criterion".revision = (((hackage."criterion")."1.5.5.0").revisions).default;
311+ "criterion".flags.embed-data-files = false;
312+ "criterion".flags.fast = false;
189313 "monad-par-extras".revision = (((hackage."monad-par-extras")."0.3.3").revisions).default;
190314 "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
191315 "code-page".revision = (((hackage."code-page")."0.2").revisions).default;
@@ -193,25 +317,40 @@
193317 "unbounded-delays".revision = (((hackage."unbounded-delays")."0.1.1.0").revisions).default;
194318 "hedgehog".revision = (((hackage."hedgehog")."1.0").revisions).default;
195319 "cborg".revision = (((hackage."cborg")."0.2.1.0").revisions).default;
320+ "cborg".flags.optimize-gmp = true;
196321 "monad-control".revision = (((hackage."monad-control")."1.0.2.3").revisions).default;
197322 "process".revision = (((hackage."process")."1.6.5.0").revisions).default;
198323 "tls".revision = (((hackage."tls")."1.4.1").revisions).default;
324+ "tls".flags.compat = true;
325+ "tls".flags.network = true;
326+ "tls".flags.hans = false;
199327 "kan-extensions".revision = (((hackage."kan-extensions")."5.2").revisions).default;
200− "th-lift".revision = (((hackage."th-lift")."0.7.11").revisions).default;
328+ "th-lift".revision = (((hackage."th-lift")."0.8.0.1").revisions).default;
201329 "libyaml".revision = (((hackage."libyaml")."0.1.1.0").revisions).default;
330+ "libyaml".flags.system-libyaml = false;
331+ "libyaml".flags.no-unicode = false;
202332 "resourcet".revision = (((hackage."resourcet")."1.2.2").revisions).default;
203333 "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
204− "Glob".revision = (((hackage."Glob")."0.9.3").revisions).default;
334+ "cabal-doctest".revision = (((hackage."cabal-doctest")."1.0.6").revisions).default;
335+ "Glob".revision = (((hackage."Glob")."0.10.0").revisions).default;
205336 "microlens".revision = (((hackage."microlens")."0.4.10").revisions).default;
206− "aeson".revision = (((hackage."aeson")."1.4.2.0").revisions).default;
337+ "aeson".revision = (((hackage."aeson")."1.4.3.0").revisions).default;
338+ "aeson".flags.cffi = false;
339+ "aeson".flags.fast = false;
340+ "aeson".flags.bytestring-builder = false;
341+ "aeson".flags.developer = false;
207342 "abstract-par".revision = (((hackage."abstract-par")."0.3.3").revisions).default;
208343 "http-types".revision = (((hackage."http-types")."0.12.3").revisions).default;
209344 "ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
210− "th-lift-instances".revision = (((hackage."th-lift-instances")."0.1.12").revisions).default;
345+ "th-lift-instances".revision = (((hackage."th-lift-instances")."0.1.13").revisions).default;
211346 "base-orphans".revision = (((hackage."base-orphans")."0.8.1").revisions).default;
212− "th-abstraction".revision = (((hackage."th-abstraction")."0.2.11.0").revisions).default;
347+ "th-abstraction".revision = (((hackage."th-abstraction")."0.3.1.0").revisions).default;
213348 "memory".revision = (((hackage."memory")."0.14.18").revisions).default;
214− "concurrent-output".revision = (((hackage."concurrent-output")."1.10.9").revisions).default;
349+ "memory".flags.support_bytestring = true;
350+ "memory".flags.support_basement = true;
351+ "memory".flags.support_foundation = true;
352+ "memory".flags.support_deepseq = true;
353+ "concurrent-output".revision = (((hackage."concurrent-output")."1.10.10").revisions).default;
215354 "array".revision = (((hackage."array")."0.5.3.0").revisions).default;
216355 "repline".revision = (((hackage."repline")."0.2.1.0").revisions).default;
217356 "xml".revision = (((hackage."xml")."1.3.14").revisions).default;
@@ -223,185 +362,30 @@
223362 version = "8.6.5";
224363 nix-name = "ghc865";
225364 packages = {
226− "criterion-measurement" = "0.1.1.0";
227− "http-client" = "0.5.14";
228− "cookie" = "0.4.4";
229− "void" = "0.7.2";
230− "semigroupoids" = "5.3.2";
231− "free" = "5.1.1";
232− "tf-random" = "0.5";
233− "Only" = "0.1";
234− "cereal" = "0.5.8.0";
235− "exceptions" = "0.10.2";
236− "cryptohash-sha256" = "0.11.101.0";
237365 "binary" = "0.8.6.0";
238− "regex-tdfa" = "1.2.3.1";
239366 "ghc-prim" = "0.5.3";
240− "utf8-string" = "1.0.1.1";
241− "bifunctors" = "5.5.4";
242− "hashing" = "0.1.0.1";
243− "extra" = "1.6.15";
244367 "haskeline" = "0.7.4.3";
245− "logict" = "0.6.0.3";
246− "x509-validation" = "1.6.11";
247− "fail" = "4.9.0.0";
248− "dense-linear-algebra" = "0.1.0.0";
249− "split" = "0.2.3.3";
250− "data-fix" = "0.2.0";
251368 "stm" = "2.5.0.0";
252− "text-short" = "0.1.2";
253− "microstache" = "1.0.1.1";
254− "base-compat-batteries" = "0.10.5";
255− "hourglass" = "0.2.12";
256− "case-insensitive" = "1.2.0.11";
257369 "unix" = "2.7.2.2";
258370 "mtl" = "2.2.2";
259− "lifted-async" = "0.10.0.4";
260− "network-uri" = "2.6.1.0";
261− "asn1-parse" = "0.9.4";
262− "regex-base" = "0.93.2";
263− "zlib" = "0.6.2";
264371 "rts" = "1.0";
265− "mmorph" = "1.1.3";
266− "js-flot" = "0.8.3";
267− "statistics" = "0.15.0.0";
268− "th-expand-syns" = "0.4.4.0";
269− "regex-posix" = "0.95.2";
270− "cryptonite" = "0.25";
271− "clock" = "0.7.2";
272− "adjunctions" = "4.4";
273− "cryptohash-md5" = "0.11.100.1";
274− "invariant" = "0.5.3";
275− "th-orphans" = "0.13.7";
276− "pem" = "0.2.4";
277− "megaparsec" = "7.0.5";
278− "syb" = "0.7";
279− "distributive" = "0.6";
280− "asn1-encoding" = "0.9.5";
281− "vector-th-unbox" = "0.2.1.6";
282− "QuickCheck" = "2.12.6.1";
283− "scientific" = "0.3.6.2";
284− "monadlist" = "0.0.2";
285− "half" = "0.3";
286− "parallel" = "3.2.2.0";
287372 "deepseq" = "1.4.4.0";
288− "random" = "1.1";
289− "uuid-types" = "1.0.3";
290− "optparse-applicative" = "0.14.3.0";
291− "network" = "2.8.0.1";
292− "connection" = "0.2.8";
293− "async" = "2.2.1";
294− "dlist" = "0.8.0.6";
295− "conduit" = "1.3.1.1";
296− "ref-tf" = "0.4.0.1";
297− "x509-store" = "1.6.7";
298− "constraints" = "0.10.1";
299− "lens-family-th" = "0.5.0.2";
300− "semigroups" = "0.18.5";
301− "HUnit" = "1.6.0.0";
302− "vector-instances" = "3.4";
303− "lifted-base" = "0.2.3.12";
304373 "parsec" = "3.1.13.0";
305− "th-reify-many" = "0.1.9";
306374 "directory" = "1.3.3.0";
307− "yaml" = "0.11.0.0";
308− "transformers-compat" = "0.6.4";
309375 "template-haskell" = "2.14.0.0";
310− "mono-traversable" = "1.0.11.0";
311− "vector" = "0.12.0.3";
312− "call-stack" = "0.1.0";
313− "primitive" = "0.6.4.0";
314− "profunctors" = "5.3";
315− "time-locale-compat" = "0.1.1.5";
316− "safe" = "0.3.17";
317− "blaze-builder" = "0.4.1.0";
318− "base-compat" = "0.10.5";
319− "js-jquery" = "3.3.1";
320− "math-functions" = "0.3.1.0";
321− "x509-system" = "1.6.6";
322− "keys" = "3.12.2";
323− "ansi-terminal" = "0.8.2";
324− "vector-binary-instances" = "0.2.5.1";
325− "tagged" = "0.8.6";
326− "x509" = "1.7.5";
327− "cassava" = "0.5.1.0";
328− "haskell-src-exts" = "1.20.3";
329− "lens" = "4.17.1";
330− "unliftio-core" = "0.1.2.0";
331376 "containers" = "0.6.0.1";
332− "integer-logarithms" = "1.0.3";
333− "reflection" = "2.1.4";
334− "these" = "0.7.6";
335− "regex-tdfa-text" = "1.0.0.3";
336− "dependent-sum" = "0.4";
337− "socks" = "0.5.6";
338− "streaming-commons" = "0.2.1.0";
339− "haskell-lexer" = "1.0.2";
340− "monad-par" = "0.3.4.8";
341− "lens-family" = "1.2.3";
342377 "bytestring" = "0.10.8.2";
343− "ansi-wl-pprint" = "0.6.8.2";
344− "mwc-random" = "0.14.0.0";
345− "basement" = "0.0.10";
346− "cryptohash-sha1" = "0.11.100.1";
347− "serialise" = "0.2.1.0";
348− "hostname" = "1.0";
349− "old-locale" = "1.0.0.7";
350− "StateVar" = "1.1.1.1";
351− "mime-types" = "0.1.0.9";
352− "http-client-tls" = "0.3.5.3";
353− "contravariant" = "1.5.1";
354− "pointed" = "5.0.1";
355− "parser-combinators" = "1.0.2";
356− "deriving-compat" = "0.5.6";
357378 "text" = "1.2.3.1";
358379 "Cabal" = "2.4.0.1";
359− "unordered-containers" = "0.2.9.0";
360380 "base" = "4.12.0.0";
361− "abstract-deque" = "0.3";
362− "comonad" = "5.0.5";
363381 "time" = "1.8.0.2";
364− "data-default-class" = "0.1.2.0";
365382 "terminfo" = "0.4.1.2";
366− "base16-bytestring" = "0.1.1.6";
367− "vector-algorithms" = "0.8.0.1";
368− "prettyprinter" = "1.2.1";
369− "cryptohash-sha512" = "0.11.100.1";
370383 "transformers" = "0.5.6.2";
371− "hashable" = "1.2.7.0";
372− "attoparsec" = "0.13.2.2";
373− "colour" = "2.3.5";
374− "transformers-base" = "0.4.5.2";
375− "byteable" = "0.1.1";
376− "criterion" = "1.5.5.0";
377− "monad-par-extras" = "0.3.3";
378384 "filepath" = "1.4.2.1";
379− "code-page" = "0.2";
380− "asn1-types" = "0.3.2";
381− "cborg" = "0.2.1.0";
382− "monad-control" = "1.0.2.3";
383385 "process" = "1.6.5.0";
384− "tls" = "1.4.1";
385− "kan-extensions" = "5.2";
386− "th-lift" = "0.7.11";
387− "libyaml" = "0.1.1.0";
388− "resourcet" = "1.2.2";
389386 "pretty" = "1.1.3.6";
390− "Glob" = "0.9.3";
391− "microlens" = "0.4.10";
392− "aeson" = "1.4.2.0";
393− "abstract-par" = "0.3.3";
394− "http-types" = "0.12.3";
395387 "ghc-boot-th" = "8.6.5";
396− "th-lift-instances" = "0.1.12";
397− "base-orphans" = "0.8.1";
398− "th-abstraction" = "0.2.11.0";
399− "memory" = "0.14.18";
400388 "array" = "0.5.3.0";
401− "repline" = "0.2.1.0";
402− "xml" = "1.3.14";
403− "erf" = "2.0.0.0";
404− "lens-family-core" = "1.2.3";
405389 "integer-gmp" = "1.0.2.0";
406390 };
407391 };
test/shell-for/default.nix+1−1
@@ -44,7 +44,7 @@ in
4444 cp ${./pkgb/src}/*.hs .
4545
4646 printf "checking that the shell env has the dependencies...\n" >& 2
47− ${env.ghc}/bin/runghc conduit.hs
47+ ${env.ghc}/bin/runghc conduit-test.hs
4848
4949 touch $out
5050 '';
test/shell-for/pkgb/src/conduit.hs → test/shell-for/pkgb/src/conduit-test.hsrenamed

The content is the same.