1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
# Bootstrapping hadrian
These scripts are originally from the cabal-install repo with a few
small tweaks.
This utility allows you to build hadrian without cabal-install, which can be useful
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 -w /path/to-ghc -d plan-bootstrap-8_10_5.json
This default option will download the dependencies using the network.
The result of the bootstrap script will be a hadrian binary in
`_build/bin/hadrian`.
Alternatively, you can provide a tarball with the source of any dependencies.
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 -w /path/to-ghc -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 -w /path/to-ghc -d plan-bootstrap-8_10_5.json fetch -o sources-tarball
## Generating the bootstrap plans
There is a script (using nix) which can be used to generate the bootstrap plans for the range
of supported GHC versions using nix.
generate_bootstrap_plans
Otherwise you can run the commands in ./generate_bootstrap_plans directly.
|