GHC musl – Unofficial and untested binary distributions of GHC on Alpine Linux.
10K+
Unofficial and untested 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
who made it possible to add linux/riscv64 images (GHC versions ≥ 9.10.1).
Credit to
and for publishing linux/loong64 images.
See Version Matrix.
docker run --rm -ti docker.io/benz0li/ghc-musl:{latest,MAJOR[.MINOR[.PATCH]]}[-int-native]
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 regular images produce binaries linked against the
GNU Multiple Precision Arithmetic Library (GMP), which
is used by default by the
integer-gmp library to
provide a big-integer implementation for Haskell.
Unlike most Haskell code, which is licensed under the permissive BSD3 license, the GMP library is licensed under LGPL. This means resulting statically linked binaries must be provided with source code or object files.
If that is not acceptable for your situation, use images with the int-native
subtag. These images provide a GHC that links against the Haskell-native
big-integer backend and produces statically linked binaries that are not
subject to GMP's licensing restrictions.
ℹ️ Available for versions 9.6.7, 9.8.4, 9.10.1, 9.12.2 and later.
The current Dev Containers of this project use images with the int-native
subtag.
For GHC versions 9.10.2, 9.12.2 and later, the images with the int-native
subtag use ld.lld (the LLVM linker) by default.
All other images use ld.bfd (the GNU linker) by default.
The default Dev Container is meant to work on this repository.
The other configurations are custom GHC containers based on GHC musl images
(int-native subtag).
For further information, see Dev Containers.
What makes this project different:
linux/amd64, linux/arm64/v8perf+split_sections+llvmint-native subtag: perf+split_sections+llvm+native_bignumInteresting to read:
Where to file issues:
PRs accepted. Please submit to the GitLab repository.
This project follows the Contributor Covenant Code of Conduct.
See Security policy.
MIT © 2021 Olivier Benz
1: Porting GHC to Linux/AArch64
2: Porting GHC to Linux/RISC-V (64-bit)
3: GHC versions ≥ 9.2.8
Content type
Image
Digest
sha256:7792a39f5…
Size
882.5 MB
Last updated
about 2 months ago
docker pull benz0li/ghc-musl