From 0f906405186b72f7273d2fd413261b60a6e918f0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 29 Mar 2018 17:02:50 +0200 Subject: [PATCH] cabal-install: fix build of the latest version --- .../haskell-modules/configuration-common.nix | 10 ++++-- .../configuration-ghc-7.10.x.nix | 4 --- .../configuration-ghc-8.2.x.nix | 3 -- .../configuration-ghc-8.4.x.nix | 35 ------------------- 4 files changed, 7 insertions(+), 45 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index e9593a5c8377..d7ef3a4c11c1 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -32,9 +32,13 @@ self: super: { # compiled on Linux. We provide the name to avoid evaluation errors. unbuildable = throw "package depends on meta package 'unbuildable'"; - # hackage-security's test suite does not compile with Cabal 2.x. - # See https://github.com/haskell/hackage-security/issues/188. - hackage-security = dontCheck super.hackage-security; + # Use the latest version of the Cabal library. + cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; }); + + # Use the latest version, which supports Cabal 2.2.x. Unfortunately, the test + # suite depends on old versions of tasty and QuickCheck. + hackage-security = self.hackage-security_0_5_3_0; + hackage-security_0_5_3_0 = dontCheck super.hackage-security_0_5_3_0; # Link statically to avoid runtime dependency on GHC. jailbreak-cabal = disableSharedExecutables super.jailbreak-cabal; 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 a071a6aa866a..c7e8d1798d23 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -173,10 +173,6 @@ self: super: { # https://github.com/thoughtpolice/hs-ed25519/issues/13 ed25519 = dontCheck super.ed25519; - # https://github.com/well-typed/hackage-security/issues/157 - # 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; diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix index 8855b4ad6a3b..b6fdb75e5506 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix @@ -41,9 +41,6 @@ self: super: { prePatch = "sed -i -e 's/process.*< 1.5,/process,/g' Cabal.cabal"; }); - # cabal-install can use the native Cabal library. - cabal-install = super.cabal-install.override { Cabal = null; }; - # jailbreak-cabal doesn't seem to work right with the native Cabal version. jailbreak-cabal = pkgs.haskell.packages.ghc802.jailbreak-cabal; 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 244ee9215d33..7848e1067e18 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -118,41 +118,6 @@ self: super: { ## On Hackage: - ## Upstreamed, awaiting a Hackage release - cabal-install = overrideCabal super.cabal-install (drv: { - ## Setup: Encountered missing dependencies: - ## Cabal >=2.0.1.0 && <2.1, base >=4.5 && <4.11 - src = pkgs.fetchFromGitHub { - owner = "haskell"; - repo = "cabal"; - rev = "728ad1a1e066da453ae13ee479629c00d8c2f32d"; - sha256 = "0943xpva0fjlx8fanqvb6bg7myim2pki7q8hz3q0ijnf73bgzf7p"; - }; - prePatch = "cd cabal-install; "; - ## Setup: Encountered missing dependencies: - ## network >=2.4 && <2.6, resolv >=0.1.1 && <0.2 - libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ (with self; [ network resolv ]); - }); - - ## Upstreamed, awaiting a Hackage release - hackage-security = overrideCabal super.hackage-security (drv: { - ## Setup: Encountered missing dependencies: - ## Cabal >=1.14 && <1.26, - ## directory >=1.1.0.2 && <1.3, - ## time >=1.2 && <1.7 - src = pkgs.fetchFromGitHub { - owner = "haskell"; - repo = "hackage-security"; - rev = "21519f4f572b9547485285ebe44c152e1230fd76"; - sha256 = "1ijwmps4pzyhsxfhc8mrnc3ldjvpisnmr457vvhgymwhdrr95k0z"; - }; - prePatch = "cd hackage-security; "; - ## https://github.com/haskell/hackage-security/issues/211 - jailbreak = true; - ## error: while evaluating ‘overrideCabal’ at nixpkgs://pkgs/development/haskell-modules/lib.nix:37:24, called from /home/deepfire/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix:217:22: - editedCabalFile = null; - }); - ## Upstreamed, awaiting a Hackage release haskell-gi = overrideCabal super.haskell-gi (drv: { ## Setup: Encountered missing dependencies: