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
Credit to
who laid the groundwork for this.
Credit to
- Celeste of Alpine for GHC bootstrap riscv642
who made it possible to add linux/riscv64
images (GHC versions ≥ 9.10.1).
This project requires an installation of docker.
To install docker, follow the instructions for your platform:
- Install Docker Engine | Docker Documentation > Supported platforms
- Post-installation steps for Linux
latest:
docker build \
--build-arg GHC_VERSION=9.10.1 \
--build-arg CABAL_VERSION=3.12.1.0 \
--build-arg STACK_VERSION=3.1.1 \
-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.
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).
On 2024‑02‑23, the binary distribution of GHC version 9.8.2 was released for
Alpine Linux (AArch64).
❗ Use flags --no-install-ghc --system-ghc
with
Stack (GHC versions < 9.8.2) to ensure that only the GHC available in the
container is used.
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.
What makes this project different:
- Multi‑arch:
linux/amd64
,linux/arm64/v8
- Built using Hadrian3, from source, without docs
- Built using the LLVM backend
- flavour:
perf+llvm+split_sections
- flavour:
PRs accepted. Please submit to the GitLab repository.
This project follows the Contributor Covenant Code of Conduct.
Copyright © 2021 Olivier Benz
Distributed under the terms of the MIT License.