A lot of packages do not work with GHC 9.0.1 by default since their version constraint for packages from the standard library is too restrictive. Adjust these version constrains to fix the build. Only in b: _build diff -upr a/bootstrap/bootstrap.py b/bootstrap/bootstrap.py --- a/bootstrap/bootstrap.py 2021-11-17 20:24:56.563114540 +0100 +++ b/bootstrap/bootstrap.py 2021-11-17 20:13:30.311479911 +0100 @@ -147,6 +147,11 @@ def fetch_package(package: PackageName, shutil.copyfileobj(resp, cabal_file.open('wb')) verify_sha256(cabal_sha256, cabal_file) + if package == "ed25519": + subprocess_run(["sed", "-e", "s/ghc-prim ..*/ghc-prim >= 0.1,/", "-i", cabal_file], check=True) + elif package == "hackage-security": + subprocess_run(["sed", "-e", "s/template-haskell ..*/template-haskell >= 2.7,/", "-i", cabal_file], check=True) + return (tarball, cabal_file) def read_bootstrap_info(path: Path) -> BootstrapInfo: diff -upr a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal --- a/cabal-install/cabal-install.cabal 2021-11-05 00:16:33.000000000 +0100 +++ b/cabal-install/cabal-install.cabal 2021-11-17 20:17:03.488421095 +0100 @@ -209,7 +209,7 @@ library edit-distance >= 0.2.2 && < 0.3, exceptions, filepath >= 1.4.0.0 && < 1.5, - hashable >= 1.0 && < 1.4, + hashable >= 1.0, HTTP >= 4000.1.5 && < 4000.4, mtl >= 2.0 && < 2.3, network-uri >= 2.6.0.2 && < 2.7, diff -upr a/cabal-install-solver/cabal-install-solver.cabal b/cabal-install-solver/cabal-install-solver.cabal --- a/cabal-install-solver/cabal-install-solver.cabal 2021-11-05 00:16:33.000000000 +0100 +++ b/cabal-install-solver/cabal-install-solver.cabal 2021-11-17 19:42:41.703460745 +0100 @@ -103,7 +103,7 @@ library build-depends: , array >=0.4 && <0.6 - , base >=4.10 && <4.15 + , base >=4.10 , binary >=0.7.3 && <0.9 , bytestring >=0.10.6.0 && <0.12 , Cabal ^>=3.7