summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2014-04-15 11:09:45 +0200
committerHerbert Valerio Riedel <hvr@gnu.org>2014-04-16 17:00:40 +0200
commit8992d5269804b727fb77249511e89df678526907 (patch)
treed39461686c7a22c8415b0a8dd630a4457a983ba7
parenta107737f84f6738a9fa572ec9c5da49c9db8a8b5 (diff)
downloadhaskell-8992d5269804b727fb77249511e89df678526907.tar.gz
Update Cabal submodule to tip of v1.20 branch
This corresponds to the RC of the soon-to-be Cabal 1.20 release One noteworthy change is the removal of the `--with-ranlib` flag requiring a small adaptation in the GHC build system. Moreover two new licences were added, MPL and BSD2. Due to https://github.com/haskell/cabal/issues/1622 Cabal-1.20 now allows to strip libraries as well, this doesn't work well with `ghc-cabal copy` being fed a `":"` strip-command argument which was simply ignored in the past. The current code tries to retain this semantics as backward compat. However, this needs more investigation as I'm not sure if/why the `test_bindist` step doesn't want the libraries to be stripped on installation. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
m---------libraries/Cabal0
-rw-r--r--libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs6
-rw-r--r--libraries/bin-package-db/bin-package-db.cabal2
-rw-r--r--rules/build-package-data.mk1
-rw-r--r--utils/ghc-cabal/Main.hs10
-rw-r--r--utils/ghc-cabal/ghc-cabal.cabal2
-rw-r--r--utils/ghctags/Main.hs4
-rw-r--r--utils/ghctags/ghctags.cabal2
8 files changed, 19 insertions, 8 deletions
diff --git a/libraries/Cabal b/libraries/Cabal
-Subproject c226c0de042999bbe4c5c339c6c28a9be7f0c6d
+Subproject aaa6183dba81d77637dff84f83136639d40f268
diff --git a/libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs b/libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs
index 27e23d8959..ab7fcf5652 100644
--- a/libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs
+++ b/libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs
@@ -132,7 +132,9 @@ instance Binary License where
put OtherLicense = do putWord8 7
put (Apache v) = do putWord8 8; put v
put (AGPL v) = do putWord8 9; put v
- put (UnknownLicense str) = do putWord8 10; put str
+ put BSD2 = do putWord8 10
+ put (MPL v) = do putWord8 11; put v
+ put (UnknownLicense str) = do putWord8 12; put str
get = do
n <- getWord8
@@ -147,6 +149,8 @@ instance Binary License where
7 -> return OtherLicense
8 -> do v <- get; return (Apache v)
9 -> do v <- get; return (AGPL v)
+ 10 -> return BSD2
+ 11 -> do v <- get; return (MPL v)
_ -> do str <- get; return (UnknownLicense str)
instance Binary Version where
diff --git a/libraries/bin-package-db/bin-package-db.cabal b/libraries/bin-package-db/bin-package-db.cabal
index 1d3054ce85..44408a77b6 100644
--- a/libraries/bin-package-db/bin-package-db.cabal
+++ b/libraries/bin-package-db/bin-package-db.cabal
@@ -19,7 +19,7 @@ Library {
build-depends: base >= 4 && < 5
build-depends: binary >= 0.5 && < 0.8,
- Cabal >= 1.18 && < 1.19
+ Cabal >= 1.20 && < 1.21
extensions: CPP
}
diff --git a/rules/build-package-data.mk b/rules/build-package-data.mk
index aea2adbeb5..2e610014a2 100644
--- a/rules/build-package-data.mk
+++ b/rules/build-package-data.mk
@@ -94,7 +94,6 @@ endif
$1_$2_CONFIGURE_OPTS += --configure-option=--with-cc="$$(CC_STAGE$3)"
$1_$2_CONFIGURE_OPTS += --with-ar="$$(AR_STAGE$3)"
-$1_$2_CONFIGURE_OPTS += --with-ranlib="$$(REAL_RANLIB_CMD)"
$1_$2_CONFIGURE_OPTS += $$(if $$(ALEX),--with-alex="$$(ALEX)")
$1_$2_CONFIGURE_OPTS += $$(if $$(HAPPY),--with-happy="$$(HAPPY)")
diff --git a/utils/ghc-cabal/Main.hs b/utils/ghc-cabal/Main.hs
index a7d9e60051..cfd3d27990 100644
--- a/utils/ghc-cabal/Main.hs
+++ b/utils/ghc-cabal/Main.hs
@@ -12,6 +12,7 @@ import Distribution.Simple.Configure
import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.Program
import Distribution.Simple.Program.HcPkg
+import Distribution.Simple.Setup (ConfigFlags(configStripLibs), fromFlag, toFlag)
import Distribution.Simple.Utils (defaultPackageDesc, writeFileAtomic, toUTF8)
import Distribution.Simple.Build (writeAutogenFiles)
import Distribution.Simple.Register
@@ -174,8 +175,17 @@ doCopy directory distDir
let lbi' = lbi {
withPrograms = progs',
installDirTemplates = idts,
+ configFlags = cfg,
+ stripLibs = fromFlag (configStripLibs cfg),
withSharedLib = withSharedLibs
}
+
+ -- This hack allows to interpret the "strip"
+ -- command-line argument being set to ':' to signify
+ -- disabled library stripping
+ cfg | strip == ":" = (configFlags lbi) { configStripLibs = toFlag False }
+ | otherwise = configFlags lbi
+
f pd lbi' us flags
doRegister :: FilePath -> FilePath -> FilePath -> FilePath
diff --git a/utils/ghc-cabal/ghc-cabal.cabal b/utils/ghc-cabal/ghc-cabal.cabal
index 10d6e0a9e4..74399ce390 100644
--- a/utils/ghc-cabal/ghc-cabal.cabal
+++ b/utils/ghc-cabal/ghc-cabal.cabal
@@ -17,7 +17,7 @@ Executable ghc-cabal
Build-Depends: base >= 3 && < 5,
bytestring >= 0.10 && < 0.11,
- Cabal >= 1.18 && < 1.19,
+ Cabal >= 1.20 && < 1.21,
directory >= 1.1 && < 1.3,
filepath >= 1.2 && < 1.4
diff --git a/utils/ghctags/Main.hs b/utils/ghctags/Main.hs
index 9bf1a2d0c3..a67891e16a 100644
--- a/utils/ghctags/Main.hs
+++ b/utils/ghctags/Main.hs
@@ -20,7 +20,6 @@ import SrcLoc
import Distribution.Simple.GHC ( componentGhcOptions )
import Distribution.Simple.Configure ( getPersistBuildConfig )
-import Distribution.Simple.Compiler ( compilerVersion )
import Distribution.Simple.Program.GHC ( renderGhcOptions )
import Distribution.PackageDescription ( library, libBuildInfo )
import Distribution.Simple.LocalBuildInfo
@@ -191,8 +190,7 @@ flagsFromCabal distPref = do
let bi = libBuildInfo lib
odir = buildDir lbi
opts = componentGhcOptions V.normal lbi bi clbi odir
- version = compilerVersion (compiler lbi)
- in return $ renderGhcOptions version opts
+ in return $ renderGhcOptions (compiler lbi) opts
_ -> error "no library"
----------------------------------------------------------------
diff --git a/utils/ghctags/ghctags.cabal b/utils/ghctags/ghctags.cabal
index 07221d3e08..0e97ccade6 100644
--- a/utils/ghctags/ghctags.cabal
+++ b/utils/ghctags/ghctags.cabal
@@ -17,6 +17,6 @@ Executable ghctags
Build-Depends: base >= 4 && < 5,
containers,
- Cabal,
+ Cabal >= 1.20 && <1.21,
ghc