GHC musl
The multi-arch (linux/amd64
, linux/arm64/v8
) docker image used to build the
statically linked Linux amd64 and arm64 binary
releases of Pandoc.
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_BUILD=9.6.2 \
--build-arg CABAL_VERSION_BUILD=3.10.1.0 \
--build-arg STACK_VERSION=2.11.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.
Run container
self built:
docker run --rm -ti ghc-musl[:MAJOR.MINOR.PATCH]
from the project's GitLab Container Registry:
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!
❗ One must use the --no-install-ghc --system-ghc
flags when using
stack
with the image for the arm64/v8
architecture.
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.
This project follows the Contributor Covenant Code of Conduct.
License
MIT © 2021 Olivier Benz
-
GHC versions ≥ 9.2.8. ↩