Adding a new GHC version to haskell.nix

Update overlays/bootstrap.nix

Each ghc version is defined in this file. Duplicate one of the existing ghc version definitions and replace the version numbers. Make sure you update the spec.sha256 or the other versions source will be used. Check the LLVM version that should be used in the ghc wiki.

Update the list of cached GHC versions in ci.nix

Update supported ghc versions document

Add the materialized files

In the haskell.nix repo run:

mkdir materialized/ghc884
nix-build scripts/check-compiler-materialization --argstr compiler-nix-name ghc884

The nix-build command will fail with something like:

Materialized nix used for dummy-data-x86_64-unknown-linux-musl-ghc-8.10.1 incorrect. To fix run: /nix/store/wnwpyrhv4nxgyljz3f20gdpspjxvm7h4-updateMaterialized

Run the updateMaterialized script and repeat the nix-build until it no longer fails. If the failure is not a problem with materialization and no updateMaterialized script is provided then you may need to fix the failure another way or (if it only relates to one of the cross compilers) modify scripts/check-compiler-materialization/default.nix so that it skips that compiler.