summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2015-08-07 15:33:19 +0200
committerPeter Simons <simons@cryp.to>2015-08-07 23:07:50 +0200
commit825a8a86234aa69acf31d5ec69d2e18f8d311fb1 (patch)
tree6bc05b1749a553de15781db8b0e918392f4584be /pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
parent590e11bc534b90ce8de3eb27753761f2d5af1612 (diff)
downloadnixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.tar
nixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.tar.gz
nixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.tar.bz2
nixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.tar.lz
nixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.tar.xz
nixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.tar.zst
nixpkgs-825a8a86234aa69acf31d5ec69d2e18f8d311fb1.zip
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.
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix17
1 files changed, 16 insertions, 1 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 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: {