Skip to content

Latest commit

 

History

History
41 lines (23 loc) · 1.39 KB

README.md

File metadata and controls

41 lines (23 loc) · 1.39 KB

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.