From c66c169f8150d6c8ed5c5c2993c7de197b7ec48a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 22 Oct 2018 13:52:22 +0200 Subject: stack: fix the ghc 8.4.x build --- .../haskell-modules/configuration-ghc-8.4.x.nix | 18 +++++++++++++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 16 insertions(+), 4 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 8d0669ca2acb..052779e9a1e8 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -56,8 +56,20 @@ self: super: { }; in appendPatch super.hadoop-rpc patch; - # Version 1.9.1 needs Cabal 2.4.x or later, so - # we use the one from the ghc-8.6.1 package set. - stack = markBroken super.stack; + # stack-1.9.1 needs Cabal 2.4.x, a recent version of hpack, and a non-recent + # version of yaml. Go figure. We avoid overrideScope here because using it to + # change Cabal would re-compile every single package instead of just those + # that have it as an actual library dependency. The explicit overrides are + # more verbose but friendlier for Hydra. + stack = (doJailbreak super.stack).override { + Cabal = self.Cabal_2_4_0_1; + hpack = self.hpack_0_31_0; + yaml = self.yaml_0_11_0_0; + hackage-security = self.hackage-security.override { Cabal = self.Cabal_2_4_0_1; }; + }; + hpack_0_31_0 = super.hpack_0_31_0.override { + Cabal = self.Cabal_2_4_0_1; + yaml = self.yaml_0_11_0_0; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 435a5c90e25e..dea13be70d0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6848,7 +6848,7 @@ with pkgs; cabal-install = haskell.lib.justStaticExecutables haskellPackages.cabal-install; - stack = haskell.lib.justStaticExecutables haskell.packages.ghc861.stack; + stack = haskell.lib.justStaticExecutables haskellPackages.stack; hlint = haskell.lib.justStaticExecutables haskellPackages.hlint; all-cabal-hashes = callPackage ../data/misc/hackage { }; -- cgit 1.4.1