From fc7e74ea6fe2c0079016059c2d10b0e985d9f685 Mon Sep 17 00:00:00 2001
From: Olivier Benz <olivier.benz@b-data.ch>
Date: Fri, 28 Jun 2024 21:24:39 +0200
Subject: [PATCH] GHC v9.10.1: Update cabal-install to v3.12.1.0

---
 .devcontainer/VERSION_MATRIX.md |  2 +-
 .gitlab-ci.yml                  |  4 ++--
 README.md                       |  2 +-
 VERSION_MATRIX.md               |  2 +-
 latest.Dockerfile               | 12 +++---------
 5 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/.devcontainer/VERSION_MATRIX.md b/.devcontainer/VERSION_MATRIX.md
index c58adf1..247801a 100644
--- a/.devcontainer/VERSION_MATRIX.md
+++ b/.devcontainer/VERSION_MATRIX.md
@@ -4,7 +4,7 @@
 
 | GHC                           | Cabal[^1] | Stack[^1] | HLS                                      |
 |:------------------------------|:----------|:----------|:---------------------------------------- |
-| latest<br>9.10.1<br>9.10<br>9 | 3.11.0.0  | ≥ 2.13.1  | latest<br>2.9.0.0                        |
+| latest<br>9.10.1<br>9.10<br>9 | 3.12.1.0  | ≥ 2.13.1  | latest<br>2.9.0.0                        |
 | 9.8.2<br>9.8                  | 3.10.3.0  | ≥ 2.13.1  | 2.9.0.0<br>2.8.0.0<br>2.7.0.0<br>2.6.0.0 |
 | 9.6.5<br>9.6                  | 3.10.3.0  | ≥ 2.13.1  | 2.9.0.0<br>2.8.0.0<br>2.7.0.0            |
 
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c4e42a0..1aeadb0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,10 +1,10 @@
 .env:
   variables:
     GHC_VERSION: "9.10.1"
-    CABAL_VERSION: "3.12.0.0-prerelease"
+    CABAL_VERSION: "3.12.1.0"
     STACK_VERSION: "2.15.7"
     HLS_VERSION: "2.9.0.0"
-    BUILD_GHC: "false"
+    BUILD_GHC: "true"
     BUILD_HLS: "true"
     TAG_VERSION_MAJ_MIN: "false"
     TAG_VERSION_MAJ: "false"
diff --git a/README.md b/README.md
index 69193c6..e474188 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@ To install docker, follow the instructions for your platform:
 ```bash
 docker build \
   --build-arg GHC_VERSION=9.10.1 \
-  --build-arg CABAL_VERSION=3.12.0.0-prerelease \
+  --build-arg CABAL_VERSION=3.12.1.0 \
   --build-arg STACK_VERSION=2.15.7 \
   -t ghc-musl \
   -f latest.Dockerfile .
diff --git a/VERSION_MATRIX.md b/VERSION_MATRIX.md
index 9cb6264..33d99c1 100644
--- a/VERSION_MATRIX.md
+++ b/VERSION_MATRIX.md
@@ -4,7 +4,7 @@ Topmost entry = Tag `latest`
 
 | GHC        | Cabal    | Stack      | LLVM | Linux distro |
 |:-----------|:---------|:-----------|:---- |:-------------|
-| 9.10.1     | 3.11.0.0 | 2.15.7     | 18   | Alpine 3.20  |
+| 9.10.1     | 3.12.1.0 | 2.15.7     | 18   | Alpine 3.20  |
 | 9.8.2      | 3.10.3.0 | 2.15.7     | 16   | Alpine 3.20  |
 | 9.8.1      | 3.10.2.1 | 2.15.1     | 14   | Alpine 3.19  |
 | 9.6.5      | 3.10.3.0 | 2.15.7     | 16   | Alpine 3.20  |
diff --git a/latest.Dockerfile b/latest.Dockerfile
index 7c073f6..a764cd6 100644
--- a/latest.Dockerfile
+++ b/latest.Dockerfile
@@ -73,7 +73,7 @@ ENV CABAL_VERSION=${CABAL_VERSION_BUILD}
 ## Build Cabal (the tool) with the GHC bootstrap version
 RUN cabal update \
   ## See https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history
-  && cabal install cabal-install-3.10.3.0
+  && cabal install "cabal-install-$CABAL_VERSION"
 
 FROM alpine:3.20 as ghc-base
 
@@ -151,14 +151,8 @@ FROM ghc-stage1 as ghc-stage2
 COPY --from=bootstrap-cabal /root/.local/bin/cabal /usr/local/bin/cabal
 
 ## Rebuild Cabal (the tool) with the GHC target version
-RUN cd /tmp \
-  && curl -sSLO https://github.com/haskell/cabal/archive/refs/tags/cabal-install-v"$CABAL_VERSION".tar.gz \
-  && tar -xzf cabal-install-v"$CABAL_VERSION".tar.gz \
-  && cd cabal-cabal-install-v"$CABAL_VERSION" \
-  && sed -i 's/2024-03-20T08:02:24Z/2024-04-02T17:52:00Z/g' cabal.project.release \
-  && sed -i 's/hashable   >= 1.0      /hashable   >= 1.4.4.0  /g' cabal-install/cabal-install.cabal \
-  && cabal update \
-  && cabal install --project-file=cabal.project.release --allow-newer cabal-install
+RUN cabal update \
+  && cabal install "cabal-install-$CABAL_VERSION"
 
 FROM ghc-stage1 as test
 
-- 
GitLab