From 71fc7f97482739ba742b9bc2101c20225cc5cb35 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 7 Jan 2017 10:28:48 -0500 Subject: [PATCH] ghc-head: Fixes for new base and Cabal --- .../configuration-ghc-head.nix | 7 ++++ .../haskell-modules/hackage-packages.nix | 4 +- .../patches/atomic-primops-Cabal-1.25.patch | 37 +++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix index a2b6058b166e..f093c0e427e8 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-head.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix @@ -86,4 +86,11 @@ self: super: { # Won't work with LLVM 3.5. llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general; + # A bunch of jailbreaks due to 'base' bump + old-locale = doJailbreak super.old-locale; + primitive = doJailbreak super.primitive; + test-framework = doJailbreak super.test-framework; + atomic-primops = doJailbreak (appendPatch super.atomic-primops ./patches/atomic-primops-Cabal-1.25.patch); + hashable = doJailbreak super.hashable; + stm = doJailbreak super.stm; } diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 107095b3d7c1..1922fb3efc30 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -106695,8 +106695,8 @@ self: { ({ mkDerivation, base, Cabal }: mkDerivation { pname = "jailbreak-cabal"; - version = "1.3.1"; - sha256 = "610d8dbd04281eee3d5da05c9eef45bfd1a1ddca20dfe54f283e15ddf6d5c235"; + version = "1.3.2"; + sha256 = "1x2h54sx4ycik34q8f9g698xc2b7fai18918cd08qx7w7ny8nai1"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base Cabal ]; diff --git a/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch b/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch new file mode 100644 index 000000000000..712bd53092f9 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/atomic-primops-Cabal-1.25.patch @@ -0,0 +1,37 @@ +diff --git a/Setup.hs b/Setup.hs +index ddf5a02..7ad1f26 100644 +--- a/Setup.hs ++++ b/Setup.hs +@@ -1,4 +1,4 @@ +- ++{-# LANGUAGE CPP #-} + import Control.Monad (when) + import Language.Haskell.TH + import Distribution.Simple (defaultMainWithHooks, simpleUserHooks, UserHooks(postConf), Args) +@@ -6,14 +6,25 @@ import Distribution.Simple.Utils (cabalVersion) + import Distribution.Simple.LocalBuildInfo + import Distribution.Simple.Setup (ConfigFlags) + import Distribution.Version (Version(..)) ++#if MIN_VERSION_Cabal(1,25,0) ++import Distribution.Version (mkVersion) ++#endif + import Distribution.PackageDescription (PackageDescription) + import Debug.Trace + ++#if MIN_VERSION_Cabal(1,25,0) ++versionBranch :: Version -> Version ++versionBranch = id ++#else ++mkVersion :: [Int] -> Version ++mkVersion vs = Version vs [] ++#endif ++ + -- I couldn't figure out a way to do this check from the cabal file, so we drop down + -- here to do it instead: + checkGoodVersion :: IO () + checkGoodVersion = +- if cabalVersion >= Version [1,17,0] [] ++ if cabalVersion >= mkVersion [1,17,0] + then putStrLn (" [Setup.hs] This version of Cabal is ok for profiling: "++show cabalVersion) + else error (" [Setup.hs] This package should not be used in profiling mode with cabal version "++ + show (versionBranch cabalVersion)++" < 1.17.0\n"++