Skip to content
Snippets Groups Projects
Olivier Benz's avatar
Olivier Benz authored
- Add insecure keyserver as fallback
beb0429f
History

minimal-readme compliant Project Status: Active – The project has reached a stable, usable state and is being actively developed. Donate using Liberapay

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

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:

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:

  1. Multi-arch: linux/amd64, linux/arm64/v8
  2. Built using Hadrian1, from source, without docs
  3. Built using the LLVM backend
    • flavour: perf+llvm+split_sections

Contributing

PRs accepted.

This project follows the Contributor Covenant Code of Conduct.

License

MIT © 2021 Olivier Benz

  1. GHC versions ≥ 9.2.8.