summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-02-16 15:58:18 +0000
committerMatthew Pickering <matthewtpickering@gmail.com>2022-02-22 09:41:26 +0000
commitcafa50963708727d5f8aabae8ddff823216b578c (patch)
tree7c6e7fffbc4e8b0a2615d5381b8dcdf0ad447a53
parent6d780f06a3528e071480f5c7e4e55417e91c54a7 (diff)
downloadhaskell-wip/reinstallable-extra-patches.tar.gz
Make hadrian depend on in-tree Cabalwip/reinstallable-extra-patches
This is needed to use setup.hs scripts in hadrian.
-rw-r--r--hadrian/bootstrap/README.md8
-rwxr-xr-xhadrian/bootstrap/bootstrap.py14
-rwxr-xr-xhadrian/bootstrap/generate_bootstrap_plans7
-rw-r--r--hadrian/bootstrap/plan-8_10_1.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_2.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_3.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_4.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_5.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_7.json2
-rw-r--r--hadrian/bootstrap/plan-9_0_1.json2
-rw-r--r--hadrian/bootstrap/plan-9_2_1.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_1.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_2.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_3.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_4.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_5.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_7.json2
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_0_1.json2
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_2_1.json1
-rw-r--r--hadrian/cabal.project2
-rw-r--r--hadrian/hadrian.cabal3
-rw-r--r--hadrian/src/Hadrian/Haskell/Cabal/Parse.hs3
-rw-r--r--hadrian/stack.yaml1
23 files changed, 28 insertions, 30 deletions
diff --git a/hadrian/bootstrap/README.md b/hadrian/bootstrap/README.md
index b20534dfe0..26bde05150 100644
--- a/hadrian/bootstrap/README.md
+++ b/hadrian/bootstrap/README.md
@@ -9,7 +9,7 @@ for packagers. If you are a developer then build hadrian using cabal-install.
If you want to bootstrap with ghc-8.10.5 then run the ./bootstrap script with the
`plan-bootstrap-8.10.5.json` file.
- bootstrap.py -d plan-bootstrap-8.10.5.json -w /path/to-ghc
+ ./bootstrap.py -d plan-bootstrap-8_10_5.json -w /path/to-ghc
This default option will download the dependencies using the network.
@@ -18,16 +18,16 @@ The result of the bootstrap script will be a hadrian binary in
Alternatively, you can provide a tarball with the source of any dependencies.
- bootstrap.py -d plan-bootstrap-8.10.5.json -w /path/to-ghc -s sources-tarball.tar.gz
+ ./bootstrap.py -w /path/to-ghc -s sources-tarball.tar.gz
Which dependencies you need can be queried using the `list-sources` option.
- bootstrap.py list-sources -d plan-bootstrap-8.10.5.json
+ ./bootstrap.py -d plan-bootstrap-8_10_5.json list-sources
This produces `fetch_plan.json` which tells you where to get each source from.
You can instruct the script to create the tarball using the `fetch` option.
- bootstrap.py fetch -d plan-bootstrap-8.10.5.json -o sources-tarball.tar.gz
+ ./bootstrap.py -d plan-bootstrap-8_10_5.json fetch -o sources-tarball
## Generating the bootstrap plans
diff --git a/hadrian/bootstrap/bootstrap.py b/hadrian/bootstrap/bootstrap.py
index d5580ab484..20a9ae6f43 100755
--- a/hadrian/bootstrap/bootstrap.py
+++ b/hadrian/bootstrap/bootstrap.py
@@ -170,6 +170,8 @@ def resolve_dep(dep : BootstrapDep) -> Path:
elif dep.source == PackageSource.LOCAL:
if dep.package == 'hadrian':
sdist_dir = Path(sys.path[0]).parent.resolve()
+ elif dep.package == 'Cabal':
+ sdist_dir = Path(sys.path[0]).parent.parent.resolve() / "libraries" / "Cabal" / "Cabal"
else:
raise ValueError(f'Unknown local package {dep.package}')
return sdist_dir
@@ -335,7 +337,7 @@ def fetch_from_plan(plan : FetchPlan, output_dir : Path):
def gen_fetch_plan(info : BootstrapInfo) -> FetchPlan :
sources_dict = {}
for dep in info.dependencies:
- if dep.package != 'hadrian':
+ if dep.source == PackageSource.HACKAGE:
sources_dict[f"{dep.package}-{dep.version}.tar.gz"] = FetchInfo(package_url(dep.package, dep.version), dep.src_sha256)
if dep.revision is not None:
sources_dict[f"{dep.package}.cabal"] = FetchInfo(package_cabal_url(dep.package, dep.version, dep.revision), dep.cabal_sha256)
@@ -384,7 +386,7 @@ def main() -> None:
ghc = find_ghc(args.with_compiler)
args.deps = Path(sys.path[0]) / f"plan-bootstrap-{ghc.version.replace('.','_')}.json"
print(f"defaulting bootstrap plan to {args.deps}")
- # We have a tarball with all the required information, unpack it and use for further
+ # We have a tarball with all the required information, unpack it and use for further
elif args.bootstrap_sources is not None and args.command != 'list-sources':
print(f'Unpacking {args.bootstrap_sources} to {TARBALLS}')
shutil.unpack_archive(args.bootstrap_sources.resolve(), TARBALLS, 'gztar')
@@ -415,20 +417,20 @@ def main() -> None:
# In temporary directory, create a directory which we will archive
tmpdir = TMPDIR.resolve()
tmpdir.mkdir(parents=True, exist_ok=True)
-
+
rootdir = Path(tempfile.mkdtemp(dir=tmpdir))
-
+
fetch_from_plan(plan, rootdir)
shutil.copyfile(args.deps, rootdir / 'plan-bootstrap.json')
fmt = 'gztar'
if platform.system() == 'Windows': fmt = 'zip'
-
+
archivename = shutil.make_archive(args.output, fmt, root_dir=rootdir)
print(f'Bootstrap sources saved to {archivename}')
- print(f'Use `bootstrap.py -d {args.deps} -s {archivename}` to continue')
+ print(f'Use `bootstrap.py -s {archivename}` to continue')
elif(args.command == 'list-sources'):
plan = gen_fetch_plan(info)
diff --git a/hadrian/bootstrap/generate_bootstrap_plans b/hadrian/bootstrap/generate_bootstrap_plans
index 167559aa53..54ba76b724 100755
--- a/hadrian/bootstrap/generate_bootstrap_plans
+++ b/hadrian/bootstrap/generate_bootstrap_plans
@@ -10,9 +10,6 @@ run() {
cabal run -v0 hadrian-bootstrap-gen -- "plan-$ver.json" | tee "plan-bootstrap-$ver.json"
}
-run "8_10_1"
-# run "8_10_2" Broken
-run "8_10_3"
-run "8_10_4"
-run "8_10_5"
+run "8_10_7"
run "9_0_1"
+run "9_2_1"
diff --git a/hadrian/bootstrap/plan-8_10_1.json b/hadrian/bootstrap/plan-8_10_1.json
deleted file mode 100644
index 3dd477cf8e..0000000000
--- a/hadrian/bootstrap/plan-8_10_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.0.0","pkg-name":"Cabal","pkg-version":"3.2.0.0","depends":["array-0.5.4.0","base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.8.2","text-1.2.3.2","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-3bf861496cce6d2157bfd3021c541eef02c0e69e64932316a5665fc5e4c4102f","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.0.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","splitmix-0.1.0.3-0ed9006997a5257b2ba2fca3e9619b8740b49d5b8e73c7ca7421df40f3d8ee0d","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.0.0"]},{"type":"pre-existing","id":"base-4.14.0.0","pkg-name":"base","pkg-version":"4.14.0.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.0.0","bytestring-0.10.10.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.0","pkg-name":"bytestring","pkg-version":"0.10.10.0","depends":["base-4.14.0.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-5678492e11bfb8a7d3a2b2e38d8d4c40f7d1b5d4dccfb1b05678d09b7bf1c4bd","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.0.0","clock-0.8.2-5678492e11bfb8a7d3a2b2e38d8d4c40f7d1b5d4dccfb1b05678d09b7bf1c4bd","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.8.2","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.0.0"]},{"type":"configured","id":"filepattern-0.1.2-f4bcbba4b051aa2703f4d8db7a044e2e5f0676b5a743af7564a465b04acc2fe0","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.0.0","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.1","pkg-name":"ghc-boot-th","pkg-version":"8.10.1","depends":["base-4.14.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.0.0","QuickCheck-2.14.2-3bf861496cce6d2157bfd3021c541eef02c0e69e64932316a5665fc5e4c4102f","base-4.14.0.0","bytestring-0.10.10.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-8efe84f02a56166e8783c9ec6246bc734f19a6bb93690c65f6832ed0b0afa88a","transformers-0.5.6.2","unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.0.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.3.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-ebb85f92a69df2a486999e08b7e807d9fbc4e26e25545eba46f44ce382961342","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-1b1295ec305a0a0a37f8af71db1bf3b9906d5052baa83df910e19162afe8d0af","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-24f7575c68cf18833a7af148b1da8ca04552dd81b411728aacefa32c87ac0d48","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-7c01f724a76c7ce3dad098d46b1380931a0b051eb6f623b83fdf8f7f344e10cd","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.0.0","bytestring-0.10.10.0","mtl-2.2.2","text-1.2.3.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.0.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-3f661be4f721ce92d10cbee1089ed28cba78d61cc6f3688eddf35cc825d96e95","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.0.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.8.2","pkg-name":"process","pkg-version":"1.6.8.2","depends":["base-4.14.0.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.0.0","bytestring-0.10.10.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-0ed9006997a5257b2ba2fca3e9619b8740b49d5b8e73c7ca7421df40f3d8ee0d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-46bc09b21201f84f8cfb104e58245d2d8b2af4763aada804340b8cd557beedf9","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1","filepattern-0.1.2-f4bcbba4b051aa2703f4d8db7a044e2e5f0676b5a743af7564a465b04acc2fe0","hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f","heaps-0.4-ebb85f92a69df2a486999e08b7e807d9fbc4e26e25545eba46f44ce382961342","js-dgtable-0.5.2-1b1295ec305a0a0a37f8af71db1bf3b9906d5052baa83df910e19162afe8d0af","js-flot-0.8.3-24f7575c68cf18833a7af148b1da8ca04552dd81b411728aacefa32c87ac0d48","js-jquery-3.3.1-7c01f724a76c7ce3dad098d46b1380931a0b051eb6f623b83fdf8f7f344e10cd","primitive-0.7.1.0-3f661be4f721ce92d10cbee1089ed28cba78d61cc6f3688eddf35cc825d96e95","process-1.6.8.2","random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf","utf8-string-1.0.2-2815d6173223cc0d3fa6daeb6e7e82993bf2b7b864e9ca8453a068a4ab7ffea9"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.1/shake-0.19.4-46bc09b21201f84f8cfb104e58245d2d8b2af4763aada804340b8cd557beedf9/bin/shake"},{"type":"configured","id":"shake-0.19.4-8efe84f02a56166e8783c9ec6246bc734f19a6bb93690c65f6832ed0b0afa88a","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1","filepattern-0.1.2-f4bcbba4b051aa2703f4d8db7a044e2e5f0676b5a743af7564a465b04acc2fe0","hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f","heaps-0.4-ebb85f92a69df2a486999e08b7e807d9fbc4e26e25545eba46f44ce382961342","js-dgtable-0.5.2-1b1295ec305a0a0a37f8af71db1bf3b9906d5052baa83df910e19162afe8d0af","js-flot-0.8.3-24f7575c68cf18833a7af148b1da8ca04552dd81b411728aacefa32c87ac0d48","js-jquery-3.3.1-7c01f724a76c7ce3dad098d46b1380931a0b051eb6f623b83fdf8f7f344e10cd","primitive-0.7.1.0-3f661be4f721ce92d10cbee1089ed28cba78d61cc6f3688eddf35cc825d96e95","process-1.6.8.2","random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf","utf8-string-1.0.2-2815d6173223cc0d3fa6daeb6e7e82993bf2b7b864e9ca8453a068a4ab7ffea9"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.3-0ed9006997a5257b2ba2fca3e9619b8740b49d5b8e73c7ca7421df40f3d8ee0d","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.0.0","ghc-boot-th-8.10.1","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.2","pkg-name":"text","pkg-version":"1.2.3.2","depends":["array-0.5.4.0","base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.0.0","bytestring-0.10.10.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.0.0","deepseq-1.4.4.0","hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-2815d6173223cc0d3fa6daeb6e7e82993bf2b7b864e9ca8453a068a4ab7ffea9","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.0.0","bytestring-0.10.10.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_2.json b/hadrian/bootstrap/plan-8_10_2.json
deleted file mode 100644
index dc9fff4bc1..0000000000
--- a/hadrian/bootstrap/plan-8_10_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.0.0","pkg-name":"Cabal","pkg-version":"3.2.0.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.3.2","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-4044f5a3c770279a46a4bce71f9df77e45678626f035897da04ca467e8d974da","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.1.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","splitmix-0.1.0.3-dcfd89d2a83afbc76e693b35ab28b6af92e664e5e9ca7adbee03987ab7311697","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.10.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.0","pkg-name":"bytestring","pkg-version":"0.10.10.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-ab5b6c44643ca4539e7f0278ba1ecd8a2b8b7f0c8d1a40e5b2075f360ebc9ef1","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.1.0","clock-0.8.2-ab5b6c44643ca4539e7f0278ba1ecd8a2b8b7f0c8d1a40e5b2075f360ebc9ef1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"configured","id":"filepattern-0.1.2-482fb6b9851cd3b3ea17ca0f09ae14ceb0b13f1e76d2229921f60707aabd7243","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.1.0","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.2","pkg-name":"ghc-boot-th","pkg-version":"8.10.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.2/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.0.0","QuickCheck-2.14.2-4044f5a3c770279a46a4bce71f9df77e45678626f035897da04ca467e8d974da","base-4.14.1.0","bytestring-0.10.10.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-f8cdc3e489342853f74786242c9a766272e61ed4562f4c435df2b56d21e8d3fd","transformers-0.5.6.2","unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.1.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.3.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-a7e7fc85bc63f2274cc7beeb3dca066995f9f0ffa9b8a2eb066886fb968ab7c9","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-4f088268d09c2f9647278883e5402bd984046a32e50bcf47f101c4f2dc5fafe0","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-39743a76d3bd70144281f131cefa148e8394b14de00015baaad9f2e5e7a7cb80","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-2c482b4477c7cd995d7a3b1ff5594d388a9f62830d6aba26fceadd912ccf4fd0","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.10.0","mtl-2.2.2","text-1.2.3.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-f012577575c0a83a7acb71352c37f9c2228aa22d38df742952e879128e014616","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.1.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.10.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-dcfd89d2a83afbc76e693b35ab28b6af92e664e5e9ca7adbee03987ab7311697"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-043a452e03636c533f8396bf4845a504600fbe9ae9b301a3549004d4b35e16bd","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1","filepattern-0.1.2-482fb6b9851cd3b3ea17ca0f09ae14ceb0b13f1e76d2229921f60707aabd7243","hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd","heaps-0.4-a7e7fc85bc63f2274cc7beeb3dca066995f9f0ffa9b8a2eb066886fb968ab7c9","js-dgtable-0.5.2-4f088268d09c2f9647278883e5402bd984046a32e50bcf47f101c4f2dc5fafe0","js-flot-0.8.3-39743a76d3bd70144281f131cefa148e8394b14de00015baaad9f2e5e7a7cb80","js-jquery-3.3.1-2c482b4477c7cd995d7a3b1ff5594d388a9f62830d6aba26fceadd912ccf4fd0","primitive-0.7.1.0-f012577575c0a83a7acb71352c37f9c2228aa22d38df742952e879128e014616","process-1.6.9.0","random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f","utf8-string-1.0.2-7bb4e7e8bc997282589aaaaa9ac99fb554953ac12c720494d91f57d7ff984c86"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.2/shake-0.19.4-043a452e03636c533f8396bf4845a504600fbe9ae9b301a3549004d4b35e16bd/bin/shake"},{"type":"configured","id":"shake-0.19.4-f8cdc3e489342853f74786242c9a766272e61ed4562f4c435df2b56d21e8d3fd","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1","filepattern-0.1.2-482fb6b9851cd3b3ea17ca0f09ae14ceb0b13f1e76d2229921f60707aabd7243","hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd","heaps-0.4-a7e7fc85bc63f2274cc7beeb3dca066995f9f0ffa9b8a2eb066886fb968ab7c9","js-dgtable-0.5.2-4f088268d09c2f9647278883e5402bd984046a32e50bcf47f101c4f2dc5fafe0","js-flot-0.8.3-39743a76d3bd70144281f131cefa148e8394b14de00015baaad9f2e5e7a7cb80","js-jquery-3.3.1-2c482b4477c7cd995d7a3b1ff5594d388a9f62830d6aba26fceadd912ccf4fd0","primitive-0.7.1.0-f012577575c0a83a7acb71352c37f9c2228aa22d38df742952e879128e014616","process-1.6.9.0","random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f","utf8-string-1.0.2-7bb4e7e8bc997282589aaaaa9ac99fb554953ac12c720494d91f57d7ff984c86"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.3-dcfd89d2a83afbc76e693b35ab28b6af92e664e5e9ca7adbee03987ab7311697","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.2","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.2","pkg-name":"text","pkg-version":"1.2.3.2","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.10.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.1.0","deepseq-1.4.4.0","hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-7bb4e7e8bc997282589aaaaa9ac99fb554953ac12c720494d91f57d7ff984c86","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.1.0","bytestring-0.10.10.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_3.json b/hadrian/bootstrap/plan-8_10_3.json
deleted file mode 100644
index 2cb9d47551..0000000000
--- a/hadrian/bootstrap/plan-8_10_3.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-f6f12c3f614c16e3c653247bcad2dd0dec63c03a385bbdfe3c7e047c86572d3c","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.1.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","splitmix-0.1.0.3-5263e456e3deb12ee532288e6660fa3141fb27d86848a24ef3f795b36bf28604","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-561bf41aecf0cfc291ef9b3c9a081b639a48cd32a13227a24db604f2b84abc87","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.1.0","clock-0.8.2-561bf41aecf0cfc291ef9b3c9a081b639a48cd32a13227a24db604f2b84abc87","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"configured","id":"filepattern-0.1.2-53645fcb5130018828ce8e09006a2ec9f131b6bd679725f5d2f656e0e63873b2","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.1.0","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.3","pkg-name":"ghc-boot-th","pkg-version":"8.10.3","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.3/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-f6f12c3f614c16e3c653247bcad2dd0dec63c03a385bbdfe3c7e047c86572d3c","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-154a036f7fabd1afe2433f6b01fc055bc27b8bf12b4b54274f96d9d7f95c45af","transformers-0.5.6.2","unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-a2b06a7095349a383c9c422287d4b54d3b349d39442bf720c0dd32927a806724","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-77d91e31d290a2be1a0b48b51eda2c33a04d51bdeed64d2341bbee2db7f93554","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-e6f42e02763ad88995e377c2665c6d778eb08c83c2c1fdd7a8a1a343bebd41f1","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-feca31846e8a0af2c70634e7e82c203a09152383c65737988599200ffd674215","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-b64578c3e3db8528a2409db30cbec8c49a4e78bf70f136b4f273606555288293","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.1.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-5263e456e3deb12ee532288e6660fa3141fb27d86848a24ef3f795b36bf28604"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-154a036f7fabd1afe2433f6b01fc055bc27b8bf12b4b54274f96d9d7f95c45af","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1","filepattern-0.1.2-53645fcb5130018828ce8e09006a2ec9f131b6bd679725f5d2f656e0e63873b2","hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a","heaps-0.4-a2b06a7095349a383c9c422287d4b54d3b349d39442bf720c0dd32927a806724","js-dgtable-0.5.2-77d91e31d290a2be1a0b48b51eda2c33a04d51bdeed64d2341bbee2db7f93554","js-flot-0.8.3-e6f42e02763ad88995e377c2665c6d778eb08c83c2c1fdd7a8a1a343bebd41f1","js-jquery-3.3.1-feca31846e8a0af2c70634e7e82c203a09152383c65737988599200ffd674215","primitive-0.7.1.0-b64578c3e3db8528a2409db30cbec8c49a4e78bf70f136b4f273606555288293","process-1.6.9.0","random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d","utf8-string-1.0.2-726aff700d8b8562f31c2e2566ac8ba43b365bb48cb8c60dfa098430e9a88f18"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-e592095104d8d10af7c8c638222a4f572e4aa0d8571c63bad3429dfd672ef529","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1","filepattern-0.1.2-53645fcb5130018828ce8e09006a2ec9f131b6bd679725f5d2f656e0e63873b2","hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a","heaps-0.4-a2b06a7095349a383c9c422287d4b54d3b349d39442bf720c0dd32927a806724","js-dgtable-0.5.2-77d91e31d290a2be1a0b48b51eda2c33a04d51bdeed64d2341bbee2db7f93554","js-flot-0.8.3-e6f42e02763ad88995e377c2665c6d778eb08c83c2c1fdd7a8a1a343bebd41f1","js-jquery-3.3.1-feca31846e8a0af2c70634e7e82c203a09152383c65737988599200ffd674215","primitive-0.7.1.0-b64578c3e3db8528a2409db30cbec8c49a4e78bf70f136b4f273606555288293","process-1.6.9.0","random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d","utf8-string-1.0.2-726aff700d8b8562f31c2e2566ac8ba43b365bb48cb8c60dfa098430e9a88f18"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.3/shake-0.19.4-e592095104d8d10af7c8c638222a4f572e4aa0d8571c63bad3429dfd672ef529/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-5263e456e3deb12ee532288e6660fa3141fb27d86848a24ef3f795b36bf28604","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.3","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.1.0","deepseq-1.4.4.0","hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-726aff700d8b8562f31c2e2566ac8ba43b365bb48cb8c60dfa098430e9a88f18","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_4.json b/hadrian/bootstrap/plan-8_10_4.json
deleted file mode 100644
index 7babd506d7..0000000000
--- a/hadrian/bootstrap/plan-8_10_4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-1ff9bae85831dc0b6952a57b65e5655191418d456f323fac5ce787579a76b0b0","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.1.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-6b0474766238ffdedd4e520e87f3571bf523807bb3d02cc63bbe924ea35d10f6","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.1.0","clock-0.8.2-6b0474766238ffdedd4e520e87f3571bf523807bb3d02cc63bbe924ea35d10f6","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"configured","id":"filepattern-0.1.2-69fbc6cf5d277e8ff5f9dd390a3c76533614ff0e9a59297a9261364699bbb5f1","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.1.0","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.4","pkg-name":"ghc-boot-th","pkg-version":"8.10.4","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-1ff9bae85831dc0b6952a57b65e5655191418d456f323fac5ce787579a76b0b0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-20c6545ab58e09240e1fa246d8fa870a38f1b3f44de1e37fd2fd5ff0f6f94849","transformers-0.5.6.2","unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-90d3dc4ea8620bd8dbd6e0136cc3ba2daca5664d7545551c36ebb2df08315abb","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-31820cf9d5c13023e6017c25e0c81ec87aab55cf480ef8f5062f450bfa2fd177","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-0977c020259684c26ba34ee6fd3a18fcf317a60de826c6e599f86cd58a8d7a24","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-651422bf85670942e80cb1dd65e886868e288fcd18a389b9f0ae2d5b97672daf","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-57016f0038ed9bc68ae4ba8a0bf5334da1a65f93f4331980931e581cdbba846c","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.1.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-20c6545ab58e09240e1fa246d8fa870a38f1b3f44de1e37fd2fd5ff0f6f94849","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1","filepattern-0.1.2-69fbc6cf5d277e8ff5f9dd390a3c76533614ff0e9a59297a9261364699bbb5f1","hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb","heaps-0.4-90d3dc4ea8620bd8dbd6e0136cc3ba2daca5664d7545551c36ebb2df08315abb","js-dgtable-0.5.2-31820cf9d5c13023e6017c25e0c81ec87aab55cf480ef8f5062f450bfa2fd177","js-flot-0.8.3-0977c020259684c26ba34ee6fd3a18fcf317a60de826c6e599f86cd58a8d7a24","js-jquery-3.3.1-651422bf85670942e80cb1dd65e886868e288fcd18a389b9f0ae2d5b97672daf","primitive-0.7.1.0-57016f0038ed9bc68ae4ba8a0bf5334da1a65f93f4331980931e581cdbba846c","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77","utf8-string-1.0.2-57fac2057b6823357928c7f7eaed369df519e527346522b28830a792a7e4423e"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-ae5ec51b1b7f2b7cb1e6cd8d971dc36c890ce50e50ac0a990b9e62f777583125","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1","filepattern-0.1.2-69fbc6cf5d277e8ff5f9dd390a3c76533614ff0e9a59297a9261364699bbb5f1","hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb","heaps-0.4-90d3dc4ea8620bd8dbd6e0136cc3ba2daca5664d7545551c36ebb2df08315abb","js-dgtable-0.5.2-31820cf9d5c13023e6017c25e0c81ec87aab55cf480ef8f5062f450bfa2fd177","js-flot-0.8.3-0977c020259684c26ba34ee6fd3a18fcf317a60de826c6e599f86cd58a8d7a24","js-jquery-3.3.1-651422bf85670942e80cb1dd65e886868e288fcd18a389b9f0ae2d5b97672daf","primitive-0.7.1.0-57016f0038ed9bc68ae4ba8a0bf5334da1a65f93f4331980931e581cdbba846c","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77","utf8-string-1.0.2-57fac2057b6823357928c7f7eaed369df519e527346522b28830a792a7e4423e"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.4/shake-0.19.4-ae5ec51b1b7f2b7cb1e6cd8d971dc36c890ce50e50ac0a990b9e62f777583125/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.4","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.1.0","deepseq-1.4.4.0","hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-57fac2057b6823357928c7f7eaed369df519e527346522b28830a792a7e4423e","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_5.json b/hadrian/bootstrap/plan-8_10_5.json
deleted file mode 100644
index b8002cbb76..0000000000
--- a/hadrian/bootstrap/plan-8_10_5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.5","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.4.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-3c87942fc5929dee6aa51ecc936079cd95dd7d471fde77d64ac4579578541913","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.2.0","containers-0.6.4.1","deepseq-1.4.4.0","random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","splitmix-0.1.0.3-c3b36566ac6fe5013261bb6b4e50474d306e4a9838c78dd76bfe3359275b09f1","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.2.0"]},{"type":"pre-existing","id":"base-4.14.2.0","pkg-name":"base","pkg-version":"4.14.2.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.2.0","bytestring-0.10.12.0","containers-0.6.4.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.2.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-55a22a153f26cf53b6b654282e8c15f783ef2b53faacc8360d4c491d4e07409a","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.4.1","pkg-name":"containers","pkg-version":"0.6.4.1","depends":["array-0.5.4.0","base-4.14.2.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.2.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.2.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.2.0","clock-0.8.2-55a22a153f26cf53b6b654282e8c15f783ef2b53faacc8360d4c491d4e07409a","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.2.0"]},{"type":"configured","id":"filepattern-0.1.2-b4cad4464f1df6bd2c46516feb4704875ca9ff08d048b2c98426a9455152d297","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.2.0","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.5","pkg-name":"ghc-boot-th","pkg-version":"8.10.5","depends":["base-4.14.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-3c87942fc5929dee6aa51ecc936079cd95dd7d471fde77d64ac4579578541913","base-4.14.2.0","bytestring-0.10.12.0","containers-0.6.4.1","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-e21a01342ca240404369c44846f296e31657c42fed14a4428dc585df7f46d91c","transformers-0.5.6.2","unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.2.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-bc3cd4eac5ca091f62c7945101f6ecdd6fe44a077745e2ead12dd6b9d52ab6bc","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-7db9737be07ccec17708b5ca1b40401ce1090735eb90ba973558d26060497844","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-8878a9bacfa61fc94b6d648168d753a135d51d736c0a2009340ea368ddbb83f4","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-ed9d83375b124b49d06e3787af95cad66ab1ca9d1b374e8fa3e0b8b9ca368258","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.2.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.2.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.2.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-df7304295e6acb489b482bd664f64a1c3559a7f8db0b27cc58d442850043cbeb","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.2.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.2.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.2.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-c3b36566ac6fe5013261bb6b4e50474d306e4a9838c78dd76bfe3359275b09f1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"shake-0.19.4-92e4d38ca4821d6fa5e820c36603f31e84450b23dd3dc59b1072cc1cde8d7590","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1","filepattern-0.1.2-b4cad4464f1df6bd2c46516feb4704875ca9ff08d048b2c98426a9455152d297","hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256","heaps-0.4-bc3cd4eac5ca091f62c7945101f6ecdd6fe44a077745e2ead12dd6b9d52ab6bc","js-dgtable-0.5.2-7db9737be07ccec17708b5ca1b40401ce1090735eb90ba973558d26060497844","js-flot-0.8.3-8878a9bacfa61fc94b6d648168d753a135d51d736c0a2009340ea368ddbb83f4","js-jquery-3.3.1-ed9d83375b124b49d06e3787af95cad66ab1ca9d1b374e8fa3e0b8b9ca368258","primitive-0.7.1.0-df7304295e6acb489b482bd664f64a1c3559a7f8db0b27cc58d442850043cbeb","process-1.6.9.0","random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357","utf8-string-1.0.2-b29a25454cb19836e8343db96d90d2832e49fbc0bc91247893aa677d97ddb24e"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.5/shake-0.19.4-92e4d38ca4821d6fa5e820c36603f31e84450b23dd3dc59b1072cc1cde8d7590/bin/shake"},{"type":"configured","id":"shake-0.19.4-e21a01342ca240404369c44846f296e31657c42fed14a4428dc585df7f46d91c","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1","filepattern-0.1.2-b4cad4464f1df6bd2c46516feb4704875ca9ff08d048b2c98426a9455152d297","hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256","heaps-0.4-bc3cd4eac5ca091f62c7945101f6ecdd6fe44a077745e2ead12dd6b9d52ab6bc","js-dgtable-0.5.2-7db9737be07ccec17708b5ca1b40401ce1090735eb90ba973558d26060497844","js-flot-0.8.3-8878a9bacfa61fc94b6d648168d753a135d51d736c0a2009340ea368ddbb83f4","js-jquery-3.3.1-ed9d83375b124b49d06e3787af95cad66ab1ca9d1b374e8fa3e0b8b9ca368258","primitive-0.7.1.0-df7304295e6acb489b482bd664f64a1c3559a7f8db0b27cc58d442850043cbeb","process-1.6.9.0","random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357","utf8-string-1.0.2-b29a25454cb19836e8343db96d90d2832e49fbc0bc91247893aa677d97ddb24e"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.3-c3b36566ac6fe5013261bb6b4e50474d306e4a9838c78dd76bfe3359275b09f1","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.2.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.2.0","ghc-boot-th-8.10.5","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.2.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.2.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.2.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.2.0","deepseq-1.4.4.0","hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-b29a25454cb19836e8343db96d90d2832e49fbc0bc91247893aa677d97ddb24e","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.2.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_7.json b/hadrian/bootstrap/plan-8_10_7.json
index da1a970d1c..3a793c3c8f 100644
--- a/hadrian/bootstrap/plan-8_10_7.json
+++ b/hadrian/bootstrap/plan-8_10_7.json
@@ -1 +1 @@
-{"cabal-version":"3.6.0.0","cabal-lib-version":"3.6.1.0","compiler-id":"ghc-8.10.7","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-1ab4fade23a39bdfa4bc08a060cf2ab9229069e612057481b6330cd9a452d0a7","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.3.0","containers-0.6.5.1","deepseq-1.4.4.0","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"base-4.14.3.0","pkg-name":"base","pkg-version":"4.14.3.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-d0dc2384503c95726509e70e7531bd527ee2a618757ad555267b66af6639fd46","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.3.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.3.0","clock-0.8.2-d0dc2384503c95726509e70e7531bd527ee2a618757ad555267b66af6639fd46","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.13.2","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.3.0"]},{"type":"configured","id":"filepattern-0.1.2-6cea41cc4733b58a07fd91659973df5fe1833632c32faf1ff101197c1a17cdbf","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.3.0","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.7","pkg-name":"ghc-boot-th","pkg-version":"8.10.7","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/zubin/ghcs/hadrian/hadrian/."},"dist-dir":"/home/zubin/ghcs/hadrian/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-1ab4fade23a39bdfa4bc08a060cf2ab9229069e612057481b6330cd9a452d0a7","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-1b5ee53f982f6a7a27ff48f4dd3394ec132b4a5f7bc220b8ff9a2f4c53696f15","transformers-0.5.6.2","unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/zubin/ghcs/hadrian/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.3.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-24e5fe46f21fa909242c62c01a9dc73651664fea156afd47a7a236612e5bff26","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.3.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"shake-0.19.4-1b5ee53f982f6a7a27ff48f4dd3394ec132b4a5f7bc220b8ff9a2f4c53696f15","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1","filepattern-0.1.2-6cea41cc4733b58a07fd91659973df5fe1833632c32faf1ff101197c1a17cdbf","hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657","heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","primitive-0.7.1.0-24e5fe46f21fa909242c62c01a9dc73651664fea156afd47a7a236612e5bff26","process-1.6.13.2","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945","utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-e-shake-bb8241813adf3bcaf65a8bb63b7d51a0c2b766952b74366c02ac48e6628adc8b","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1","filepattern-0.1.2-6cea41cc4733b58a07fd91659973df5fe1833632c32faf1ff101197c1a17cdbf","hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657","heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","primitive-0.7.1.0-24e5fe46f21fa909242c62c01a9dc73651664fea156afd47a7a236612e5bff26","process-1.6.13.2","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945","utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/zubin/.cabal/store/ghc-8.10.7/shake-0.19.4-e-shake-bb8241813adf3bcaf65a8bb63b7d51a0c2b766952b74366c02ac48e6628adc8b/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.3.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.3.0","ghc-boot-th-8.10.7","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.3.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.3.0","deepseq-1.4.4.0","hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-8.10.7","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-reinstallable/hadrian/../libraries/Cabal/Cabal"},"dist-dir":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/Cabal-3.7.0.0/noopt","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"QuickCheck-2.14.2-a4039abb5c2bf61956f8dce1084c880ba597c6b14935be0ae502da628dbe9111","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.3.0","containers-0.6.5.1","deepseq-1.4.4.0","random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821","splitmix-0.1.0.4-ecf05af7ba88b161057dd38db998065e9449310e23cbacac97d6a6e83c32b8d5","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"base-4.14.3.0","pkg-name":"base","pkg-version":"4.14.3.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base-orphans-0.8.6-fbd06cc0f1e87751970cf003b25e5b10dcf4c218931f51ed808354965075c26c","pkg-name":"base-orphans","pkg-version":"0.8.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"eb6758d0160d607e0c45dbd6b196f515b9a589fd4f6d2f926929dd5d56282d37","pkg-src-sha256":"20a21c4b7adb0fd844b25e196241467406a28286b021f9b7a082ab03fa8015eb","depends":["base-4.14.3.0","ghc-prim-0.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-d0dc2384503c95726509e70e7531bd527ee2a618757ad555267b66af6639fd46","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.3.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.10-c4bed277945e2fdf43db464a5e881a3a8d6978d492c785151a1d98a70adb848f","pkg-name":"extra","pkg-version":"1.7.10","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","pkg-src-sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","depends":["base-4.14.3.0","clock-0.8.2-d0dc2384503c95726509e70e7531bd527ee2a618757ad555267b66af6639fd46","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.13.2","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.3.0"]},{"type":"configured","id":"filepattern-0.1.2-82238a0ce752c2045975f2aa175583a197392d9d325d5876c2b25073177e7fee","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.3.0","directory-1.3.6.0","extra-1.7.10-c4bed277945e2fdf43db464a5e881a3a8d6978d492c785151a1d98a70adb848f","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.7","pkg-name":"ghc-boot-th","pkg-version":"8.10.7","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-reinstallable/hadrian/."},"dist-dir":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.7.0.0-inplace","QuickCheck-2.14.2-a4039abb5c2bf61956f8dce1084c880ba597c6b14935be0ae502da628dbe9111","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","directory-1.3.6.0","extra-1.7.10-c4bed277945e2fdf43db464a5e881a3a8d6978d492c785151a1d98a70adb848f","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.6-576ad0fced9c674bfff23772afdeb780c35f77d3ce7941f4ce60ae5ec1ea8de6","transformers-0.5.6.2","unordered-containers-0.2.16.0-a7041d87e3cb749e088ff29ec9fbd95b756b54389b8485119e07a2b3d9677cb9"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.0.2-9037a870cd684c1664a4aa6d0f4a81de6c3adf5b6c5392b3b5f5ed98e68662db","pkg-name":"hashable","pkg-version":"1.4.0.2","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","pkg-src-sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","depends":["base-4.14.3.0","base-orphans-0.8.6-fbd06cc0f1e87751970cf003b25e5b10dcf4c218931f51ed808354965075c26c","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.3.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.3.0-ca993c0684c5b48074dd2590184c6f06667d73290dfde50301aed62da070af56","pkg-name":"primitive","pkg-version":"0.7.3.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","pkg-src-sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","depends":["base-4.14.3.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.4-ecf05af7ba88b161057dd38db998065e9449310e23cbacac97d6a6e83c32b8d5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"shake-0.19.6-576ad0fced9c674bfff23772afdeb780c35f77d3ce7941f4ce60ae5ec1ea8de6","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.10-c4bed277945e2fdf43db464a5e881a3a8d6978d492c785151a1d98a70adb848f","filepath-1.4.2.1","filepattern-0.1.2-82238a0ce752c2045975f2aa175583a197392d9d325d5876c2b25073177e7fee","hashable-1.4.0.2-9037a870cd684c1664a4aa6d0f4a81de6c3adf5b6c5392b3b5f5ed98e68662db","heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","primitive-0.7.3.0-ca993c0684c5b48074dd2590184c6f06667d73290dfde50301aed62da070af56","process-1.6.13.2","random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.16.0-a7041d87e3cb749e088ff29ec9fbd95b756b54389b8485119e07a2b3d9677cb9","utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-903fb9fb7b20d72e3569d671c95630a2480366200d3bb265e85cb5fa6e02b544","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.10-c4bed277945e2fdf43db464a5e881a3a8d6978d492c785151a1d98a70adb848f","filepath-1.4.2.1","filepattern-0.1.2-82238a0ce752c2045975f2aa175583a197392d9d325d5876c2b25073177e7fee","hashable-1.4.0.2-9037a870cd684c1664a4aa6d0f4a81de6c3adf5b6c5392b3b5f5ed98e68662db","heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","primitive-0.7.3.0-ca993c0684c5b48074dd2590184c6f06667d73290dfde50301aed62da070af56","process-1.6.13.2","random-1.2.1-9241b7d4b7bedafddc08af1f75ab0cf10f6509e30a6ca9372df2a6af5d56c821","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.16.0-a7041d87e3cb749e088ff29ec9fbd95b756b54389b8485119e07a2b3d9677cb9","utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.7/shake-0.19.6-e-shake-903fb9fb7b20d72e3569d671c95630a2480366200d3bb265e85cb5fa6e02b544/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-ecf05af7ba88b161057dd38db998065e9449310e23cbacac97d6a6e83c32b8d5","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.14.3.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.3.0","ghc-boot-th-8.10.7","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.3.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.16.0-a7041d87e3cb749e088ff29ec9fbd95b756b54389b8485119e07a2b3d9677cb9","pkg-name":"unordered-containers","pkg-version":"0.2.16.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"859ec9a017e51194755cb8a445b767afc5ce0ac991cd50b0f96abd31b3687aab","pkg-src-sha256":"bccf68bcf262a149e8cdb25bc4a87d59642faa772ec4db384e16ac8f4f3f49ef","depends":["base-4.14.3.0","deepseq-1.4.4.0","hashable-1.4.0.2-9037a870cd684c1664a4aa6d0f4a81de6c3adf5b6c5392b3b5f5ed98e68662db"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_0_1.json b/hadrian/bootstrap/plan-9_0_1.json
index ef3fd63776..c0a7950d91 100644
--- a/hadrian/bootstrap/plan-9_0_1.json
+++ b/hadrian/bootstrap/plan-9_0_1.json
@@ -1 +1 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-9.0.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.4.0.0","pkg-name":"Cabal","pkg-version":"3.4.0.0","depends":["array-0.5.4.0","base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","containers-0.6.4.1","deepseq-1.4.5.0","directory-1.3.6.1","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.11.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-1a5ced7bda7b07a7fbcf3b2c9a631d6d6d6f31b01674e1cf2aa430001b83e69e","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.15.0.0","containers-0.6.4.1","deepseq-1.4.5.0","random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","splitmix-0.1.0.3-cc5e2af2f495a04fe592d927ff5c9ccab99979d46d7e1a1c79f457dc2efcf613","template-haskell-2.17.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"base-4.15.0.0","pkg-name":"base","pkg-version":"4.15.0.0","depends":["ghc-bignum-1.0","ghc-prim-0.7.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.15.0.0","bytestring-0.10.12.1","containers-0.6.4.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.1","pkg-name":"bytestring","pkg-version":"0.10.12.1","depends":["base-4.15.0.0","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0"]},{"type":"configured","id":"clock-0.8.2-94d35da6efced15094e29084a5f451e0789b94c07444085b3e66bf357595f6a7","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.4.1","pkg-name":"containers","pkg-version":"0.6.4.1","depends":["array-0.5.4.0","base-4.15.0.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"deepseq-1.4.5.0","pkg-name":"deepseq","pkg-version":"1.4.5.0","depends":["array-0.5.4.0","base-4.15.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.1","pkg-name":"directory","pkg-version":"1.3.6.1","depends":["base-4.15.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.15.0.0","clock-0.8.2-94d35da6efced15094e29084a5f451e0789b94c07444085b3e66bf357595f6a7","directory-1.3.6.1","filepath-1.4.2.1","process-1.6.11.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.15.0.0"]},{"type":"configured","id":"filepattern-0.1.2-e1a604f2fb037766dd8dedcdf4412a1060873283818f5babf6c842fcef309004","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.15.0.0","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.0","pkg-name":"ghc-bignum","pkg-version":"1.0","depends":["ghc-prim-0.7.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.0.1","pkg-name":"ghc-boot-th","pkg-version":"9.0.1","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.7.0","pkg-name":"ghc-prim","pkg-version":"0.7.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.4.0.0","QuickCheck-2.14.2-1a5ced7bda7b07a7fbcf3b2c9a631d6d6d6f31b01674e1cf2aa430001b83e69e","base-4.15.0.0","bytestring-0.10.12.1","containers-0.6.4.1","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-14804ff74b1678b050130a6b940d7752bedd32673aae21cd5eae957bb9cfee11","transformers-0.5.6.2","unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.15.0.0","bytestring-0.10.12.1","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.15.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.15.0.0","bytestring-0.10.12.1","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.15.0.0","deepseq-1.4.5.0","ghc-prim-0.7.0"]},{"type":"configured","id":"primitive-0.7.1.0-f003beddf0fc9d04aaf34af7ddb2d21771469f6e4225ce5a793266b89bfbb923","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.15.0.0","deepseq-1.4.5.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.11.0","pkg-name":"process","pkg-version":"1.6.11.0","depends":["base-4.15.0.0","deepseq-1.4.5.0","directory-1.3.6.1","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.15.0.0","bytestring-0.10.12.1","deepseq-1.4.5.0","mtl-2.2.2","splitmix-0.1.0.3-cc5e2af2f495a04fe592d927ff5c9ccab99979d46d7e1a1c79f457dc2efcf613"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-14804ff74b1678b050130a6b940d7752bedd32673aae21cd5eae957bb9cfee11","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1","filepattern-0.1.2-e1a604f2fb037766dd8dedcdf4412a1060873283818f5babf6c842fcef309004","hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23","heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","primitive-0.7.1.0-f003beddf0fc9d04aaf34af7ddb2d21771469f6e4225ce5a793266b89bfbb923","process-1.6.11.0","random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86","utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-63dd3995f97dd9418e130cf69737e0a0b507ae692b3f4e4f682434074d6a498c","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1","filepattern-0.1.2-e1a604f2fb037766dd8dedcdf4412a1060873283818f5babf6c842fcef309004","hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23","heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","primitive-0.7.1.0-f003beddf0fc9d04aaf34af7ddb2d21771469f6e4225ce5a793266b89bfbb923","process-1.6.11.0","random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86","utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.0.1/shake-0.19.4-63dd3995f97dd9418e130cf69737e0a0b507ae692b3f4e4f682434074d6a498c/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-cc5e2af2f495a04fe592d927ff5c9ccab99979d46d7e1a1c79f457dc2efcf613","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.15.0.0","deepseq-1.4.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.17.0.0","pkg-name":"template-haskell","pkg-version":"2.17.0.0","depends":["base-4.15.0.0","ghc-boot-th-9.0.1","ghc-prim-0.7.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0","template-haskell-2.17.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.15.0.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.15.0.0","bytestring-0.10.12.1","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.15.0.0","deepseq-1.4.5.0","hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.15.0.0","bytestring-0.10.12.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-9.0.1","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-reinstallable/hadrian/../libraries/Cabal/Cabal"},"dist-dir":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/Cabal-3.7.0.0/noopt","depends":["array-0.5.4.0","base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","containers-0.6.4.1","deepseq-1.4.5.0","directory-1.3.6.1","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.11.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"QuickCheck-2.14.2-5867da1c1703b042190ee0264441e81515695e1f7e16eabe6cd32c8c60f13230","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.15.0.0","containers-0.6.4.1","deepseq-1.4.5.0","random-1.2.1-83afc786931e650bede225e0e2f95ec5340cacc39be2b217982950a8b2f890f4","splitmix-0.1.0.4-66daed7f1e0e04cc57ca0495ce47c4628e8f9a07bfd681b38a6e8013386f24a3","template-haskell-2.17.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"base-4.15.0.0","pkg-name":"base","pkg-version":"4.15.0.0","depends":["ghc-bignum-1.0","ghc-prim-0.7.0","rts"]},{"type":"configured","id":"base-orphans-0.8.6-cc3e720504d4b307a166787a8b8d01ddf554c780324f79434fd6a931dd93a6ed","pkg-name":"base-orphans","pkg-version":"0.8.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"eb6758d0160d607e0c45dbd6b196f515b9a589fd4f6d2f926929dd5d56282d37","pkg-src-sha256":"20a21c4b7adb0fd844b25e196241467406a28286b021f9b7a082ab03fa8015eb","depends":["base-4.15.0.0","ghc-prim-0.7.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.15.0.0","bytestring-0.10.12.1","containers-0.6.4.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.1","pkg-name":"bytestring","pkg-version":"0.10.12.1","depends":["base-4.15.0.0","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0"]},{"type":"configured","id":"clock-0.8.2-94d35da6efced15094e29084a5f451e0789b94c07444085b3e66bf357595f6a7","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.4.1","pkg-name":"containers","pkg-version":"0.6.4.1","depends":["array-0.5.4.0","base-4.15.0.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"deepseq-1.4.5.0","pkg-name":"deepseq","pkg-version":"1.4.5.0","depends":["array-0.5.4.0","base-4.15.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.1","pkg-name":"directory","pkg-version":"1.3.6.1","depends":["base-4.15.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.10-ee1b6ebb2a1b0eca5a16ddafd6f3de8f1957e5e63e4792566fc1e945c04a9a4e","pkg-name":"extra","pkg-version":"1.7.10","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","pkg-src-sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","depends":["base-4.15.0.0","clock-0.8.2-94d35da6efced15094e29084a5f451e0789b94c07444085b3e66bf357595f6a7","directory-1.3.6.1","filepath-1.4.2.1","process-1.6.11.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.15.0.0"]},{"type":"configured","id":"filepattern-0.1.2-a83e3357361d508afad289c3b3d02e589bad93ea9d3a6b950420bb8a986aee7a","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.15.0.0","directory-1.3.6.1","extra-1.7.10-ee1b6ebb2a1b0eca5a16ddafd6f3de8f1957e5e63e4792566fc1e945c04a9a4e","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.0","pkg-name":"ghc-bignum","pkg-version":"1.0","depends":["ghc-prim-0.7.0"]},{"type":"configured","id":"ghc-bignum-orphans-0.1.1-6e36ec115cbc0d92f3721eb7e3f0e7499b814aa6be748cf57a6bb4d82c80773f","pkg-name":"ghc-bignum-orphans","pkg-version":"0.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4f6dfb2a191dd3068c2915ba96a1ab3c4b78b4b4e57186698b9ab42007bfa926","pkg-src-sha256":"a4c617c7b90288ba3e24c67633f99e97e11c2367686463b8884d2cd3591241db","depends":["base-4.15.0.0","ghc-bignum-1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-9.0.1","pkg-name":"ghc-boot-th","pkg-version":"9.0.1","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.7.0","pkg-name":"ghc-prim","pkg-version":"0.7.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-reinstallable/hadrian/."},"dist-dir":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.7.0.0-inplace","QuickCheck-2.14.2-5867da1c1703b042190ee0264441e81515695e1f7e16eabe6cd32c8c60f13230","base-4.15.0.0","bytestring-0.10.12.1","containers-0.6.4.1","directory-1.3.6.1","extra-1.7.10-ee1b6ebb2a1b0eca5a16ddafd6f3de8f1957e5e63e4792566fc1e945c04a9a4e","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.6-b836f8baf08441467e421d8d9f87067825dbfccc10cf328b2a06063737c4823d","transformers-0.5.6.2","unordered-containers-0.2.16.0-ab7469dce2f1811027422aaf395365fb88a0075be5d9354234e01f8828871a1c"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.0.2-f5de2f3354767f705cac0869a5e3f1ff7c071c8ca8f5b230d9dd877ab9c5e768","pkg-name":"hashable","pkg-version":"1.4.0.2","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","pkg-src-sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","depends":["base-4.15.0.0","base-orphans-0.8.6-cc3e720504d4b307a166787a8b8d01ddf554c780324f79434fd6a931dd93a6ed","bytestring-0.10.12.1","containers-0.6.4.1","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-bignum-orphans-0.1.1-6e36ec115cbc0d92f3721eb7e3f0e7499b814aa6be748cf57a6bb4d82c80773f","ghc-prim-0.7.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.15.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.15.0.0","bytestring-0.10.12.1","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.15.0.0","deepseq-1.4.5.0","ghc-prim-0.7.0"]},{"type":"configured","id":"primitive-0.7.3.0-f0cc3c6b34f687f90fb493909e3fc4d15f420a2cdc5751c658c7a3a7b0ac5cdd","pkg-name":"primitive","pkg-version":"0.7.3.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","pkg-src-sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","depends":["base-4.15.0.0","deepseq-1.4.5.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.11.0","pkg-name":"process","pkg-version":"1.6.11.0","depends":["base-4.15.0.0","deepseq-1.4.5.0","directory-1.3.6.1","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-83afc786931e650bede225e0e2f95ec5340cacc39be2b217982950a8b2f890f4","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.15.0.0","bytestring-0.10.12.1","deepseq-1.4.5.0","mtl-2.2.2","splitmix-0.1.0.4-66daed7f1e0e04cc57ca0495ce47c4628e8f9a07bfd681b38a6e8013386f24a3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.6-b836f8baf08441467e421d8d9f87067825dbfccc10cf328b2a06063737c4823d","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.1","extra-1.7.10-ee1b6ebb2a1b0eca5a16ddafd6f3de8f1957e5e63e4792566fc1e945c04a9a4e","filepath-1.4.2.1","filepattern-0.1.2-a83e3357361d508afad289c3b3d02e589bad93ea9d3a6b950420bb8a986aee7a","hashable-1.4.0.2-f5de2f3354767f705cac0869a5e3f1ff7c071c8ca8f5b230d9dd877ab9c5e768","heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","primitive-0.7.3.0-f0cc3c6b34f687f90fb493909e3fc4d15f420a2cdc5751c658c7a3a7b0ac5cdd","process-1.6.11.0","random-1.2.1-83afc786931e650bede225e0e2f95ec5340cacc39be2b217982950a8b2f890f4","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.16.0-ab7469dce2f1811027422aaf395365fb88a0075be5d9354234e01f8828871a1c","utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-1892d11e16a238d2fed1f3c0740184ba36ccdcfe899b3f7d96fa070b1a21dd50","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.1","extra-1.7.10-ee1b6ebb2a1b0eca5a16ddafd6f3de8f1957e5e63e4792566fc1e945c04a9a4e","filepath-1.4.2.1","filepattern-0.1.2-a83e3357361d508afad289c3b3d02e589bad93ea9d3a6b950420bb8a986aee7a","hashable-1.4.0.2-f5de2f3354767f705cac0869a5e3f1ff7c071c8ca8f5b230d9dd877ab9c5e768","heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","primitive-0.7.3.0-f0cc3c6b34f687f90fb493909e3fc4d15f420a2cdc5751c658c7a3a7b0ac5cdd","process-1.6.11.0","random-1.2.1-83afc786931e650bede225e0e2f95ec5340cacc39be2b217982950a8b2f890f4","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.16.0-ab7469dce2f1811027422aaf395365fb88a0075be5d9354234e01f8828871a1c","utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.0.1/shake-0.19.6-e-shake-1892d11e16a238d2fed1f3c0740184ba36ccdcfe899b3f7d96fa070b1a21dd50/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-66daed7f1e0e04cc57ca0495ce47c4628e8f9a07bfd681b38a6e8013386f24a3","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.15.0.0","deepseq-1.4.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.17.0.0","pkg-name":"template-haskell","pkg-version":"2.17.0.0","depends":["base-4.15.0.0","ghc-boot-th-9.0.1","ghc-prim-0.7.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0","template-haskell-2.17.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.15.0.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.15.0.0","bytestring-0.10.12.1","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.16.0-ab7469dce2f1811027422aaf395365fb88a0075be5d9354234e01f8828871a1c","pkg-name":"unordered-containers","pkg-version":"0.2.16.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"859ec9a017e51194755cb8a445b767afc5ce0ac991cd50b0f96abd31b3687aab","pkg-src-sha256":"bccf68bcf262a149e8cdb25bc4a87d59642faa772ec4db384e16ac8f4f3f49ef","depends":["base-4.15.0.0","deepseq-1.4.5.0","hashable-1.4.0.2-f5de2f3354767f705cac0869a5e3f1ff7c071c8ca8f5b230d9dd877ab9c5e768"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.15.0.0","bytestring-0.10.12.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_2_1.json b/hadrian/bootstrap/plan-9_2_1.json
new file mode 100644
index 0000000000..201cf23446
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_2_1.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-9.2.1","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-reinstallable/hadrian/../libraries/Cabal/Cabal"},"dist-dir":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.1/Cabal-3.7.0.0/noopt","depends":["array-0.5.4.0","base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","containers-0.6.5.1","deepseq-1.4.6.0","directory-1.3.6.2","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"QuickCheck-2.14.2-f6098e1aa48dbd8f116f91fea27279a3e78ca5837ed0d49fb783ffbf72ba72d3","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.0.0","containers-0.6.5.1","deepseq-1.4.6.0","random-1.2.1-417e840d670fc961331dfe74106008e734ea61b1c866586e9cbbb0b196ba97f2","splitmix-0.1.0.4-6e4cb959752030596da42aa487811cf8f2f8d97e77e5b86f7c0286b176af5a9e","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.0.0"]},{"type":"pre-existing","id":"base-4.16.0.0","pkg-name":"base","pkg-version":"4.16.0.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.0.0","bytestring-0.11.1.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.1.0","pkg-name":"bytestring","pkg-version":"0.11.1.0","depends":["base-4.16.0.0","deepseq-1.4.6.0","ghc-bignum-1.2","ghc-prim-0.8.0"]},{"type":"configured","id":"clock-0.8.2-3807a18e9e92be35d466530caf0b1cfdc2225b27f24d803acdb4b20e1fb49ecb","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.0.0","deepseq-1.4.6.0"]},{"type":"pre-existing","id":"deepseq-1.4.6.0","pkg-name":"deepseq","pkg-version":"1.4.6.0","depends":["array-0.5.4.0","base-4.16.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.0.0","filepath-1.4.2.1","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.10-fd7264f28b2474b628587c42c644d010cf9414db51745cf9c2cecc181be281f5","pkg-name":"extra","pkg-version":"1.7.10","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","pkg-src-sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","depends":["base-4.16.0.0","clock-0.8.2-3807a18e9e92be35d466530caf0b1cfdc2225b27f24d803acdb4b20e1fb49ecb","directory-1.3.6.2","filepath-1.4.2.1","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.16.0.0"]},{"type":"configured","id":"filepattern-0.1.2-97e21f71ed48e61dd4b655f957e70631c636c95d3daae4a8ad06395e37b6249c","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.16.0.0","directory-1.3.6.2","extra-1.7.10-fd7264f28b2474b628587c42c644d010cf9414db51745cf9c2cecc181be281f5","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.1","pkg-name":"ghc-boot-th","pkg-version":"9.2.1","depends":["base-4.16.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-reinstallable/hadrian/."},"dist-dir":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.7.0.0-inplace","QuickCheck-2.14.2-f6098e1aa48dbd8f116f91fea27279a3e78ca5837ed0d49fb783ffbf72ba72d3","base-4.16.0.0","bytestring-0.11.1.0","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.10-fd7264f28b2474b628587c42c644d010cf9414db51745cf9c2cecc181be281f5","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.6-b87e69156313ccab55e0bf0071cfb7bc2d6c07b31ce159085f8acd117a5c9e95","transformers-0.5.6.2","unordered-containers-0.2.16.0-6988239d60ce5358ec604ec48b0f32cad085355ffcce5a0c5eb02df42bd88d1a"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-reinstallable/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.0.2-4cf6895fe59b6aa51ba08d8dd0aaa74d226fe36f771525bde9bcbb4df07cfcbd","pkg-name":"hashable","pkg-version":"1.4.0.2","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","pkg-src-sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","depends":["base-4.16.0.0","bytestring-0.11.1.0","containers-0.6.5.1","deepseq-1.4.6.0","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-8d3419f8408b5b8b6841b00f6d1a7471816134201231be28416266a3ee3bde49","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-6278b9d6c9e5cd92f21180eee5fe6a6cc4709b3454a4f39848c0924a4b6130cc","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-0fe00be087c19b4ab01d3df43cb86b0d0d8634379a8ec6ab5d64bd544fc95aa5","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-df9b3aa568ece10aa0a1f02d8e0df8a6faee7f76b182f7f7e8e435249bb7c040","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.16.0.0","bytestring-0.11.1.0","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.0.0","deepseq-1.4.6.0","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.3.0-822d0e7468a94ea528f485ef32dda62bbc66567a948587839674a2abe7ccb63d","pkg-name":"primitive","pkg-version":"0.7.3.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","pkg-src-sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","depends":["base-4.16.0.0","deepseq-1.4.6.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.0.0","deepseq-1.4.6.0","directory-1.3.6.2","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-417e840d670fc961331dfe74106008e734ea61b1c866586e9cbbb0b196ba97f2","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.16.0.0","bytestring-0.11.1.0","deepseq-1.4.6.0","mtl-2.2.2","splitmix-0.1.0.4-6e4cb959752030596da42aa487811cf8f2f8d97e77e5b86f7c0286b176af5a9e"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-b87e69156313ccab55e0bf0071cfb7bc2d6c07b31ce159085f8acd117a5c9e95","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","deepseq-1.4.6.0","directory-1.3.6.2","extra-1.7.10-fd7264f28b2474b628587c42c644d010cf9414db51745cf9c2cecc181be281f5","filepath-1.4.2.1","filepattern-0.1.2-97e21f71ed48e61dd4b655f957e70631c636c95d3daae4a8ad06395e37b6249c","hashable-1.4.0.2-4cf6895fe59b6aa51ba08d8dd0aaa74d226fe36f771525bde9bcbb4df07cfcbd","heaps-0.4-8d3419f8408b5b8b6841b00f6d1a7471816134201231be28416266a3ee3bde49","js-dgtable-0.5.2-6278b9d6c9e5cd92f21180eee5fe6a6cc4709b3454a4f39848c0924a4b6130cc","js-flot-0.8.3-0fe00be087c19b4ab01d3df43cb86b0d0d8634379a8ec6ab5d64bd544fc95aa5","js-jquery-3.3.1-df9b3aa568ece10aa0a1f02d8e0df8a6faee7f76b182f7f7e8e435249bb7c040","primitive-0.7.3.0-822d0e7468a94ea528f485ef32dda62bbc66567a948587839674a2abe7ccb63d","process-1.6.13.2","random-1.2.1-417e840d670fc961331dfe74106008e734ea61b1c866586e9cbbb0b196ba97f2","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.16.0-6988239d60ce5358ec604ec48b0f32cad085355ffcce5a0c5eb02df42bd88d1a","utf8-string-1.0.2-1508e35653a100bc70cf4b62637d1bc71807fe8682a43fc50125618f1075e8fa"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-fa064f1bf099fbecd297f4700376880941da99055f7359addb22aaea16ab5438","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","deepseq-1.4.6.0","directory-1.3.6.2","extra-1.7.10-fd7264f28b2474b628587c42c644d010cf9414db51745cf9c2cecc181be281f5","filepath-1.4.2.1","filepattern-0.1.2-97e21f71ed48e61dd4b655f957e70631c636c95d3daae4a8ad06395e37b6249c","hashable-1.4.0.2-4cf6895fe59b6aa51ba08d8dd0aaa74d226fe36f771525bde9bcbb4df07cfcbd","heaps-0.4-8d3419f8408b5b8b6841b00f6d1a7471816134201231be28416266a3ee3bde49","js-dgtable-0.5.2-6278b9d6c9e5cd92f21180eee5fe6a6cc4709b3454a4f39848c0924a4b6130cc","js-flot-0.8.3-0fe00be087c19b4ab01d3df43cb86b0d0d8634379a8ec6ab5d64bd544fc95aa5","js-jquery-3.3.1-df9b3aa568ece10aa0a1f02d8e0df8a6faee7f76b182f7f7e8e435249bb7c040","primitive-0.7.3.0-822d0e7468a94ea528f485ef32dda62bbc66567a948587839674a2abe7ccb63d","process-1.6.13.2","random-1.2.1-417e840d670fc961331dfe74106008e734ea61b1c866586e9cbbb0b196ba97f2","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.16.0-6988239d60ce5358ec604ec48b0f32cad085355ffcce5a0c5eb02df42bd88d1a","utf8-string-1.0.2-1508e35653a100bc70cf4b62637d1bc71807fe8682a43fc50125618f1075e8fa"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.1/shake-0.19.6-e-shake-fa064f1bf099fbecd297f4700376880941da99055f7359addb22aaea16ab5438/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-6e4cb959752030596da42aa487811cf8f2f8d97e77e5b86f7c0286b176af5a9e","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.0.0","deepseq-1.4.6.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.0.0","ghc-boot-th-9.2.1","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","deepseq-1.4.6.0","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.0.0","deepseq-1.4.6.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.0.0","bytestring-0.11.1.0","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.16.0-6988239d60ce5358ec604ec48b0f32cad085355ffcce5a0c5eb02df42bd88d1a","pkg-name":"unordered-containers","pkg-version":"0.2.16.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"859ec9a017e51194755cb8a445b767afc5ce0ac991cd50b0f96abd31b3687aab","pkg-src-sha256":"bccf68bcf262a149e8cdb25bc4a87d59642faa772ec4db384e16ac8f4f3f49ef","depends":["base-4.16.0.0","deepseq-1.4.6.0","hashable-1.4.0.2-4cf6895fe59b6aa51ba08d8dd0aaa74d226fe36f771525bde9bcbb4df07cfcbd"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-1508e35653a100bc70cf4b62637d1bc71807fe8682a43fc50125618f1075e8fa","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.0.0","bytestring-0.11.1.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_1.json b/hadrian/bootstrap/plan-bootstrap-8_10_1.json
deleted file mode 100644
index bcc9add71a..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.10.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.3.2"},{"package":"parsec","version":"3.1.14.0"},{"package":"pretty","version":"1.1.3.6"},{"package":"process","version":"1.6.8.2"},{"package":"Cabal","version":"3.2.0.0"},{"package":"ghc-boot-th","version":"8.10.1"},{"package":"template-haskell","version":"2.16.0.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_2.json b/hadrian/bootstrap/plan-bootstrap-8_10_2.json
deleted file mode 100644
index 4fcbffd9c5..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.10.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.3.2"},{"package":"parsec","version":"3.1.14.0"},{"package":"pretty","version":"1.1.3.6"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.0.0"},{"package":"ghc-boot-th","version":"8.10.2"},{"package":"template-haskell","version":"2.16.0.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_3.json b/hadrian/bootstrap/plan-bootstrap-8_10_3.json
deleted file mode 100644
index 0b76a18a2b..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_3.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.3"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_4.json b/hadrian/bootstrap/plan-bootstrap-8_10_4.json
deleted file mode 100644
index 12977226c6..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.4"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_5.json b/hadrian/bootstrap/plan-bootstrap-8_10_5.json
deleted file mode 100644
index b978a67f84..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0.1"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.2.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.5"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_7.json b/hadrian/bootstrap/plan-bootstrap-8_10_7.json
index 6715c4dcfd..32312bfd1f 100644
--- a/hadrian/bootstrap/plan-bootstrap-8_10_7.json
+++ b/hadrian/bootstrap/plan-bootstrap-8_10_7.json
@@ -1 +1 @@
-{"dependencies":[{"source":"hackage","cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","revision":0,"src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","flags":["-optimised-mixer"],"package":"splitmix","version":"0.1.0.3"},{"source":"hackage","cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","revision":6,"src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","flags":[],"package":"random","version":"1.2.0"},{"source":"hackage","cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","version":"2.14.2"},{"source":"hackage","cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","revision":0,"src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","flags":["-llvm"],"package":"clock","version":"0.8.2"},{"source":"hackage","cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","revision":0,"src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","flags":[],"package":"extra","version":"1.7.9"},{"source":"hackage","cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","version":"0.1.2"},{"source":"hackage","cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","revision":0,"src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","flags":["+integer-gmp"],"package":"hashable","version":"1.3.1.0"},{"source":"hackage","cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","version":"0.4"},{"source":"hackage","cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","version":"0.5.2"},{"source":"hackage","cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","version":"0.8.3"},{"source":"hackage","cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","version":"3.3.1"},{"source":"hackage","cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","revision":3,"src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","flags":[],"package":"primitive","version":"0.7.1.0"},{"source":"hackage","cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","revision":0,"src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","flags":["-debug"],"package":"unordered-containers","version":"0.2.13.0"},{"source":"hackage","cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","version":"1.0.2"},{"source":"hackage","cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","revision":0,"src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","flags":["-cloud","-embed-files","-portable"],"package":"shake","version":"0.19.4"},{"source":"local","cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.1"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.3.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.7"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.2.1.0"}]}
+{"dependencies":[{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["-bundled-binary-generic"],"package":"Cabal","source":"local","version":"3.7.0.0"},{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","revision":0,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","revision":0,"src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","flags":[],"package":"random","source":"hackage","version":"1.2.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"eb6758d0160d607e0c45dbd6b196f515b9a589fd4f6d2f926929dd5d56282d37","revision":0,"src_sha256":"20a21c4b7adb0fd844b25e196241467406a28286b021f9b7a082ab03fa8015eb","flags":[],"package":"base-orphans","source":"hackage","version":"0.8.6"},{"cabal_sha256":"0c98493c2c09141d4e255f74d0de317cd4b2ff4b58e823dd860ea59ec7413ffb","revision":1,"src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.2"},{"cabal_sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","revision":0,"src_sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","flags":[],"package":"extra","source":"hackage","version":"1.7.10"},{"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","source":"hackage","version":"0.1.2"},{"cabal_sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","revision":0,"src_sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.0.2"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","revision":0,"src_sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","flags":[],"package":"primitive","source":"hackage","version":"0.7.3.0"},{"cabal_sha256":"859ec9a017e51194755cb8a445b767afc5ce0ac991cd50b0f96abd31b3687aab","revision":0,"src_sha256":"bccf68bcf262a149e8cdb25bc4a87d59642faa772ec4db384e16ac8f4f3f49ef","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.16.0"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.1"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.3.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.7"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_0_1.json b/hadrian/bootstrap/plan-bootstrap-9_0_1.json
index f166623da5..c8aa53bd92 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_0_1.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_0_1.json
@@ -1 +1 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.7.0"},{"package":"ghc-bignum","version":"1.0"},{"package":"base","version":"4.15.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.5.0"},{"package":"bytestring","version":"0.10.12.1"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.1"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.0.1"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.17.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.11.0"},{"package":"Cabal","version":"3.4.0.0"}]} \ No newline at end of file
+{"dependencies":[{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["-bundled-binary-generic"],"package":"Cabal","source":"local","version":"3.7.0.0"},{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","revision":0,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","revision":0,"src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","flags":[],"package":"random","source":"hackage","version":"1.2.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"eb6758d0160d607e0c45dbd6b196f515b9a589fd4f6d2f926929dd5d56282d37","revision":0,"src_sha256":"20a21c4b7adb0fd844b25e196241467406a28286b021f9b7a082ab03fa8015eb","flags":[],"package":"base-orphans","source":"hackage","version":"0.8.6"},{"cabal_sha256":"0c98493c2c09141d4e255f74d0de317cd4b2ff4b58e823dd860ea59ec7413ffb","revision":1,"src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.2"},{"cabal_sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","revision":0,"src_sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","flags":[],"package":"extra","source":"hackage","version":"1.7.10"},{"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","source":"hackage","version":"0.1.2"},{"cabal_sha256":"4f6dfb2a191dd3068c2915ba96a1ab3c4b78b4b4e57186698b9ab42007bfa926","revision":0,"src_sha256":"a4c617c7b90288ba3e24c67633f99e97e11c2367686463b8884d2cd3591241db","flags":[],"package":"ghc-bignum-orphans","source":"hackage","version":"0.1.1"},{"cabal_sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","revision":0,"src_sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.0.2"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","revision":0,"src_sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","flags":[],"package":"primitive","source":"hackage","version":"0.7.3.0"},{"cabal_sha256":"859ec9a017e51194755cb8a445b767afc5ce0ac991cd50b0f96abd31b3687aab","revision":0,"src_sha256":"bccf68bcf262a149e8cdb25bc4a87d59642faa772ec4db384e16ac8f4f3f49ef","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.16.0"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.7.0"},{"package":"ghc-bignum","version":"1.0"},{"package":"base","version":"4.15.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.5.0"},{"package":"bytestring","version":"0.10.12.1"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.1"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.0.1"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.17.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.11.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_2_1.json b/hadrian/bootstrap/plan-bootstrap-9_2_1.json
new file mode 100644
index 0000000000..3ae2621338
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_2_1.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["-bundled-binary-generic"],"package":"Cabal","source":"local","version":"3.7.0.0"},{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","revision":0,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","revision":0,"src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","flags":[],"package":"random","source":"hackage","version":"1.2.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"0c98493c2c09141d4e255f74d0de317cd4b2ff4b58e823dd860ea59ec7413ffb","revision":1,"src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.2"},{"cabal_sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","revision":0,"src_sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","flags":[],"package":"extra","source":"hackage","version":"1.7.10"},{"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","source":"hackage","version":"0.1.2"},{"cabal_sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","revision":0,"src_sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.0.2"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","revision":0,"src_sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","flags":[],"package":"primitive","source":"hackage","version":"0.7.3.0"},{"cabal_sha256":"859ec9a017e51194755cb8a445b767afc5ce0ac991cd50b0f96abd31b3687aab","revision":0,"src_sha256":"bccf68bcf262a149e8cdb25bc4a87d59642faa772ec4db384e16ac8f4f3f49ef","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.16.0"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.0"},{"package":"bytestring","version":"0.11.1.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.2.1"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"}]} \ No newline at end of file
diff --git a/hadrian/cabal.project b/hadrian/cabal.project
index 91b204d9db..381be20a08 100644
--- a/hadrian/cabal.project
+++ b/hadrian/cabal.project
@@ -1,4 +1,6 @@
packages: ./
+ ../libraries/Cabal/Cabal
+ ../libraries/Cabal/Cabal-syntax
-- This essentially freezes the build plan for hadrian
index-state: 2022-01-22T11:45:54Z
diff --git a/hadrian/hadrian.cabal b/hadrian/hadrian.cabal
index 560402f1a0..aee5d71d00 100644
--- a/hadrian/hadrian.cabal
+++ b/hadrian/hadrian.cabal
@@ -138,7 +138,8 @@ executable hadrian
, BangPatterns
other-extensions: MultiParamTypeClasses
, TypeFamilies
- build-depends: Cabal >= 3.2 && < 3.7
+ build-depends: Cabal >= 3.7 && < 3.9
+ , Cabal-syntax >= 3.7
, QuickCheck >= 2.6 && < 2.15
, base >= 4.8 && < 5
, bytestring >= 0.10 && < 0.12
diff --git a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
index 43c0c03a49..82eae2ac8e 100644
--- a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
+++ b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
@@ -39,6 +39,9 @@ import qualified Distribution.Simple.PackageIndex as C
import qualified Distribution.Text as C
import qualified Distribution.Types.LocalBuildInfo as C
import qualified Distribution.Types.MungedPackageId as C
+#if MIN_VERSION_Cabal(3,7,0)
+import qualified Distribution.Simple.PackageDescription as C
+#endif
#if MIN_VERSION_Cabal(3,5,0)
import qualified Distribution.Utils.Path as C
#endif
diff --git a/hadrian/stack.yaml b/hadrian/stack.yaml
index 9fdd173c6d..be953f7c02 100644
--- a/hadrian/stack.yaml
+++ b/hadrian/stack.yaml
@@ -2,6 +2,7 @@ resolver: lts-18.18
packages:
- '.'
+- '../libraries/Cabal/Cabal'
nix:
enable: false