FROM ubuntu:26.04 RUN apt-get update && apt-get install -y \ build-essential \ curl \ libffi-dev \ libffi8ubuntu1 \ libgmp-dev \ libgmp10 \ libncurses-dev \ git \ zlib1g-dev \ ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y \ locales \ && locale-gen en_US.UTF-8 \ && update-locale LANG=en_US.UTF-8 \ && rm -rf /var/lib/apt/lists/* USER ubuntu ENV BOOTSTRAP_HASKELL_NONINTERACTIVE=1 \ BOOTSTRAP_HASKELL_INSTALL_HLS=1 \ BOOTSTRAP_HASKELL_GHC_VERSION=9.10.3 \ BOOTSTRAP_HASKELL_CABAL_VERSION=3.16.1.0 RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh \ && ~/.ghcup/bin/ghcup gc -c -t \ && rm -rf ~/.ghcup/cache/* \ && find ~/.ghcup/ -name "*.tar.xz" -delete \ && find ~/.ghcup/ -name "*.tar.gz" -delete \ && find ~/.ghcup/ -type d -name "doc" -exec rm -rf {} + \ && find ~/.ghcup/ -name "*_p.a" -delete \ && rm -rf ~/.cabal/packages/* ENV PATH="$PATH:/home/ubuntu/.ghcup/bin" RUN cabal update && cabal install --lib HUnit \ && rm -rf ~/.cabal/packages/* # workaround for aarch64 architecture to compile HLS RUN if [ "$(uname -m)" = "aarch64" ]; then \ export LANG=C.UTF-8 && export LC_ALL=C.UTF-8 \ && cabal update && ghcup compile hls --version 2.14.0.0 --ghc 9.10.3 \ && rm -rf ~/.cabal/packages/*; \ fi