Julian Ospald
June 07, 2024
The default installer:
ghcup install ghc
https://hasufell.github.io/posts/2023-11-14-ghcup-is-not-an-installer.html
installer (portable)
distribution channel
feedback channel
testing/QA gateway
provider of sane defaults (e.g. “recommended” GHC
version)
glue for holistic toolchain experience
CI provisioning (e.g. github actions)
.tar.gz
/.zip
)show all available tools / versions
install a tool
make a tool version the default
remove a tool version
root dir
GHC and HLS are installed into sub-directories
bin directory is mostly symbolic links (compare with update-alternatives)
Gather system information:
GHCup.Platform
System.Info.arch
and System.Info.os
(compile-time strings)/etc/os-release
Map binaries to systems:
ldconfig -p
output)
~/.ghcup/config.yaml
)GHCUP_INSTALL_BASE_PREFIX
(default
$HOME
)ghcup install ghc -u <url> <version>
url-source
(selecting and mixing “channels”)
GHCupURL
StackSetupURL
Head over to https://github.com/haskell/ghcup-hs/issues/1074
(zurihac
labeled issue).
…