From daa513dfe1bf00f0fb861b29ce0a3dd90601ed2c Mon Sep 17 00:00:00 2001 From: Olivier Benz <olivier.benz@b-data.ch> Date: Mon, 15 Jan 2024 19:25:42 +0100 Subject: [PATCH] Update HLS to v2.6.0.0 --- .devcontainer/VERSION_MATRIX.md | 16 ++++----- .devcontainer/ghc-9.2/devcontainer.json | 2 +- .devcontainer/ghc-9.4/devcontainer.json | 2 +- .devcontainer/ghc-9.6/devcontainer.json | 2 +- .devcontainer/ghc-9.8/devcontainer.json | 2 +- .gitlab-ci.yml | 4 +-- packages/hls/2.6.0.0.Dockerfile | 45 +++++++++++++++++++++++++ 7 files changed, 59 insertions(+), 14 deletions(-) create mode 100644 packages/hls/2.6.0.0.Dockerfile diff --git a/.devcontainer/VERSION_MATRIX.md b/.devcontainer/VERSION_MATRIX.md index e51343f..d4c84d5 100644 --- a/.devcontainer/VERSION_MATRIX.md +++ b/.devcontainer/VERSION_MATRIX.md @@ -2,14 +2,14 @@ ## Current -| GHC | Cabal[^1] | Stack[^1] | HLS | -|:----------------------------|:----------|:------------|:-------------------------------------------------------------- | -| latest<br>9.8.1<br>9.8<br>9 | 3.10.2.1 | ≥ 2.13.1 | latest<br>2.5.0.0<br>2.4.0.0 | -| 9.6.4<br>9.6 | 3.10.1.0 | ≥ 2.13.1 | n/a | -| 9.6.3 | 3.10.1.0 | ≥ 2.13.1 | 2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0 | -| 9.4.8<br>9.4 | 3.8.1.0 | ≥ 2.13.1 | 2.5.0.0<br>2.4.0.0 | -| 9.4.7 | 3.8.1.0 | ≥ 2.13.1 | 2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 | -| 9.2.8<br>9.2 | 3.6.2.0 | ≥ 2.13.1 | 2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 | +| GHC | Cabal[^1] | Stack[^1] | HLS | +|:----------------------------|:----------|:------------|:------------------------------------------------------------------------- | +| latest<br>9.8.1<br>9.8<br>9 | 3.10.2.1 | ≥ 2.13.1 | latest<br>2.6.0.0<br>2.5.0.0<br>2.4.0.0 | +| 9.6.4<br>9.6 | 3.10.1.0 | ≥ 2.13.1 | 2.6.0.0 | +| 9.6.3 | 3.10.1.0 | ≥ 2.13.1 | 2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0 | +| 9.4.8<br>9.4 | 3.8.1.0 | ≥ 2.13.1 | 2.6.0.0<br>2.5.0.0<br>2.4.0.0 | +| 9.4.7 | 3.8.1.0 | ≥ 2.13.1 | 2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 | +| 9.2.8<br>9.2 | 3.6.2.0 | ≥ 2.13.1 | 2.6.0.0<br>2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 | [^1]: built-in version; see [GHC musl > Version Matrix](../VERSION_MATRIX.md) diff --git a/.devcontainer/ghc-9.2/devcontainer.json b/.devcontainer/ghc-9.2/devcontainer.json index d0e0ed4..63e590e 100644 --- a/.devcontainer/ghc-9.2/devcontainer.json +++ b/.devcontainer/ghc-9.2/devcontainer.json @@ -5,7 +5,7 @@ "context": "..", "args": { "GHC_VERSION": "9.2", - "HLS_VERSION": "2.5.0.0", + "HLS_VERSION": "2.6.0.0", "STACK_VERSION": "2.11.1", "USE_ZSH_FOR_ROOT": "unset-to-use-ash", "SET_LANG": "C.UTF-8", diff --git a/.devcontainer/ghc-9.4/devcontainer.json b/.devcontainer/ghc-9.4/devcontainer.json index 07e2521..7ac01e0 100644 --- a/.devcontainer/ghc-9.4/devcontainer.json +++ b/.devcontainer/ghc-9.4/devcontainer.json @@ -5,7 +5,7 @@ "context": "..", "args": { "GHC_VERSION": "9.4", - "HLS_VERSION": "2.5.0.0", + "HLS_VERSION": "2.6.0.0", "USE_ZSH_FOR_ROOT": "unset-to-use-ash", "SET_LANG": "C.UTF-8", "SET_TZ": "" diff --git a/.devcontainer/ghc-9.6/devcontainer.json b/.devcontainer/ghc-9.6/devcontainer.json index b4f3ca9..fe17d0e 100644 --- a/.devcontainer/ghc-9.6/devcontainer.json +++ b/.devcontainer/ghc-9.6/devcontainer.json @@ -5,7 +5,7 @@ "context": "..", "args": { "GHC_VERSION": "9.6", - // "HLS_VERSION": "2.5.0.0", + "HLS_VERSION": "2.6.0.0", "USE_ZSH_FOR_ROOT": "unset-to-use-ash", "SET_LANG": "C.UTF-8", "SET_TZ": "" diff --git a/.devcontainer/ghc-9.8/devcontainer.json b/.devcontainer/ghc-9.8/devcontainer.json index 1ed9873..5d8c84a 100644 --- a/.devcontainer/ghc-9.8/devcontainer.json +++ b/.devcontainer/ghc-9.8/devcontainer.json @@ -5,7 +5,7 @@ "context": "..", "args": { "GHC_VERSION": "9.8", - "HLS_VERSION": "2.5.0.0", + "HLS_VERSION": "2.6.0.0", "USE_ZSH_FOR_ROOT": "unset-to-use-ash", "SET_LANG": "C.UTF-8", "SET_TZ": "" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c98d017..19850d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,8 +3,8 @@ GHC_VERSION: "9.8.1" CABAL_VERSION: "3.10.2.1" STACK_VERSION: "2.13.1" - HLS_VERSION: "2.5.0.0" - BUILD_GHC: "true" + HLS_VERSION: "2.6.0.0" + BUILD_GHC: "false" BUILD_HLS: "true" TAG_VERSION_MAJ_MIN: "true" TAG_VERSION_MAJ: "false" diff --git a/packages/hls/2.6.0.0.Dockerfile b/packages/hls/2.6.0.0.Dockerfile new file mode 100644 index 0000000..97ac6df --- /dev/null +++ b/packages/hls/2.6.0.0.Dockerfile @@ -0,0 +1,45 @@ +ARG GHC_VERSION +ARG HLS_VERSION=2.6.0.0 + +FROM glcr.b-data.ch/ghc/ghc-musl:${GHC_VERSION} as builder + +ARG HLS_VERSION + +RUN apk add --no-cache patchelf findutils \ + && cd /tmp \ + && curl -sSL "https://github.com/haskell/haskell-language-server/archive/refs/tags/$HLS_VERSION.tar.gz" \ + -o "haskell-language-server-$HLS_VERSION.tar.gz" \ + && tar -xzf "haskell-language-server-$HLS_VERSION.tar.gz" \ + && cd "haskell-language-server-$HLS_VERSION" \ + && . .github/scripts/env.sh \ + && . .github/scripts/common.sh \ + && sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project \ + && GHCS="$GHC_VERSION" \ + && export GHCS \ + && ARTIFACT="$(uname -m)-linux-alpine" \ + && export ARTIFACT \ + && cabal update \ + && emake hls-ghc \ + && emake bindist \ + && strip "out/bindist/$ARTIFACT/haskell-language-server-$HLS_VERSION/lib/$GHC_VERSION"/*.so \ + && emake bindist-tar + +FROM alpine:3.19 as hls + +ARG HLS_VERSION + +COPY --from=builder /tmp/haskell-language-server-"$HLS_VERSION"/out/haskell-language-server-*-linux-alpine.tar.xz /tmp/ + +RUN apk add --no-cache build-base \ + && cd /tmp \ + && tar -xJf haskell-language-server-"$HLS_VERSION"-*-linux-alpine.tar.xz \ + && cd haskell-language-server-"$HLS_VERSION" \ + && make install + +FROM scratch + +ARG HLS_VERSION + +ENV HLS_VERSION=${HLS_VERSION} + +COPY --from=hls /usr/local /usr/local -- GitLab