summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2021-03-03 15:43:19 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-03-05 14:01:20 -0500
commit6141aef49b37297e94c9e33a977438c2de15d086 (patch)
treead64f5f9799c0300ad20ae38a7d7e45a8f057cea
parentb5155a6c74e774d99a67f2b5c8c06b70ad5e5b2e (diff)
downloadhaskell-6141aef49b37297e94c9e33a977438c2de15d086.tar.gz
Update bounds/hadrian to fix bootstrapping with 9.0.
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.project2
-rw-r--r--hadrian/hadrian.cabal6
-rw-r--r--hadrian/src/Hadrian/Haskell/Cabal/Parse.hs4
-rw-r--r--hadrian/src/Hadrian/Haskell/Cabal/Type.hs6
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]