GHC musl
Unofficial binary distributions of GHC on Alpine Linux.
The multi‑arch (linux/amd64
, linux/arm64/v8
) docker image used to build the
statically linked Linux amd64 and arm64 binary releases of
Credits to
-
@odidev for
ghc-bootstrap-aarch64
and - @neosimsim for docker-builder-images
who laid the groundwork for this.
Table of Contents
Prerequisites
This project requires an installation of docker.
Install
To install docker, follow the instructions for your platform:
- Install Docker Engine | Docker Documentation > Supported platforms
- Post-installation steps for Linux
Usage
Build image
latest:
docker build \
--build-arg GHC_VERSION=9.8.2 \
--build-arg CABAL_VERSION=3.10.2.1 \
--build-arg STACK_VERSION=2.15.3 \
-t ghc-musl \
-f latest.Dockerfile .
version:
docker build \
-t ghc-musl:MAJOR.MINOR.PATCH \
-f prior/MAJOR.MINOR.PATCH.Dockerfile .
For MAJOR.MINOR.PATCH
GHC versions 8.8.4
, 8.10.1
and ≥ 8.10.4
.
👉 See the Version Matrix for detailed information.
Run container
self built:
docker run --rm -ti ghc-musl[:MAJOR.MINOR.PATCH]
from Quay:
docker run --rm -ti quay.io/benz0li/ghc-musl[:MAJOR[.MINOR[.PATCH]]]
from Docker Hub:
docker run --rm -ti docker.io/benz0li/ghc-musl[:MAJOR[.MINOR[.PATCH]]]
from GitLab (b-data GmbH):
docker run --rm -ti glcr.b-data.ch/ghc/ghc-musl[:MAJOR[.MINOR[.PATCH]]]
As of 2023‑08‑12, the images (versions 9.2.8, 9.4.6, 9.6.2 and later) also include the Haskell Tool Stack (Stack).
There is currently no GHC binary distribution for Alpine Linux (AArch64)
available!
❗ Use flags --no-install-ghc --system-ghc
with
Stack to ensure that only the GHC available in the container is used.
Dev Containers
The default Dev Container is meant to work on this repository.
Any other configuration is a custom GHC container based on GHC musl.
For further information, see Dev Containers.
Similar projects
What makes this project different:
- Multi‑arch:
linux/amd64
,linux/arm64/v8
- Built using Hadrian1, from source, without docs
- Built using the LLVM backend
- flavour:
perf+llvm+split_sections
- flavour:
Contributing
PRs accepted. Please submit to the GitLab repository.
This project follows the Contributor Covenant Code of Conduct.
License
MIT © 2021 Olivier Benz
-
GHC versions ≥ 9.2.8. ↩