From 57bb96d6593040dbc7088e4f8d7dc065ea492d14 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 4 Jun 2018 22:29:22 -0400 Subject: [PATCH 01/21] fetchpatch: Add includes to compliment excludes, and require that both not be non-empty. --- pkgs/build-support/fetchpatch/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix index c185497e691..16343d626ce 100644 --- a/pkgs/build-support/fetchpatch/default.nix +++ b/pkgs/build-support/fetchpatch/default.nix @@ -5,7 +5,7 @@ # stripLen acts as the -p parameter when applying a patch. { lib, fetchurl, patchutils }: -{ stripLen ? 0, extraPrefix ? null, excludes ? [], ... }@args: +{ stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], ... }@args: fetchurl ({ postFetch = '' @@ -24,7 +24,9 @@ fetchurl ({ ${patchutils}/bin/filterdiff \ -p1 \ ${builtins.toString (builtins.map (x: "-x ${x}") excludes)} \ + ${builtins.toString (builtins.map (x: "-i ${x}") includes)} \ "$tmpfile" > "$out" ${args.postFetch or ""} ''; -} // builtins.removeAttrs args ["stripLen" "extraPrefix" "excludes" "postFetch"]) + meta.broken = excludes != [] && includes != []; +} // builtins.removeAttrs args ["stripLen" "extraPrefix" "excludes" "includes" "postFetch"]) From 1e6aeeddce974b843881102cba2fe55817e1f0e5 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Jun 2018 15:30:13 -0400 Subject: [PATCH 02/21] haskell lib: Make helpers to add benchmark and test tool depends These seems to be common omissions due to a) non-new-build being overly flexible, and b) code gen most often used for test boilerplate. --- pkgs/development/haskell-modules/lib.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index fb1302f60ea..e6131de52f4 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -143,6 +143,12 @@ rec { addBuildTool = drv: x: addBuildTools drv [x]; addBuildTools = drv: xs: overrideCabal drv (drv: { buildTools = (drv.buildTools or []) ++ xs; }); + addTestToolDepend = drv: x: addTestToolDepends drv [x]; + addTestToolDepends = drv: xs: overrideCabal drv (drv: { testToolDepends = (drv.testToolDepends or []) ++ xs; }); + + addBenchmarkToolDepend = drv: x: addBenchmarkToolDepends drv [x]; + addBenchmarkToolDepends = drv: xs: overrideCabal drv (drv: { benchmarkToolDepends = (drv.benchmarkToolDepends or []) ++ xs; }); + addExtraLibrary = drv: x: addExtraLibraries drv [x]; addExtraLibraries = drv: xs: overrideCabal drv (drv: { extraLibraries = (drv.extraLibraries or []) ++ xs; }); From 359e0ce4bb084a07a39fa369a0121a2f997548a3 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Jun 2018 15:03:59 -0400 Subject: [PATCH 03/21] haskell generic-builder: Make test and benchmark tool depends `nativeBuildInputs` I suppose I forgot these when I did this before. --- pkgs/development/haskell-modules/generic-builder.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 9ac88dca83e..d1304c79694 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -182,12 +182,14 @@ let depsBuildBuild = [ nativeGhc ]; nativeBuildInputs = [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++ setupHaskellDepends ++ - buildTools ++ libraryToolDepends ++ executableToolDepends; + buildTools ++ libraryToolDepends ++ executableToolDepends ++ + optionals doCheck testToolDepends ++ + optionals doBenchmark benchmarkToolDepends; propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends; otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++ allPkgconfigDepends ++ - optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends ++ testFrameworkDepends) ++ - optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends ++ benchmarkFrameworkDepends); + optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testFrameworkDepends) ++ + optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends); allBuildInputs = propagatedBuildInputs ++ otherBuildInputs; From ceaf285c0c4debf8a932fd8d4d281fba100ef3f5 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 3 Jun 2018 12:51:47 -0400 Subject: [PATCH 04/21] haskell generic-builder: Use strictDeps always This helps avoid the `ARG_MAX` issues we've been having, and is generally a good idea to ensure cross comparability anyways. --- pkgs/development/haskell-modules/configuration-common.nix | 6 ------ pkgs/development/haskell-modules/generic-builder.nix | 1 + 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ef7e8e4d4e5..3be577549bd 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1056,12 +1056,6 @@ self: super: { # Work around overspecified constraint on github ==0.18. github-backup = doJailbreak super.github-backup; - # Work around large number of repeated arguments - # https://github.com/NixOS/nixpkgs/issues/40013 - taffybar = super.taffybar.overrideDerivation (drv: { - strictDeps = true; - }); - # dhall-json requires a very particular dhall version dhall-json_1_2_1 = super.dhall-json_1_2_1.override { dhall = self.dhall_1_15_0; }; diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index d1304c79694..38ba2609c75 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -233,6 +233,7 @@ stdenv.mkDerivation ({ inherit src; + strictDeps = true; inherit depsBuildBuild nativeBuildInputs; buildInputs = otherBuildInputs ++ optionals (!hasActiveLibrary) propagatedBuildInputs; propagatedBuildInputs = optionals hasActiveLibrary propagatedBuildInputs; From 43e3ea03228c4fa7ada8736fad4deb3eb66724dc Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 4 Jun 2018 22:29:22 -0400 Subject: [PATCH 05/21] hspec{,-core,-discovery}: Add build-tool-depends to testsuite `fetchpatch`ing a PR I just opened. This ought to get Cabal to make the `PATH` include the newly-built exe, but unfortunately it doesn't. --- .../haskell-modules/configuration-common.nix | 35 +++++++++++++++++-- .../configuration-ghc-8.4.x.nix | 4 --- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 3be577549bd..812711ddcb5 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -51,8 +51,6 @@ self: super: { clock = dontCheck super.clock; Dust-crypto = dontCheck super.Dust-crypto; hasql-postgres = dontCheck super.hasql-postgres; - hspec = super.hspec.override { stringbuilder = dontCheck self.stringbuilder; }; - hspec-core = super.hspec-core.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; hspec-expectations = dontCheck super.hspec-expectations; HTTP = dontCheck super.HTTP; http-streams = dontCheck super.http-streams; @@ -1070,6 +1068,39 @@ self: super: { base-compat = super.base-compat_0_10_1; }; + # A few things for hspec*: + # + # 1. Break cycles for test + # + # 2. https://github.com/hspec/hspec/pull/355 The buildTool will be properly + # cabal2nixed when run on the patched cabal file. + # + # 3. Force 2.5.1 as only it has patch for proper build-tool-depends deps. + hspec_2_5_1 = let + breakCycles = super.hspec_2_5_1.override { stringbuilder = dontCheck self.stringbuilder; }; + in appendPatch (addTestToolDepend breakCycles self.hspec-meta) (pkgs.fetchpatch { + url = "https://github.com/hspec/hspec/commit/8007227da5c8f2e294c1455a9f2c9855917dc461.diff"; + includes = [ "hspec.cabal" ]; + sha256 = "0qk7lsg7s1j42mf9zbh4ga1ca5qbh1qsnsidvlp4rjjifw6jq3vz"; + }); + hspec-core_2_5_1 = let + breakCycles = super.hspec-core_2_5_1.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; + in appendPatch (addTestToolDepend breakCycles self.hspec-meta) (pkgs.fetchpatch { + url = "https://github.com/hspec/hspec/commit/8007227da5c8f2e294c1455a9f2c9855917dc461.diff"; + includes = [ "hspec-core.cabal" ]; + sha256 = "0rwlz24mqh67gpkcrnhm8js594783v4gikzmdwi148w0h6hw2435"; + stripLen = 1; + }); + hspec-discover_2_5_1 = appendPatch (addTestToolDepend super.hspec-discover_2_5_1 self.hspec-meta) (pkgs.fetchpatch { + url = "https://github.com/hspec/hspec/commit/8007227da5c8f2e294c1455a9f2c9855917dc461.diff"; + includes = [ "hspec-discover.cabal" ]; + sha256 = "1c343flwxaq7cpnwyjf4y1c5smqs5q90i48sda9kyhl88mslq63b"; + stripLen = 1; + }); + hspec = self.hspec_2_5_1; + hspec-core = self.hspec-core_2_5_1; + hspec-discover = self.hspec-discover_2_5_1; + hspec-smallcheck = self.hspec-smallcheck_0_5_2; } // diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index 45b0d768a22..bbef7b583d8 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -397,10 +397,6 @@ self: super: { dhall_1_13_0 = doJailbreak super.dhall_1_14_0; # support ansi-terminal 0.8.x HaTeX = self.HaTeX_3_19_0_0; hpack = self.hpack_0_28_2; - hspec = dontCheck super.hspec_2_5_3; - hspec-core = dontCheck super.hspec-core_2_5_3; - hspec-discover = self.hspec-discover_2_5_3; - hspec-smallcheck = self.hspec-smallcheck_0_5_2; matrix = self.matrix_0_3_6_1; pandoc = self.pandoc_2_2_1; pandoc-types = self.pandoc-types_1_17_5_1; From 242ca11b03e9540c91a696da1db3d0fd45446865 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Jun 2018 15:31:46 -0400 Subject: [PATCH 06/21] base-compat: Add missing build tool dependency --- pkgs/development/haskell-modules/configuration-common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 812711ddcb5..6e582454e9c 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1101,6 +1101,9 @@ self: super: { hspec-core = self.hspec-core_2_5_1; hspec-discover = self.hspec-discover_2_5_1; hspec-smallcheck = self.hspec-smallcheck_0_5_2; + + # The build-tool-depends this hacks around has been added on master. + base-compat = addTestToolDepend super.base-compat self.hspec-discover; } // From d2f6f527f40ddacb0af4dac4a931fc68f945720a Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Jun 2018 16:14:40 -0400 Subject: [PATCH 07/21] alex: `which` needs to be a tool dep so it's a nativeBuildInput Also pull it from `buildPackages`, as that is where nativeBuildInputs come from. --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++-- pkgs/development/haskell-modules/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 6e582454e9c..39bdfe3fd03 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -9,7 +9,7 @@ # # See comment at the top of configuration-nix.nix for more information about this # distinction. -{ pkgs, haskellLib }: +{ buildPackages, pkgs, haskellLib }: with haskellLib; @@ -1036,7 +1036,7 @@ self: super: { # The test suite does not know how to find the 'alex' binary. alex = overrideCabal super.alex (drv: { - testSystemDepends = (drv.testSystemDepends or []) ++ [pkgs.which]; + testToolDepends = (drv.testSystemDepends or []) ++ [ buildPackages.which ]; preCheck = ''export PATH="$PWD/dist/build/alex:$PATH"''; }); diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index 7b512e46da8..5d253cb3c2b 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, lib, haskellLib, ghc, all-cabal-hashes +{ buildPackages, pkgs, stdenv, lib, haskellLib, ghc, all-cabal-hashes , buildHaskellPackages , compilerConfig ? (self: super: {}) , packageSetConfig ? (self: super: {}) @@ -18,7 +18,7 @@ let inherit stdenv haskellLib ghc buildHaskellPackages extensible-self all-cabal-hashes; }; - commonConfiguration = configurationCommon { inherit pkgs haskellLib; }; + commonConfiguration = configurationCommon { inherit buildPackages pkgs haskellLib; }; nixConfiguration = configurationNix { inherit pkgs haskellLib; }; extensible-self = makeExtensible From 9ef816e776281963e4780e8779961bc2d0e9f554 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 25 Jun 2018 16:56:27 -0400 Subject: [PATCH 08/21] with-location: add hspec-discover --- pkgs/development/haskell-modules/configuration-common.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 39bdfe3fd03..7b992dfc016 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1036,7 +1036,7 @@ self: super: { # The test suite does not know how to find the 'alex' binary. alex = overrideCabal super.alex (drv: { - testToolDepends = (drv.testSystemDepends or []) ++ [ buildPackages.which ]; + testToolDepends = (drv.testToolDepends or []) ++ [ buildPackages.which ]; preCheck = ''export PATH="$PWD/dist/build/alex:$PATH"''; }); @@ -1104,6 +1104,7 @@ self: super: { # The build-tool-depends this hacks around has been added on master. base-compat = addTestToolDepend super.base-compat self.hspec-discover; + with-location = addTestToolDepend super.with-location self.hspec-discover; } // From 160894db3528ef0cce9407c1d30d4156605c3452 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 25 Jun 2018 16:58:17 -0400 Subject: [PATCH 09/21] text-conversions: add hspec-discover --- pkgs/development/haskell-modules/configuration-common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 7b992dfc016..92d1ff8eb1e 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1105,6 +1105,7 @@ self: super: { # The build-tool-depends this hacks around has been added on master. base-compat = addTestToolDepend super.base-compat self.hspec-discover; with-location = addTestToolDepend super.with-location self.hspec-discover; + text-conversions = addTestToolDepend super.text-conversions self.hspec-discover; } // From fea9a71ff466c52f6dc6946c93b726d5e6b127a5 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 25 Jun 2018 17:00:32 -0400 Subject: [PATCH 10/21] haskell: add more test tool depend for hspec-discover MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Needed for new ‘strictDeps = true;’ handling. Including- - slim - string-conversions - skeletal-test - catamorphism - unliftio - logging-facade - distributive - doctest - http-types - interpolate - mockery - mime-mail - http2 --- .../haskell-modules/configuration-common.nix | 108 ++++++++++++------ .../configuration-ghc-8.4.x.nix | 18 ++- .../haskell-modules/configuration-nix.nix | 13 ++- 3 files changed, 101 insertions(+), 38 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 92d1ff8eb1e..0aa0f5fea57 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -47,7 +47,7 @@ self: super: { hoogleLocal = { packages ? [] }: self.callPackage ./hoogle.nix { inherit packages; }; # Break infinite recursions. - attoparsec-varword = super.attoparsec-varword.override { bytestring-builder-varword = dontCheck self.bytestring-builder-varword; }; + attoparsec-varword = addTestToolDepend (super.attoparsec-varword.override { bytestring-builder-varword = dontCheck self.bytestring-builder-varword; }) self.hspec-discover; clock = dontCheck super.clock; Dust-crypto = dontCheck super.Dust-crypto; hasql-postgres = dontCheck super.hasql-postgres; @@ -341,7 +341,7 @@ self: super: { hsbencher = dontCheck super.hsbencher; hsexif = dontCheck super.hsexif; hspec-server = dontCheck super.hspec-server; - HTF = dontCheck super.HTF; + HTF = addTestToolDepend (dontCheck super.HTF) self.cpphs; htsn = dontCheck super.htsn; htsn-import = dontCheck super.htsn-import; http-link-header = dontCheck super.http-link-header; # non deterministic failure https://hydra.nixos.org/build/75041105 @@ -559,9 +559,6 @@ self: super: { # https://ghc.haskell.org/trac/ghc/ticket/9825 vimus = overrideCabal super.vimus (drv: { broken = pkgs.stdenv.isLinux && pkgs.stdenv.isi686; }); - # https://github.com/hspec/mockery/issues/6 - mockery = overrideCabal super.mockery (drv: { preCheck = "export TRAVIS=true"; }); - # https://github.com/alphaHeavy/lzma-conduit/issues/5 lzma-conduit = dontCheck super.lzma-conduit; @@ -661,9 +658,9 @@ self: super: { })); # Need newer versions of their dependencies than the ones we have in LTS-11.x. - cabal2nix = super.cabal2nix.overrideScope (self: super: { hpack = self.hpack_0_28_2; hackage-db = self.hackage-db_2_0_1; }); + cabal2nix = super.cabal2nix.overrideScope (self: super: { hpack = addTestToolDepend (self.hpack_0_28_2) self.hspec-discover; hackage-db = self.hackage-db_2_0_1; }); dbus-hslogger = super.dbus-hslogger.overrideScope (self: super: { dbus = self.dbus_1_0_1; }); - graphviz = (addBuildTool super.graphviz pkgs.graphviz).overrideScope (self: super: { wl-pprint-text = self.wl-pprint-text_1_2_0_0; base-compat = self.base-compat_0_10_1; }); + graphviz = (addBuildTool (addTestToolDepend super.graphviz self.hspec-discover) pkgs.graphviz).overrideScope (self: super: { wl-pprint-text = self.wl-pprint-text_1_2_0_0; base-compat = self.base-compat_0_10_1; }); status-notifier-item = super.status-notifier-item.overrideScope (self: super: { dbus = self.dbus_1_0_1; }); # https://github.com/bos/configurator/issues/22 @@ -819,7 +816,7 @@ self: super: { http-api-data = dontCheck super.http-api-data; # https://github.com/snoyberg/yaml/issues/106 - yaml = disableCabalFlag super.yaml "system-libyaml"; + yaml = addTestToolDepend (disableCabalFlag super.yaml "system-libyaml") self.hspec-discover; # https://github.com/diagrams/diagrams-lib/issues/288 diagrams-lib = overrideCabal super.diagrams-lib (drv: { doCheck = !pkgs.stdenv.isi686; }); @@ -1074,38 +1071,77 @@ self: super: { # # 2. https://github.com/hspec/hspec/pull/355 The buildTool will be properly # cabal2nixed when run on the patched cabal file. - # - # 3. Force 2.5.1 as only it has patch for proper build-tool-depends deps. - hspec_2_5_1 = let - breakCycles = super.hspec_2_5_1.override { stringbuilder = dontCheck self.stringbuilder; }; - in appendPatch (addTestToolDepend breakCycles self.hspec-meta) (pkgs.fetchpatch { - url = "https://github.com/hspec/hspec/commit/8007227da5c8f2e294c1455a9f2c9855917dc461.diff"; - includes = [ "hspec.cabal" ]; - sha256 = "0qk7lsg7s1j42mf9zbh4ga1ca5qbh1qsnsidvlp4rjjifw6jq3vz"; - }); - hspec-core_2_5_1 = let - breakCycles = super.hspec-core_2_5_1.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; - in appendPatch (addTestToolDepend breakCycles self.hspec-meta) (pkgs.fetchpatch { - url = "https://github.com/hspec/hspec/commit/8007227da5c8f2e294c1455a9f2c9855917dc461.diff"; - includes = [ "hspec-core.cabal" ]; - sha256 = "0rwlz24mqh67gpkcrnhm8js594783v4gikzmdwi148w0h6hw2435"; - stripLen = 1; - }); - hspec-discover_2_5_1 = appendPatch (addTestToolDepend super.hspec-discover_2_5_1 self.hspec-meta) (pkgs.fetchpatch { - url = "https://github.com/hspec/hspec/commit/8007227da5c8f2e294c1455a9f2c9855917dc461.diff"; - includes = [ "hspec-discover.cabal" ]; - sha256 = "1c343flwxaq7cpnwyjf4y1c5smqs5q90i48sda9kyhl88mslq63b"; - stripLen = 1; - }); - hspec = self.hspec_2_5_1; - hspec-core = self.hspec-core_2_5_1; - hspec-discover = self.hspec-discover_2_5_1; - hspec-smallcheck = self.hspec-smallcheck_0_5_2; + hspec = let + breakCycles = super.hspec.override { stringbuilder = dontCheck self.stringbuilder; }; + in addTestToolDepend breakCycles self.hspec-meta; + hspec-core = let + breakCycles = super.hspec-core.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; + in addTestToolDepend breakCycles self.hspec-meta; + hspec-discover = addTestToolDepend super.hspec-discover self.hspec-meta; + hspec-smallcheck = addTestToolDepend super.hspec-smallcheck self.hspec-meta; + hspec-attoparsec = addTestToolDepend super.hspec-attoparsec self.hspec-meta; + hspec-contrib = addTestToolDepend super.hspec-contrib self.hspec-meta; # The build-tool-depends this hacks around has been added on master. base-compat = addTestToolDepend super.base-compat self.hspec-discover; with-location = addTestToolDepend super.with-location self.hspec-discover; text-conversions = addTestToolDepend super.text-conversions self.hspec-discover; + logging-facade = addTestToolDepend super.logging-facade self.hspec-discover; + distributive = addTestToolDepend super.distributive self.hspec-discover; + doctest = addTestToolDepend super.doctest self.hspec-discover; + http-types = addTestToolDepend super.http-types self.hspec-discover; + interpolate = addTestToolDepend super.interpolate self.hspec-discover; + mockery = addTestToolDepend super.mockery self.hspec-discover; + slim = addTestToolDepend super.slim self.hspec-discover; + string-conversions = addTestToolDepend super.string-conversions self.hspec-discover; + catamorphism = addTestToolDepend super.catamorphism self.hspec-discover; + unliftio = addTestToolDepend super.unliftio self.hspec-discover; + word8 = addTestToolDepend super.word8 self.hspec-discover; + iproute = addTestToolDepend super.iproute self.hspec-discover; + mime-mail = addTestToolDepend super.mime-mail self.hspec-discover; + unix-time = addTestToolDepend super.unix-time self.hspec-discover; + ClustalParser = addTestToolDepend super.ClustalParser self.hspec-discover; + ascii-progress = addTestToolDepend super.ascii-progress self.hspec-discover; + safe-exceptions = addTestToolDepend super.safe-exceptions self.hspec-discover; + markdown-unlit = addTestToolDepend super.markdown-unlit self.hspec-discover; + rio = addTestToolDepend super.rio self.hspec-discover; + conduit-extra = addTestToolDepend super.conduit-extra self.hspec-discover; + http-date = addTestToolDepend super.http-date self.hspec-discover; + ip = addTestToolDepend super.ip self.hspec-discover; + megaparsec = addTestToolDepend super.megaparsec self.hspec-discover; + text-zipper = addTestToolDepend super.text-zipper self.hspec-discover; + yi-rope = addTestToolDepend super.yi-rope self.hspec-discover; + yate = addTestToolDepend super.yate self.hspec-discover; + bitset-word8 = addTestToolDepend super.bitset-word8 self.hspec-discover; + io-choice = addTestToolDepend super.io-choice self.hspec-discover; + th-utilities = addTestToolDepend super.th-utilities self.hspec-discover; + sum-type-boilerplace = addTestToolDepend super.sum-type-boilerplate self.hspec-discover; + ViennaRNAParser = addTestToolDepend super.ViennaRNAParser self.hspec-discover; + base58string = addTestToolDepend super.base58string self.hspec-discover; + hpack = addTestToolDepend super.hpack self.hspec-discover; + fast-logger = addTestToolDepend super.fast-logger self.hspec-discover; + bitcoin-script = addTestToolDepend super.bitcoin-script self.hspec-discover; + hexstring = addTestToolDepend super.hexstring self.hspec-discover; + language-docker = addTestToolDepend super.language-docker self.hspec-discover; + say = addTestToolDepend super.say self.hspec-discover; + prometheus-client = addTestToolDepend super.prometheus-client self.hspec-discover; + Parallel-Arrows-BaseSpec = addTestToolDepend super.Parallel-Arrows-BaseSpec self.hspec-discover; + http2 = addTestToolDepend super.http2 self.hspec-discover; + wai-extra = addTestToolDepend super.wai-extra self.hspec-discover; + aeson-qq = addTestToolDepend super.aeson-qq self.hspec-discover; + shakespeare = addTestToolDepend super.shakespeare self.hspec-discover; + elm-export = addTestToolDepend super.elm-export self.hspec-discover; + fold-debounce = addTestToolDepend super.fold-debounce self.hspec-discover; + bitcoin-types = addTestToolDepend super.bitcoin-types self.hspec-discover; + quickcheck-arbitrary-adt = addTestToolDepend super.quickcheck-arbitrary-adt self.hspec-discover; + haddock-library = addTestToolDepend super.haddock-library self.hspec-discover; + sum-type-boilerplate = addTestToolDepend super.sum-type-boilerplate self.hspec-discover; + eve = addTestToolDepend super.eve self.hspec-discover; + jvm = addTestToolDepend super.jvm self.hspec-discover; + xmobar = addTestToolDepend super.xmobar self.hspec-discover; + wild-bind = addTestToolDepend super.wild-bind self.hspec-discover; + test-fixture = addTestToolDepend super.test-fixture self.hspec-discover; + streaming-binary = addTestToolDepend super.streaming-binary self.hspec-discover; } // @@ -1113,7 +1149,7 @@ self: super: { (let amazonkaOverrides = self: super: { conduit = self.conduit_1_2_13_1; - conduit-extra = self.conduit-extra_1_2_3_2; + conduit-extra = addTestToolDepend super.conduit-extra_1_2_3_2 self.hspec-discover; resourcet = self.resourcet_1_1_11; xml-conduit = self.xml-conduit_1_7_1_2; http-conduit = self.http-conduit_2_2_4; diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index bbef7b583d8..8fd4f39ee94 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -25,6 +25,22 @@ self: super: { haskeline = null; hoopl = self.hoopl_3_10_2_2; # no longer a core library in GHC 8.4.x hpc = null; + + # A few things for hspec*: + # + # 1. Break cycles for test + # + # 2. https://github.com/hspec/hspec/pull/355 The buildTool will be properly + # cabal2nixed when run on the patched cabal file. + hspec = let + breakCycles = super.hspec_2_5_1.override { stringbuilder = dontCheck self.stringbuilder; }; + in addTestToolDepend breakCycles self.hspec-meta; + hspec-core = let + breakCycles = super.hspec-core_2_5_1.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; + in addTestToolDepend breakCycles self.hspec-meta; + hspec-discover = addTestToolDepend super.hspec-discover_2_5_1 self.hspec-meta; + hspec-smallcheck = addTestToolDepend self.hspec-smallcheck_0_5_2 self.hspec-meta; + integer-gmp = null; mtl = null; parsec = null; @@ -396,7 +412,7 @@ self: super: { dhall = self.dhall_1_14_0; dhall_1_13_0 = doJailbreak super.dhall_1_14_0; # support ansi-terminal 0.8.x HaTeX = self.HaTeX_3_19_0_0; - hpack = self.hpack_0_28_2; + hpack = addTestBuildDepend self.hpack_0_28_2 super.hspec-discover; matrix = self.matrix_0_3_6_1; pandoc = self.pandoc_2_2_1; pandoc-types = self.pandoc-types_1_17_5_1; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 54366046222..769033e7df9 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -53,7 +53,7 @@ self: super: builtins.intersectAttrs super { # Use the default version of mysql to build this package (which is actually mariadb). # test phase requires networking - mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.connector-c; }); + mysql = dontCheck (addBuildTool (super.mysql.override { mysql = pkgs.mysql.connector-c; }) pkgs.mysql); # CUDA needs help finding the SDK headers and libraries. cuda = overrideCabal super.cuda (drv: { @@ -516,4 +516,15 @@ self: super: builtins.intersectAttrs super { # Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73 blank-canvas = dontCheck super.blank-canvas; blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2; + + # cabal2nix generates a dependency on base-compat, which is the wrong version + base-compat-batteries = super.base-compat-batteries.override { + base-compat = super.base-compat_0_10_1; + }; + + # Custom setup needs pg_config + HDBC-postgresql = addBuildTool super.HDBC-postgresql pkgs.postgresql; + + # Custom setup needs sdl-config + SDL = addBuildTool super.SDL pkgs.SDL; } From c4d43761c12151cfcaf4a0bf35b768ad272b4a3c Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Jun 2018 17:13:05 -0400 Subject: [PATCH 11/21] haskell with-location: Link upstreaming attempt --- pkgs/development/haskell-modules/configuration-common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 0aa0f5fea57..38ee3d2ff30 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1084,6 +1084,7 @@ self: super: { # The build-tool-depends this hacks around has been added on master. base-compat = addTestToolDepend super.base-compat self.hspec-discover; + # https://github.com/sol/with-location/pull/1 with-location = addTestToolDepend super.with-location self.hspec-discover; text-conversions = addTestToolDepend super.text-conversions self.hspec-discover; logging-facade = addTestToolDepend super.logging-facade self.hspec-discover; From 3457ce014232d2e6eadd64f3c96f5ee408e4d181 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Jun 2018 17:20:27 -0400 Subject: [PATCH 12/21] with-location: Link upstreamming attempt --- pkgs/development/haskell-modules/configuration-common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 38ee3d2ff30..b586368032d 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1086,6 +1086,7 @@ self: super: { base-compat = addTestToolDepend super.base-compat self.hspec-discover; # https://github.com/sol/with-location/pull/1 with-location = addTestToolDepend super.with-location self.hspec-discover; + # https://github.com/cjdev/text-conversions/pull/6 text-conversions = addTestToolDepend super.text-conversions self.hspec-discover; logging-facade = addTestToolDepend super.logging-facade self.hspec-discover; distributive = addTestToolDepend super.distributive self.hspec-discover; From 42bd49d72bec8c19b508d774e59fabdacf214f0d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 27 Jun 2018 13:38:12 -0400 Subject: [PATCH 13/21] haskell-modules: Fix mockery in macos Weird errors otherwise - seems to need this to know it can skip the bad test. --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index b586368032d..66949382a38 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1093,7 +1093,7 @@ self: super: { doctest = addTestToolDepend super.doctest self.hspec-discover; http-types = addTestToolDepend super.http-types self.hspec-discover; interpolate = addTestToolDepend super.interpolate self.hspec-discover; - mockery = addTestToolDepend super.mockery self.hspec-discover; + mockery = addTestToolDepend (overrideCabal super.mockery (drv: { preCheck = "export TRAVIS=true"; })) self.hspec-discover; slim = addTestToolDepend super.slim self.hspec-discover; string-conversions = addTestToolDepend super.string-conversions self.hspec-discover; catamorphism = addTestToolDepend super.catamorphism self.hspec-discover; From 10f10638d88c3704b67c6597a6e59eb27b2dd097 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 28 Jun 2018 16:13:58 -0400 Subject: [PATCH 14/21] haskell-modules: Add many more overrides for hspec-discover This is needed for picking up hspec-discover in strictDeps generic-builder.nix. --- .../haskell-modules/configuration-common.nix | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 66949382a38..5cde3565f92 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1081,6 +1081,7 @@ self: super: { hspec-smallcheck = addTestToolDepend super.hspec-smallcheck self.hspec-meta; hspec-attoparsec = addTestToolDepend super.hspec-attoparsec self.hspec-meta; hspec-contrib = addTestToolDepend super.hspec-contrib self.hspec-meta; + hspec-wai = addTestToolDepend super.hspec-wai self.hspec-meta; # The build-tool-depends this hacks around has been added on master. base-compat = addTestToolDepend super.base-compat self.hspec-discover; @@ -1144,6 +1145,27 @@ self: super: { wild-bind = addTestToolDepend super.wild-bind self.hspec-discover; test-fixture = addTestToolDepend super.test-fixture self.hspec-discover; streaming-binary = addTestToolDepend super.streaming-binary self.hspec-discover; + yesod-persistent = addTestToolDepend super.yesod-persistent self.hspec-discover; + wss-client = addTestToolDepend super.wss-client self.hspec-discover; + word-trie = addTestToolDepend super.word-trie self.hspec-discover; + woot = addTestToolDepend super.woot self.hspec-discover; + wikicfp-scraper = addTestToolDepend super.wikicfp-scraper self.hspec-discover; + hopfli = addTestToolDepend super.hopfli self.hspec-discover; + webex-teams-api = addTestToolDepend super.webex-teams-api self.hspec-discover; + wave = addTestToolDepend super.wave self.hspec-discover; + clay = addTestToolDepend super.clay self.hspec-discover; + typenums = addTestToolDepend super.typenums self.hspec-discover; + type-assertions = addTestToolDepend super.type-assertions self.hspec-discover; + tsne = addTestToolDepend super.tsne self.hspec-discover; + tiphys = addTestToolDepend super.tipys self.hspec-discover; + ticker = addTestToolDepend super.ticker self.hspec-discover; + thread-hierarchy = addTestToolDepend super.thread-hierarchy self.hspec-discover; + th-to-exp = addTestToolDepend super.th-to-exp self.hspec-discover; + th-nowq = addTestToolDepend super.th-to-exp self.markdown-unlit; + text-regex-replace = addTestToolDepend super.text-regex-replace self.hspec-discover; + system-extra = addTestToolDepend super.system-extra self.hspec-discover; + t3-game = addTestToolDepend super.t3-game self.hspec-discover; + } // From c4431d301ae8ed6730d5b5af5698ac83b01271ac Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 28 Jun 2018 16:25:12 -0400 Subject: [PATCH 15/21] haskell-modules: Add test tool depend for modern-uri --- pkgs/development/haskell-modules/configuration-common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 5cde3565f92..eeaa972fe50 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1165,6 +1165,7 @@ self: super: { text-regex-replace = addTestToolDepend super.text-regex-replace self.hspec-discover; system-extra = addTestToolDepend super.system-extra self.hspec-discover; t3-game = addTestToolDepend super.t3-game self.hspec-discover; + modern-uri = addTestToolDepend super.modern-uri self.hspec-discover; } From fb94cd9b5121d1d7d70e15ddad1a3bf4e15a5f90 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 28 Jun 2018 17:09:41 -0400 Subject: [PATCH 16/21] haskell-modules: Add pandoc for heist --- pkgs/development/haskell-modules/configuration-common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index eeaa972fe50..3a57209c880 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1166,6 +1166,7 @@ self: super: { system-extra = addTestToolDepend super.system-extra self.hspec-discover; t3-game = addTestToolDepend super.t3-game self.hspec-discover; modern-uri = addTestToolDepend super.modern-uri self.hspec-discover; + heist = addTestToolDepend super.heist pkgs.pandoc; } From 2cb563374f9655929ffd59ac5f6cce48330b34fc Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 28 Jun 2018 17:31:21 -0400 Subject: [PATCH 17/21] haskell-modules: Add more test tool depends --- .../haskell-modules/configuration-common.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 3a57209c880..7a383813262 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1082,6 +1082,7 @@ self: super: { hspec-attoparsec = addTestToolDepend super.hspec-attoparsec self.hspec-meta; hspec-contrib = addTestToolDepend super.hspec-contrib self.hspec-meta; hspec-wai = addTestToolDepend super.hspec-wai self.hspec-meta; + hspec-checkers = addTestToolDepend super.hspec-checkers self.hspec-meta; # The build-tool-depends this hacks around has been added on master. base-compat = addTestToolDepend super.base-compat self.hspec-discover; @@ -1157,16 +1158,27 @@ self: super: { typenums = addTestToolDepend super.typenums self.hspec-discover; type-assertions = addTestToolDepend super.type-assertions self.hspec-discover; tsne = addTestToolDepend super.tsne self.hspec-discover; - tiphys = addTestToolDepend super.tipys self.hspec-discover; + tiphys = addTestToolDepend super.tiphys self.hspec-discover; ticker = addTestToolDepend super.ticker self.hspec-discover; thread-hierarchy = addTestToolDepend super.thread-hierarchy self.hspec-discover; th-to-exp = addTestToolDepend super.th-to-exp self.hspec-discover; - th-nowq = addTestToolDepend super.th-to-exp self.markdown-unlit; + th-nowq = addTestToolDepend super.th-nowq self.markdown-unlit; text-regex-replace = addTestToolDepend super.text-regex-replace self.hspec-discover; system-extra = addTestToolDepend super.system-extra self.hspec-discover; t3-game = addTestToolDepend super.t3-game self.hspec-discover; modern-uri = addTestToolDepend super.modern-uri self.hspec-discover; - heist = addTestToolDepend super.heist pkgs.pandoc; + dimensional = addTestToolDepend super.dimensional self.hspec-discover; + eventful-core = addTestToolDepend super.eventful-core self.hspec-discover; + gridbox = addTestToolDepend super.gridbox self.hspec-discover; + greskell-core = addTestToolDepend super.greskell-core self.hspec-discover; + dns = addTestToolDepend super.dns self.hspec-discover; + hapistrano = addTestToolDepend super.hapistrano self.hspec-discover; + hw-hspec-hedgehog = addTestToolDepend super.hw-hspec-hedgehog self.hspec-discover; + update-repos = addTestToolDepend super.update-repos self.hspec-discover; + invariant = addTestToolDepend super.invariant self.hspec-discover; + ulid = addTestToolDepend super.ulid self.hspec-discover; + matrix-market-attoparsec = addTestToolDepend super.matrix-market-attoparsec self.hspec-discover; + paymill = addTestToolDepend super.paymill self.hspec-discover; } From 4590a3702aeea05f70241dc45b084a049ed7e3a1 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 2 Jul 2018 15:22:28 -0400 Subject: [PATCH 18/21] haskell-modules: Add more overrides --- .../development/haskell-modules/configuration-common.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 7a383813262..377adae1b31 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1139,6 +1139,9 @@ self: super: { bitcoin-types = addTestToolDepend super.bitcoin-types self.hspec-discover; quickcheck-arbitrary-adt = addTestToolDepend super.quickcheck-arbitrary-adt self.hspec-discover; haddock-library = addTestToolDepend super.haddock-library self.hspec-discover; + haddock-library_1_2_1 = addTestToolDepend super.haddock-library_1_2_1 self.hspec-discover; + haddock-library_1_4_3 = addTestToolDepend super.haddock-library_1_4_3 self.hspec-discover; + haddock-api_2_17_4 = addTestToolDepend super.haddock-api_2_17_4 self.hspec-discover; sum-type-boilerplate = addTestToolDepend super.sum-type-boilerplate self.hspec-discover; eve = addTestToolDepend super.eve self.hspec-discover; jvm = addTestToolDepend super.jvm self.hspec-discover; @@ -1179,6 +1182,12 @@ self: super: { ulid = addTestToolDepend super.ulid self.hspec-discover; matrix-market-attoparsec = addTestToolDepend super.matrix-market-attoparsec self.hspec-discover; paymill = addTestToolDepend super.paymill self.hspec-discover; + bitcoin-tx = addTestToolDepend super.bitcoin-tx self.hspec-discover; + conduit-extra_1_2_3_2 = addTestToolDepend super.conduit-extra_1_2_3_2 self.hspec-discover; + algolia = addTestToolDepend super.algolia self.tasty-discover; + clckwrks = addTestToolDepend super.clckwrks self.hsx2hs; + HasBigDecimal = addTestToolDepend super.HasBigDecimal self.hspec-discover; + classy-prelude-conduit = addTestToolDepend super.classy-prelude-conduit self.hspec-discover; } From 1a668f79b277f7e7d3a4bae93cc1234ce3b25a4b Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 2 Jul 2018 16:37:20 -0400 Subject: [PATCH 19/21] yesod-persistent: add hspec-discover for 1.4.3 --- pkgs/development/haskell-modules/configuration-common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 377adae1b31..7c4330d7416 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1150,6 +1150,7 @@ self: super: { test-fixture = addTestToolDepend super.test-fixture self.hspec-discover; streaming-binary = addTestToolDepend super.streaming-binary self.hspec-discover; yesod-persistent = addTestToolDepend super.yesod-persistent self.hspec-discover; + yesod-persistent_1_4_3 = addTestToolDepend super.yesod-persistent_1_4_3 self.hspec-discover; wss-client = addTestToolDepend super.wss-client self.hspec-discover; word-trie = addTestToolDepend super.word-trie self.hspec-discover; woot = addTestToolDepend super.woot self.hspec-discover; From 9ed54a38bd9f2c60c18ef30857dbb9f220ced9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 2 Jul 2018 22:11:17 +0100 Subject: [PATCH 20/21] configuration-common.nix: fix build tools --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- pkgs/development/haskell-modules/configuration-nix.nix | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 7c4330d7416..e7c7f0a3763 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -341,7 +341,7 @@ self: super: { hsbencher = dontCheck super.hsbencher; hsexif = dontCheck super.hsexif; hspec-server = dontCheck super.hspec-server; - HTF = addTestToolDepend (dontCheck super.HTF) self.cpphs; + HTF = addBuildTool (dontCheck super.HTF) self.cpphs; htsn = dontCheck super.htsn; htsn-import = dontCheck super.htsn-import; http-link-header = dontCheck super.http-link-header; # non deterministic failure https://hydra.nixos.org/build/75041105 diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 769033e7df9..07be6298453 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -517,14 +517,11 @@ self: super: builtins.intersectAttrs super { blank-canvas = dontCheck super.blank-canvas; blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2; - # cabal2nix generates a dependency on base-compat, which is the wrong version - base-compat-batteries = super.base-compat-batteries.override { - base-compat = super.base-compat_0_10_1; - }; - # Custom setup needs pg_config HDBC-postgresql = addBuildTool super.HDBC-postgresql pkgs.postgresql; # Custom setup needs sdl-config SDL = addBuildTool super.SDL pkgs.SDL; + neat-interpolation = addBuildTool super.neat-interpolation self.HTF; + hnix = addBuildTool super.hnix pkgs.nix; } From 157b59736b9e47d5f603475a05f24659c77c9449 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 3 Jul 2018 19:09:24 -0400 Subject: [PATCH 21/21] configuration-ghc-8.4.x.nix: Update hspec versions These have changed on master. --- .../development/haskell-modules/configuration-ghc-8.4.x.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index 8fd4f39ee94..7d5c7ac3a73 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -33,12 +33,12 @@ self: super: { # 2. https://github.com/hspec/hspec/pull/355 The buildTool will be properly # cabal2nixed when run on the patched cabal file. hspec = let - breakCycles = super.hspec_2_5_1.override { stringbuilder = dontCheck self.stringbuilder; }; + breakCycles = super.hspec_2_5_3.override { stringbuilder = dontCheck self.stringbuilder; }; in addTestToolDepend breakCycles self.hspec-meta; hspec-core = let - breakCycles = super.hspec-core_2_5_1.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; + breakCycles = super.hspec-core_2_5_3.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; }; in addTestToolDepend breakCycles self.hspec-meta; - hspec-discover = addTestToolDepend super.hspec-discover_2_5_1 self.hspec-meta; + hspec-discover = addTestToolDepend super.hspec-discover_2_5_3 self.hspec-meta; hspec-smallcheck = addTestToolDepend self.hspec-smallcheck_0_5_2 self.hspec-meta; integer-gmp = null;