From 172a2bbeaf7b0c6a905bdfbb24b5fd67a1e8cbad Mon Sep 17 00:00:00 2001 From: Leon Isenberg Date: Mon, 27 Feb 2017 20:21:33 +0100 Subject: [PATCH 1/4] haskell: ghc710x packages: remove obsolete configurations --- pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index 6263d38a2bb..45199ab9420 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -187,9 +187,7 @@ self: super: { mono-traversable = addBuildDepend super.mono-traversable self.semigroups; attoparsec = addBuildDepends super.attoparsec (with self; [semigroups fail]); Glob = addBuildDepends super.Glob (with self; [semigroups]); - Glob_0_7_10 = addBuildDepends super.Glob_0_7_10 (with self; [semigroups]); aeson = disableCabalFlag (addBuildDepend super.aeson self.semigroups) "old-locale"; - aeson_0_11_2_0 = disableCabalFlag (addBuildDepend super.aeson_0_11_2_0 self.semigroups) "old-locale"; bytes = addBuildDepend super.bytes self.doctest; case-insensitive = addBuildDepend super.case-insensitive self.semigroups; hoauth2 = overrideCabal super.hoauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.wai self.warp ]; }); @@ -197,13 +195,11 @@ self: super: { intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]); lens = addBuildDepends super.lens (with self; [doctest generic-deriving nats simple-reflect]); semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]); - semigroups_0_18_1 = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]); texmath = addBuildDepend super.texmath self.network-uri; yesod-auth-oauth2 = overrideCabal super.yesod-auth-oauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.load-env self.yesod ]; }); # cereal must have `fail` in pre-ghc-8.0.x versions # also tests require bytestring>=0.10.8.1 cereal = dontCheck (addBuildDepend super.cereal self.fail); - cereal_0_5_2_0 = dontCheck (addBuildDepend super.cereal_0_5_2_0 self.fail); # Moved out from common as no longer the case for GHC8 ghc-mod = super.ghc-mod.override { cabal-helper = self.cabal-helper_0_6_3_1; }; From 1aa6d77af4a10cf9f66f2bef0b1ad81a2a9c18b6 Mon Sep 17 00:00:00 2001 From: Leon Isenberg Date: Mon, 27 Feb 2017 20:25:19 +0100 Subject: [PATCH 2/4] haskell: add semigroups dependency to Quickcheck for GHC < 8 --- pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index 45199ab9420..c07ce1e6fe8 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -194,6 +194,7 @@ self: super: { hslogger = addBuildDepend super.hslogger self.HUnit; intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]); lens = addBuildDepends super.lens (with self; [doctest generic-deriving nats simple-reflect]); + QuickCheck = addBuildDepend super.QuickCheck self.semigroups; semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]); texmath = addBuildDepend super.texmath self.network-uri; yesod-auth-oauth2 = overrideCabal super.yesod-auth-oauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.load-env self.yesod ]; }); From 24c93619e96a24a26d6eefff5595e240a81cb2f1 Mon Sep 17 00:00:00 2001 From: Leon Isenberg Date: Mon, 27 Feb 2017 20:26:27 +0100 Subject: [PATCH 3/4] haskell: break dependency cycle between QuickCheck and semigroups for GHC < 8 The cycle: QuickCheck -> semigroups semigroups -> hashable semigroups -> unordered-containers unordered-containers -> hashable unordered-containers -> QuickCheck # test suite only hashable -> QuickCheck # test suite only --- pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index c07ce1e6fe8..26b3daa25bf 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -182,6 +182,10 @@ self: super: { # https://github.com/well-typed/hackage-security/issues/158 hackage-security = dontHaddock (dontCheck super.hackage-security); + # Breaks a dependency cycle between QuickCheck and semigroups + hashable = dontCheck super.hashable; + unordered-containers = dontCheck super.unordered-containers; + # GHC versions prior to 8.x require additional build inputs. distributive = addBuildDepend super.distributive self.semigroups; mono-traversable = addBuildDepend super.mono-traversable self.semigroups; From 386ddc739cd48dbaf57e806096de0ade1f24469f Mon Sep 17 00:00:00 2001 From: Leon Isenberg Date: Mon, 27 Feb 2017 20:30:57 +0100 Subject: [PATCH 4/4] haskell: add semigroups dependency to optparse-applicative for GHC < 8 --- pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index 26b3daa25bf..2c1888b5eef 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -198,6 +198,7 @@ self: super: { hslogger = addBuildDepend super.hslogger self.HUnit; intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]); lens = addBuildDepends super.lens (with self; [doctest generic-deriving nats simple-reflect]); + optparse-applicative = addBuildDepend super.optparse-applicative self.semigroups; QuickCheck = addBuildDepend super.QuickCheck self.semigroups; semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]); texmath = addBuildDepend super.texmath self.network-uri;