Use haskell.nix in for hadrian #2040
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using musl64 version of nix-tools goes some way to avoid recompiles of GHC when updating haskell.nix. However any changes that impact the way
hadrian
will be built (for instance changes tobuilder/comp-builder.nix
) will causehadrian
to need to be rebuilt. This intern causes GHC >=9.4 to need rebuilding.To make this less likely this change adds a
pinned-haskell-nix
using thenix-tools
subflake. Then hadrian is built using this.Also when the static version of
nix-tools
cannot be used (macOS), a pinned version is used instead.The
nixpkgs
used is also pinned, making it easier for people to use other versions of nixpkgs.The
hackage.nix
is passed in to thenix-tools
subflake to avoid downloading two copies when setting up a new machine (stackage.nix is not used).