diff --git a/build.Dockerfile b/build.Dockerfile index c8cf42928..a7d670e25 100644 --- a/build.Dockerfile +++ b/build.Dockerfile @@ -4,16 +4,14 @@ FROM ubuntu:focal AS build ### Build stage # Install curl and git and smp-related dependencies -RUN apt-get update && apt-get install -y curl git build-essential libgmp3-dev zlib1g-dev +RUN apt-get update && apt-get install -y curl git build-essential libgmp3-dev zlib1g-dev llvm llvm-dev libnuma-dev # Install ghcup -RUN curl https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup -o /usr/bin/ghcup && \ - chmod +x /usr/bin/ghcup +RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=8.10.7 BOOTSTRAP_HASKELL_CABAL_VERSION=3.6.2.0 sh + +# Adjust PATH +ENV PATH="/root/.cabal/bin:/root/.ghcup/bin:$PATH" -# Install ghc -RUN ghcup install ghc 8.10.7 -# Install cabal -RUN ghcup install cabal # Set both as default RUN ghcup set ghc 8.10.7 && \ ghcup set cabal @@ -21,9 +19,6 @@ RUN ghcup set ghc 8.10.7 && \ COPY . /project WORKDIR /project -# Adjust PATH -ENV PATH="/root/.cabal/bin:/root/.ghcup/bin:$PATH" - # Compile smp-server RUN cabal update RUN cabal install @@ -33,7 +28,7 @@ RUN cabal install FROM final # Install OpenSSL dependency -RUN apt-get update && apt-get install -y openssl +RUN apt-get update && apt-get install -y openssl libnuma-dev # Copy compiled smp-server from build stage COPY --from=build /root/.cabal/bin/smp-server /usr/bin/smp-server