From bd7a3b13107bd7c40aebb0ecc5acf429bd0ec25f Mon Sep 17 00:00:00 2001 From: Olivier Benz <olivier.benz@b-data.ch> Date: Wed, 30 Aug 2023 19:35:27 +0200 Subject: [PATCH] Update HLS to v2.2.0.0 --- .gitlab-ci.yml | 6 ++--- packages/hls/2.2.0.0.Dockerfile | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 packages/hls/2.2.0.0.Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9056284..db18d40 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ GHC_VERSION_BUILD: "9.6.2" CABAL_VERSION_BUILD: "3.10.1.0" STACK_VERSION: "2.11.1" - HLS_VERSION: "2.1.0.0" + HLS_VERSION: "2.2.0.0" BUILD_GHC: "true" BUILD_HLS: "true" @@ -27,10 +27,10 @@ --password-stdin $CI_REGISTRY - > export VERSION_MAJ_MIN_PAT=$GHC_VERSION_BUILD - + export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT | sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"` - + export VERSION_MAJ=`echo $VERSION_MAJ_MIN_PAT | sed -n "s|\([[:digit:]]\+\).*|\1|p"` diff --git a/packages/hls/2.2.0.0.Dockerfile b/packages/hls/2.2.0.0.Dockerfile new file mode 100644 index 0000000..2fb3406 --- /dev/null +++ b/packages/hls/2.2.0.0.Dockerfile @@ -0,0 +1,45 @@ +ARG GHC_VERSION +ARG HLS_VERSION=2.2.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.18 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