Use debian:10 rather

This commit is contained in:
2023-02-19 18:11:00 +08:00
parent 6cf9967e7c
commit e1e6f579d5
7 changed files with 57 additions and 82 deletions

View File

@@ -1,4 +1,4 @@
FROM arm64v8/ubuntu:bionic
FROM arm64v8/debian:10
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
@@ -24,29 +24,14 @@ RUN apt-get update && \
xz-utils \
zlib1g-dev \
libnuma-dev libgmp10 libssl-dev liblzma-dev libbz2-dev wget lsb-release software-properties-common apt-transport-https gcc autoconf automake build-essential gzip patchelf tree \
llvm-9 clang-9 && \
llvm-11 clang-11 && \
rm -rf /var/lib/apt/lists/*
RUN update_opt.sh 9 1
RUN update_opt.sh 11 1
ARG GHCUP_VERSION=0.1.18.0
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F
# install libtinfo.so.6 for ghcup
RUN cd /tmp && \
curl -sSfL -O https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz && \
tar xf ncurses-6.1.tar.gz && \
cd ncurses-6.1/ && \
./configure --prefix=/root/.local \
--with-shared \
--with-versioned-syms \
--without-ada \
--with-termlib && \
make -j && \
make install && \
cd && \
rm -rf /tmp/ncurses-6.1
# install ghcup
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/aarch64-linux-ghcup-$GHCUP_VERSION && \
@@ -54,12 +39,7 @@ RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \
gpg --verify SHA256SUMS.sig SHA256SUMS && \
sha256sum -c --ignore-missing SHA256SUMS && \
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup.bin && \
chmod +x /usr/bin/ghcup.bin && \
echo '#!/bin/sh' > /usr/bin/ghcup && \
echo '' >> /usr/bin/ghcup && \
echo 'export LD_LIBRARY_PATH=/root/.local/lib' >> /usr/bin/ghcup && \
echo 'exec /usr/bin/ghcup.bin "$@"' >> /usr/bin/ghcup && \
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \
chmod +x /usr/bin/ghcup && \
rm -rf SHA256SUMS SHA256SUMS.sig
@@ -74,10 +54,7 @@ ENV NO_COLOR=1
RUN ghcup config set gpg-setting GPGStrict && \
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \
find "/usr/lib/ghc-${GHC}/" \( -name "*_p.a" -o -name "*.p_hi" \) -type f -delete && \
rm -r "/usr/share/doc/ghc-${GHC}" && \
rm -rf /tmp/ghcup* && \
ghcup gc -p -s -c -t
ghcup gc -s -c -t
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH