diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 77e4d512db4e66d6299b0963bebc3d587a7543c7..0dc7d693f0a83f4dce769f641bd0cc6e7cc991e5 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -44,15 +44,8 @@ extensions pre‑installed: ## Parent images -These Dev Containers are derived from the same docker images used to build -the *statically linked* Linux amd64 and arm64 binary releases of - -* [Pandoc](https://github.com/jgm/pandoc) -* [Stack](https://github.com/commercialhaskell/stack) -* [Juvix](https://github.com/anoma/juvix) - -The parent images are multi-arch (`linux/amd64`, `linux/arm64/v8`) *ghc‑musl* -images. They are based on Alpine Linux (that is +The parent images are multi‑arch (`linux/amd64`, `linux/arm64/v8`) +<nobr>*GHC musl*</nobr> images. They are based on Alpine Linux (that is [musl libc](https://musl.libc.org) and [BusyBox](https://www.busybox.net)). They contain *unofficial* binary distributions of GHC (that is, ones not @@ -63,8 +56,8 @@ released by the GHC developers). That is because: 2. there are no official binary distributions for Alpine Linux/AArch64. Stack's global configuration (`/etc/stack/config.yaml`) sets -`system-ghc: true` and `install-ghc: false`. That ensures that only the GHC -available in the Dev Containers is used. +<nobr>`system-ghc: true`</nobr> and <nobr>`install-ghc: false`</nobr>. That +ensures that only the GHC available in the Dev Containers is used. ## Usage diff --git a/README.md b/README.md index aa80967308a16dc95e2e4ef919e78f70a1e1fe64..19e3e051f72d78d31cdb51dd5c3123f30d6e3cde 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,12 @@ # 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](https://github.com/jgm/pandoc/releases). +The multi‑arch (`linux/amd64`, `linux/arm64/v8`) docker image used to build the +*statically linked* Linux amd64 and arm64 binary releases of + +* [Pandoc](https://github.com/jgm/pandoc) +* [Stack](https://github.com/commercialhaskell/stack) +* [Juvix](https://github.com/anoma/juvix) Credits to @@ -77,13 +80,13 @@ from [the project's GitLab Container Registry](https://gitlab.b-data.ch/ghc/ghc- 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 +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! -:exclamation: One must use the `--no-install-ghc --system-ghc` flags when using -`stack` with the image for the `arm64/v8` architecture. +:exclamation: Use flags <nobr>`--no-install-ghc --system-ghc`</nobr> to ensure +that only the GHC available in the container is used. ## Similar projects @@ -92,7 +95,7 @@ available! What makes this project different: -1. Multi-arch: `linux/amd64`, `linux/arm64/v8` +1. Multi‑arch: `linux/amd64`, `linux/arm64/v8` 1. Built using Hadrian[^1], from source, without docs 1. Built using the LLVM backend * flavour: `perf+llvm+split_sections` @@ -111,7 +114,8 @@ This project follows the The default Dev Container is meant to work on this repository. -Any other configuration is a custom GHC container based on Alpine Linux. +Any other configuration is a custom GHC container based on +<nobr>*GHC musl*</nobr>. For further information, see [Dev Containers](.devcontainer/README.md).