ghc-head: Fixes for new base and Cabal

This commit is contained in:
Shea Levy 2017-01-07 10:28:48 -05:00
parent 133ba5f08a
commit 71fc7f9748
3 changed files with 46 additions and 2 deletions

View file

@ -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;
}

View file

@ -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 ];

View file

@ -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"++