From 825a8a86234aa69acf31d5ec69d2e18f8d311fb1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 7 Aug 2015 15:33:19 +0200 Subject: [PATCH] jailbreak-cabal: build ghc-7.10.x version from source again https://github.com/peti/jailbreak-cabal/issues/9 forced us to use a binary version of jailbreak-cabal built with ghc 7.8.x in the 7.10.x package set, which is awkward. Upstream fixed the underlying issue in https://github.com/haskell/cabal/issues/2598, but unfortunately that fix didn't make it into the Cabal 1.22.4.0 release shipped by ghc 7.10.2. Now, we work around that issue by building jailbreak-cabal with an unreleased development snapshot of Cabal in the ghc 7.10.x package set. Closes https://github.com/NixOS/nixpkgs/issues/8901. --- .../configuration-ghc-7.10.x.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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 88edc88b3f9..e78aa0e9839 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -42,7 +42,22 @@ self: super: { cabal-install = dontCheck (super.cabal-install.override { Cabal = null; }); # Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9. - jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal; + Cabal_1_23_0_0 = overrideCabal super.Cabal_1_22_4_0 (drv: { + version = "1.23.0.0"; + src = pkgs.fetchFromGitHub { + owner = "haskell"; + repo = "cabal"; + rev = "fe7b8784ac0a5848974066bdab76ce376ba67277"; + sha256 = "1d70ryz1l49pkr70g8r9ysqyg1rnx84wwzx8hsg6vwnmg0l5am7s"; + }; + jailbreak = false; + doHaddock = false; + postUnpack = "sourceRoot+=/Cabal"; + }); + jailbreak-cabal = overrideCabal super.jailbreak-cabal (drv: { + executableHaskellDepends = [ self.Cabal_1_23_0_0 ]; + preConfigure = "sed -i -e 's/Cabal == 1.20\\.\\*/Cabal >= 1.23/' jailbreak-cabal.cabal"; + }); idris = let idris' = overrideCabal super.idris (drv: {