diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2021-03-03 15:43:19 +0100 |
---|---|---|
committer | Andreas Klebinger <klebinger.andreas@gmx.at> | 2021-03-04 23:11:17 +0100 |
commit | 640701987d399d8246db2da2200668c0f3f29c0a (patch) | |
tree | 30ac9d40bf32204ef53e52e0bfd503aae87c1071 | |
parent | df74e95ae76b30a7c1a9b155a3e8d58eabd054eb (diff) | |
download | haskell-wip/andreask/ghc-9.0-fixes.tar.gz |
Update bounds/hadrian to fix bootstrapping with 9.0.wip/andreask/ghc-9.0-fixes
This fixes #19484. In detail we:
* Bump the index-state of hackage.
* Require alex-3.2.6, as alex-3.2.5 doesn't build with 9.0.
* Allow Cabal-3.4 as 3.2 doesn't build with ghc 9.0.
* Allow a newer QuickCheck version that accepts the new base version.
* Some code changes to account for Cabal changes.
-rw-r--r-- | hadrian/cabal.project | 2 | ||||
-rw-r--r-- | hadrian/hadrian.cabal | 6 | ||||
-rw-r--r-- | hadrian/src/Hadrian/Haskell/Cabal/Parse.hs | 4 | ||||
-rw-r--r-- | hadrian/src/Hadrian/Haskell/Cabal/Type.hs | 6 |
4 files changed, 10 insertions, 8 deletions
diff --git a/hadrian/cabal.project b/hadrian/cabal.project index 834cd17362..ed0e5f768e 100644 --- a/hadrian/cabal.project +++ b/hadrian/cabal.project @@ -1,7 +1,7 @@ packages: ./ -- This essentially freezes the build plan for hadrian -index-state: 2020-12-21T14:48:20Z +index-state: 2021-03-03T13:52:16Z -- N.B. Compile with -O0 since this is not a performance-critical executable -- and the Cabal takes nearly twice as long to build with -O1. See #16817. diff --git a/hadrian/hadrian.cabal b/hadrian/hadrian.cabal index c39d5a92cf..c82ff82428 100644 --- a/hadrian/hadrian.cabal +++ b/hadrian/hadrian.cabal @@ -134,8 +134,8 @@ executable hadrian , BangPatterns other-extensions: MultiParamTypeClasses , TypeFamilies - build-depends: Cabal >= 3.0 && < 3.3 - , QuickCheck >= 2.6 && < 2.14 + build-depends: Cabal >= 3.0 && < 3.5 + , QuickCheck >= 2.6 && < 2.15 , base >= 4.8 && < 5 , bytestring >= 0.10 && < 0.12 , containers >= 0.5 && < 0.7 @@ -147,7 +147,7 @@ executable hadrian , shake >= 0.18.3 && < 0.20 , transformers >= 0.4 && < 0.6 , unordered-containers >= 0.2.1 && < 0.3 - build-tools: alex >= 3.2.6 && < 4 + build-tools: alex >= 3.2.6 && < 3.3 , happy >= 1.20.0 && < 1.21 ghc-options: -Wall -Wincomplete-record-updates diff --git a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs index 7b31961154..776edb15e7 100644 --- a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs +++ b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs @@ -37,11 +37,13 @@ import qualified Distribution.InstalledPackageInfo as Installed import qualified Distribution.Simple.PackageIndex as C import qualified Distribution.Text as C import qualified Distribution.Types.LocalBuildInfo as C -import qualified Distribution.Types.CondTree as C import qualified Distribution.Types.MungedPackageId as C #if MIN_VERSION_Cabal(3,2,0) import qualified Distribution.Utils.ShortText as C #endif +#if !MIN_VERSION_Cabal(3,4,0) +import qualified Distribution.Types.CondTree as C +#endif import qualified Distribution.Verbosity as C import Hadrian.Expression import Hadrian.Haskell.Cabal diff --git a/hadrian/src/Hadrian/Haskell/Cabal/Type.hs b/hadrian/src/Hadrian/Haskell/Cabal/Type.hs index e55360a1cf..664c7de790 100644 --- a/hadrian/src/Hadrian/Haskell/Cabal/Type.hs +++ b/hadrian/src/Hadrian/Haskell/Cabal/Type.hs @@ -15,7 +15,7 @@ import Development.Shake.Classes import Distribution.PackageDescription import GHC.Generics -import Hadrian.Package +import Hadrian.Package as Hadrian -- | Haskell package metadata extracted from a Cabal file without performing -- the resolution of package configuration flags and associated conditionals, @@ -25,7 +25,7 @@ import Hadrian.Package -- target OS. See 'ContextData' for metadata obtained after resolving package -- configuration flags and conditionals according to the current build context. data PackageData = PackageData - { name :: PackageName + { name :: Hadrian.PackageName , version :: String , synopsis :: String , description :: String @@ -38,7 +38,7 @@ data PackageData = PackageData -- See 'PackageData' for metadata that can be obtained without resolving package -- configuration flags and conditionals. data ContextData = ContextData - { dependencies :: [PackageName] + { dependencies :: [Hadrian.PackageName] , componentId :: String , mainIs :: Maybe (String, FilePath) -- ("Main", filepath) , modules :: [String] |