Go to file
2024-01-04 20:12:21 +08:00
.github Test that building hashable works 2024-01-03 23:49:21 +08:00
ghcup-gen Update ghcup-gen 2023-11-17 22:24:19 +08:00
scripts/release/cabal Fix release scripts 2023-11-17 21:23:02 +08:00
.cirrus.yml Fix cirrus 2023-11-17 20:46:41 +08:00
.gitignore Add cabal release scripts 2023-11-17 21:00:12 +08:00
.yamllint Implement yaml linting, fixes #63 2023-01-11 22:52:03 +08:00
cabal.project Update ghcup-gen 2023-11-17 22:24:19 +08:00
ghcup-0.0.1.json Update ghcup to 0.1.19.0 2023-01-13 12:58:23 +08:00
ghcup-0.0.1.json.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.2.json Update ghcup to 0.1.19.0 2023-01-13 12:58:23 +08:00
ghcup-0.0.2.json.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.2.yaml Update ghcup to 0.1.19.0 2023-01-13 12:58:23 +08:00
ghcup-0.0.2.yaml.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.3.yaml Update ghcup to 0.1.19.0 2023-01-13 12:58:23 +08:00
ghcup-0.0.3.yaml.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.4-rc2.yaml Initial commit 2021-10-19 20:12:14 +02:00
ghcup-0.0.4-rc2.yaml.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.4.yaml Update ghcup to 0.1.19.0 2023-01-13 12:58:23 +08:00
ghcup-0.0.4.yaml.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.5.yaml Fix windows GHCup 0.1.19.0 binary 2023-01-14 01:45:34 +08:00
ghcup-0.0.5.yaml.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.6.yaml Fix windows GHCup 0.1.19.0 binary 2023-01-14 01:45:34 +08:00
ghcup-0.0.6.yaml.sig Re-sign 2023-03-30 20:52:33 +08:00
ghcup-0.0.7.yaml Distribute cabal-3.10.2.1 and set it as recommended 2024-01-04 20:12:21 +08:00
ghcup-0.0.7.yaml.sig Re-sign 2024-01-04 14:52:49 +08:00
ghcup-0.0.8.yaml Distribute cabal-3.10.2.1 and set it as recommended 2024-01-04 20:12:21 +08:00
ghcup-0.0.8.yaml.sig Re-sign 2024-01-04 14:52:49 +08:00
ghcup-cross-0.0.8.yaml Fix anchors in ghcup-cross-0.0.8 2023-11-13 14:35:49 +08:00
ghcup-cross-0.0.8.yaml.sig Sign 2023-11-13 14:36:20 +08:00
ghcup-prereleases-0.0.7.yaml Remove ghcup from prereleases 2023-11-12 18:23:36 +08:00
ghcup-prereleases-0.0.7.yaml.sig Remove ghcup from prereleases 2023-11-12 18:23:36 +08:00
ghcup-prereleases-0.0.8.yaml Update ghcup prereleases yaml version 2023-11-12 18:24:08 +08:00
ghcup-prereleases-0.0.8.yaml.sig Update ghcup prereleases yaml version 2023-11-12 18:24:08 +08:00
ghcup-vanilla-0.0.7.yaml HLS 2.5.0.0 2023-12-01 17:54:04 +05:30
ghcup-vanilla-0.0.7.yaml.sig HLS 2.5.0.0 2023-12-01 17:54:04 +05:30
ghcup-vanilla-0.0.8.yaml HLS 2.5.0.0 2023-12-01 17:54:04 +05:30
ghcup-vanilla-0.0.8.yaml.sig HLS 2.5.0.0 2023-12-01 17:54:04 +05:30
hls-metadata-0.0.1.json Update hls-metadata 2023-12-02 02:53:00 +08:00
hls-metadata-0.0.1.json.sig Sign 2023-12-02 02:53:15 +08:00
README.md Improve metadata docs 2023-11-14 21:24:26 +08:00

GHCup metadata

For end users

Metadata variants (distribution channels)

  • ghcup-A.B.C.yaml: this is the main metadata and what ghcup uses by default
  • ghcup-vanilla-A.B.C.yaml: this is similar to ghcup-A.B.C.yaml, but only uses upstream bindists (no patches/fixes are applied, no missing platforms added)
  • ghcup-prereleases-A.B.C.yaml: this contains pre-releases of all tools
  • ghcup-cross-A.B.C.yaml: this contains experimental cross compilers. See https://www.haskell.org/ghcup/guide/#cross-support for details.

Using the metadata

If you want access to both pre-releases and cross compilers, run:

ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-cross-0.0.8.yaml

If you want only vanilla upstream bindists and opt out of all unofficial stuff, you'd run:

ghcup config set url-source https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.8.yaml

Also check the config.yaml documentation.

For contributors

Adding a new GHC version

  1. open the latest ghcup-<yaml-ver>.yaml
  2. find the latest ghc version (in yaml tree e.g. ghcupDownloads -> GHC -> 8.10.7)
  3. copy-paste it
  4. adjust the version, tags, changelog, source url
  5. adjust the various bindist urls (make sure to also change the yaml anchors)
  6. run cabal run ghcup-gen -- check -f ghcup-<yaml-ver>.yaml
  7. run cabal run ghcup-gen -- check-tarballs -f ghcup-<yaml-ver>.yaml -u 'ghc-8\.10\.8'
  8. run cabal run ghcup-gen -- generate-hls-ghcs -f ghcup-<yaml-ver>.yaml --format json -o hls-metadata-0.0.1.json
  9. run cabal run ghcup-gen -- generate-table -f ghcup-<yaml-ver>.yaml --stdout and adjust docs/install tables

During a pull request

Understanding tags

Tags are documented here. Search for data Tag. Some tags are unique. Uniqueness is checked by cabal run ghcup-gen -- check -f ghcup-<yaml-ver>.yaml.

If you want to check prereleases, do: cabal run ghcup-gen -- check -f ghcup-prereleases-<yaml-ver>.yaml --channel=prerelease