Commit 93d2060d authored by Ryan Scott's avatar Ryan Scott

Use GHC 8.8 as the minimum bootstrap compiler version

This patch makes GHC 8.8 the minimum bootstrap compiler across all
Docker images in preparation for the same requirement being imposed
on GHC. In most cases, I was able to use 8.8.3. The exception is
`x86_64-linux-deb10`, where the only 8.8 bindist I could find was
8.8.1.
parent 408eff66
Pipeline #17140 passed with stages
in 144 minutes and 58 seconds
......@@ -19,16 +19,15 @@ RUN apt-get update \
ENV BOOT_LLVM_DIR /opt/llvm-bootstrap
ENV BOOT_LLVM_VERSION 7.0.0
ENV PATH /usr/local/bin:$PATH
RUN curl http://releases.llvm.org/$BOOT_LLVM_VERSION/clang+llvm-$BOOT_LLVM_VERSION-aarch64-linux-gnu.tar.xz | tar -xJC . && \
RUN curl -L http://releases.llvm.org/$BOOT_LLVM_VERSION/clang+llvm-$BOOT_LLVM_VERSION-aarch64-linux-gnu.tar.xz | tar -xJC . && \
mkdir $BOOT_LLVM_DIR && \
cp -R clang+llvm*/* $BOOT_LLVM_DIR && \
rm -R clang+llvm* && \
$BOOT_LLVM_DIR/bin/llc --version
# GHC
# Use 8.8.1 to bootstrap, since earlier releases are especially buggy on AArch64
ENV GHC_VERSION 8.8.1
RUN curl http://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-aarch64-deb9-linux.tar.xz | tar -xJ
ENV GHC_VERSION 8.8.3
RUN curl -L http://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-aarch64-deb9-linux.tar.xz | tar -xJ
WORKDIR /ghc-$GHC_VERSION
RUN ./configure --prefix=/usr/local LLC=$BOOT_LLVM_DIR/bin/llc OPT=$BOOT_LLVM_DIR/bin/opt && \
make install
......@@ -40,7 +39,7 @@ RUN ghc --version
ENV LLVM_DIR /opt/llvm
ENV LLVM_VERSION 9.0.0
ENV PATH $LLVM_DIR/bin:$PATH
RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-aarch64-linux-gnu.tar.xz | tar -xJC . && \
RUN curl -L http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-aarch64-linux-gnu.tar.xz | tar -xJC . && \
mkdir $LLVM_DIR && \
cp -R clang+llvm*/* $LLVM_DIR && \
rm -R clang+llvm* && \
......@@ -48,13 +47,7 @@ RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-aarch64
# Cabal
ENV CABAL_VERSION 3.0.0.0
#RUN git clone https://github.com/haskell/Cabal
#WORKDIR /Cabal
#RUN git checkout cabal-install-v$CABAL_VERSION
#WORKDIR /Cabal/cabal-install
#RUN EXTRA_CONFIGURE_OPTS=--disable-optimization ./bootstrap.sh --global --no-doc
#RUN ls /Cabal/cabal-install/dist/build
RUN curl http://home.smart-cactus.org/~ben/ghc/cabal-install-$CABAL_VERSION-aarch64-debian9-linux.tar.xz | tar -Jx && \
RUN curl -L http://home.smart-cactus.org/~ben/ghc/cabal-install-$CABAL_VERSION-aarch64-debian9-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
ENV PATH /home/ghc/.local/bin:/opt/ghc/$GHC_VERSION/bin:$PATH
......
......@@ -20,16 +20,15 @@ RUN apt-get update \
ENV BOOT_LLVM_DIR /opt/llvm-bootstrap
ENV BOOT_LLVM_VERSION 7.0.0
ENV PATH /usr/local/bin:$PATH
RUN curl http://releases.llvm.org/$BOOT_LLVM_VERSION/clang+llvm-$BOOT_LLVM_VERSION-armv7a-linux-gnueabihf.tar.xz | tar -xJC . && \
RUN curl -L http://releases.llvm.org/$BOOT_LLVM_VERSION/clang+llvm-$BOOT_LLVM_VERSION-armv7a-linux-gnueabihf.tar.xz | tar -xJC . && \
mkdir $BOOT_LLVM_DIR && \
cp -R clang+llvm*/* $BOOT_LLVM_DIR && \
rm -R clang+llvm* && \
$BOOT_LLVM_DIR/bin/llc --version
# GHC
# Use 8.8.1 to bootstrap, since earlier releases are especially buggy on AArch64
ENV GHC_VERSION 8.8.1
RUN curl https://downloads.haskell.org/ghc/$GHC_VERSION/ghc-$GHC_VERSION-armv7l-deb9-linux.tar.xz | tar -xJ
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/ghc/$GHC_VERSION/ghc-$GHC_VERSION-armv7l-deb9-linux.tar.xz | tar -xJ
WORKDIR /ghc-$GHC_VERSION
RUN ./configure --prefix=/usr/local LLC=$BOOT_LLVM_DIR/bin/llc OPT=$BOOT_LLVM_DIR/bin/opt && \
make install
......@@ -41,7 +40,7 @@ RUN ghc --version
ENV LLVM_DIR /opt/llvm
ENV LLVM_VERSION 9.0.0
ENV PATH $LLVM_DIR/bin:$PATH
RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-armv7a-linux-gnueabihf.tar.xz | tar -xJC . && \
RUN curl -L http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-armv7a-linux-gnueabihf.tar.xz | tar -xJC . && \
mkdir $LLVM_DIR && \
cp -R clang+llvm*/* $LLVM_DIR && \
rm -R clang+llvm* && \
......@@ -49,13 +48,7 @@ RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-armv7a-
# Cabal
ENV CABAL_VERSION 3.0.0.0
#RUN git clone https://github.com/haskell/Cabal
#WORKDIR /Cabal
#RUN git checkout cabal-install-v$CABAL_VERSION
#WORKDIR /Cabal/cabal-install
#RUN EXTRA_CONFIGURE_OPTS=--disable-optimization ./bootstrap.sh --global --no-doc
#RUN ls /Cabal/cabal-install/dist/build
RUN curl http://home.smart-cactus.org/~ben/ghc/cabal-install-$CABAL_VERSION-armv7l-debian9-linux.tar.xz | tar -Jx && \
RUN curl -L http://home.smart-cactus.org/~ben/ghc/cabal-install-$CABAL_VERSION-armv7l-debian9-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
ENV PATH /home/ghc/.local/bin:/opt/ghc/$GHC_VERSION/bin:$PATH
......
......@@ -20,8 +20,8 @@ RUN apt-get update -qq \
WORKDIR /tmp
# Get i386 GHC bindist for 32 bit CI builds.
ENV GHC_VERSION 8.6.5
RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-i386-deb9-linux.tar.xz | tar -Jx;
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-i386-deb9-linux.tar.xz | tar -Jx;
WORKDIR /tmp/ghc-$GHC_VERSION
RUN setarch i386 ./configure --prefix=/opt/ghc-i386/$GHC_VERSION CFLAGS=-m32 --target=i386-unknown-linux --build=i386-unknown-linux --host=i386-unknown-linux; \
make install; \
......@@ -30,8 +30,8 @@ ENV PATH /opt/ghc-i386/$GHC_VERSION/bin:$PATH
WORKDIR /tmp
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-i386-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-i386-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# Create a normal user.
......
......@@ -32,8 +32,8 @@ RUN apt-get update -qq && apt-get install --no-install-recommends -qy \
WORKDIR /tmp
# Install GHC and cabal
ENV GHC_VERSION 8.6.5
RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb9-linux.tar.xz | tar -Jx;
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb9-linux.tar.xz | tar -Jx;
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --prefix=/opt/ghc/$GHC_VERSION; \
make install;
......@@ -43,15 +43,15 @@ RUN rm -rf /tmp/ghc-$GHC_VERSION
ENV PATH /opt/ghc/$GHC_VERSION/bin:$PATH
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# LLVM
ENV LLVM_DIR /opt/llvm
ENV LLVM_VERSION 9.0.0
ENV PATH $LLVM_DIR/bin:$PATH
RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC .; \
RUN curl -L http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC .; \
mkdir $LLVM_DIR && \
cp -R clang+llvm*/* $LLVM_DIR && \
rm -R clang+llvm* && \
......@@ -77,7 +77,7 @@ RUN pip3 install mypy==0.701
USER ghc
RUN cabal update
ENV LINTER_COMMIT 265c74fb4f5a341e23dbe2d89a87a5a2516bf3e8
ENV LINTER_COMMIT b5650c094c98daec9416ceac92ca2cf3c099640f
RUN git clone https://gitlab.haskell.org/ghc/git-haskell-org-hooks && \
git -C git-haskell-org-hooks checkout $LINTER_COMMIT
WORKDIR /home/ghc/git-haskell-org-hooks
......
......@@ -11,7 +11,7 @@ mkdir binutils
cd binutils
# Build binutils for target platform.
curl https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS.tar.bz2 | tar xjf -
curl -L https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS.tar.bz2 | tar xjf -
mkdir binutils-build
cd binutils-build
......@@ -32,9 +32,9 @@ case "$ARCH" in
FREEBSD_ARCH=i386
;;
esac
URL=https://download.freebsd.org/ftp/releases/$FREEBSD_ARCH/$FREEBSD/base.txz
curl $URL | tar xJf - -C freebsd ./usr/include ./usr/lib ./lib
curl -L $URL | tar xJf - -C freebsd ./usr/include ./usr/lib ./lib
dst=/usr/local/$ARCH-unknown-freebsd10
......@@ -58,7 +58,7 @@ cp freebsd/lib/libncursesw.so.8 $dst/lib
# Install iconv port in target env.
URL_ICONV=http://pkg.freebsd.org/FreeBSD:11:$FREEBSD_ARCH/latest/All/libiconv-1.14_11.txz
curl $URL_ICONV | tar xJf - -C freebsd
curl -L $URL_ICONV | tar xJf - -C freebsd
cp -r freebsd/usr/local/include $dst/
cp -d freebsd/usr/local/lib/* $dst/lib
......@@ -75,7 +75,7 @@ rm -rf freebsd
# Build gcc for target platform.
mkdir gcc
cd gcc
curl https://ftp.gnu.org/gnu/gcc/gcc-$GCC/gcc-$GCC.tar.gz | tar xzf -
curl -L https://ftp.gnu.org/gnu/gcc/gcc-$GCC/gcc-$GCC.tar.gz | tar xzf -
cd gcc-$GCC
./contrib/download_prerequisites
......
FROM alpine:3.10.2
FROM alpine:3.11.5
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
......@@ -6,33 +6,38 @@ RUN echo "Installing GHC build dependencies..." && \
apk add --no-cache \
autoconf=~2.69 \
automake=~1.16 \
binutils-gold=~2.32 \
binutils-gold=~2.33 \
build-base=~0.5 \
coreutils=~8.31 \
cpio=~2.12 \
cpio=~2.13 \
linux-headers=~4.19 \
libffi-dev=~3.2 \
musl-dev=~1 \
ncurses-dev=~6.1 \
python3=~3.7 \
py3-sphinx=~1.8 \
python3=~3.8 \
py3-sphinx=~2.2 \
zlib-dev=~1.2 \
xz=~5.2 \
bash=~5.0 \
git=~2.22 \
git=~2.24 \
wget=~1.20 \
sudo=~1.8 \
grep=~3 \
curl=~7.66 \
curl=~7.67 \
gmp-dev=~6.1 \
cabal=~2.4
cabal=~2.4 \
ghc=~8.6
WORKDIR /tmp
# Install GHC
ENV GHC_VERSION 8.6.5
ENV GHC_VERSION 8.8.3
# NB: This is not an official bindist, but rather an alternative bindist taken
# from https://github.com/redneb/ghc-alt-libc.
RUN curl -L https://github.com/redneb/ghc-alt-libc/releases/download/ghc-$GHC_VERSION-musl/ghc-$GHC_VERSION-x86_64-unknown-linux-musl.tar.xz | tar -Jx;
# The ghc-alt-libc bindist requires libtinfow.so.6, so symlink what Alpine
# provides. This hack can likely be removed when we start using GHC's native
# Alpine bindists in the future.
RUN ln -s /usr/lib/libncursesw.so.6 /usr/lib/libtinfow.so.6
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --disable-ld-override --prefix=/opt/ghc/$GHC_VERSION; \
make install;
......@@ -47,10 +52,15 @@ RUN echo "ghc ALL = NOPASSWD : ALL" > /etc/sudoers.d/ghc
USER ghc
WORKDIR /home/ghc/
# Build Haskell tools
# Install cabal
ENV BOOT_GHC /usr/bin/ghc
RUN cabal v2-update && \
cabal v2-install hscolour happy alex --constraint 'happy ^>= 1.19.10'
cabal v2-install cabal-install --constraint 'cabal-install ^>= 3.0' -w $BOOT_GHC
ENV PATH /home/ghc/.cabal/bin:$PATH
# Build Haskell tools
RUN cabal user-config update && \
cabal v2-install hscolour happy alex --constraint 'happy ^>= 1.19.10'
ENV SPHINXBUILD /usr/bin/sphinx-build-3
CMD ["bash"]
......@@ -32,8 +32,8 @@ RUN sed -i -e 's/systemd//g' /etc/nsswitch.conf
WORKDIR /tmp
# Install GHC and cabal
ENV GHC_VERSION 8.6.5
RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-centos7-linux.tar.xz | tar -Jx
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-centos7-linux.tar.xz | tar -Jx
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --prefix=/opt/ghc/$GHC_VERSION && make install
......@@ -43,8 +43,8 @@ ENV PATH /opt/ghc/$GHC_VERSION/bin:$PATH
WORKDIR /tmp
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# Create a normal user.
......
......@@ -33,8 +33,8 @@ RUN apt-get update -qq && apt-get install --no-install-recommends -qy \
WORKDIR /tmp
# Install GHC and cabal
ENV GHC_VERSION 8.8.1
#RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-fedora27-linux.tar.xz | tar -Jx;
RUN curl http://home.smart-cactus.org/~ben/ghc/release-prep/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb10-linux.tar.xz | tar -Jx;
#RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb10-linux.tar.xz | tar -Jx;
RUN curl -L http://home.smart-cactus.org/~ben/ghc/release-prep/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb10-linux.tar.xz | tar -Jx;
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --prefix=/opt/ghc/$GHC_VERSION; \
make install;
......@@ -44,15 +44,15 @@ RUN rm -rf /tmp/ghc-$GHC_VERSION
ENV PATH /opt/ghc/$GHC_VERSION/bin:$PATH
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# LLVM
ENV LLVM_DIR /opt/llvm
ENV LLVM_VERSION 7.0.0
ENV PATH $LLVM_DIR/bin:$PATH
RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC .; \
RUN curl -L http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC .; \
mkdir $LLVM_DIR && \
cp -R clang+llvm*/* $LLVM_DIR && \
rm -R clang+llvm* && \
......
......@@ -18,8 +18,8 @@ RUN apt-get update -qq && apt-get install --no-install-recommends -qy zlib1g-dev
WORKDIR /tmp
# Install GHC and cabal
ENV GHC_VERSION 8.6.5
RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb8-linux.tar.xz | tar -Jx;
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb8-linux.tar.xz | tar -Jx;
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --prefix=/opt/ghc/$GHC_VERSION; \
make install;
......@@ -29,8 +29,8 @@ RUN rm -rf /tmp/ghc-$GHC_VERSION
ENV PATH /opt/ghc/$GHC_VERSION/bin:$PATH
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# Create a normal user.
......
......@@ -32,8 +32,8 @@ RUN apt-get update -qq && apt-get install --no-install-recommends -qy \
WORKDIR /tmp
# Install GHC and cabal
ENV GHC_VERSION 8.6.5
RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb9-linux.tar.xz | tar -Jx;
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-deb9-linux.tar.xz | tar -Jx;
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --prefix=/opt/ghc/$GHC_VERSION; \
make install;
......@@ -43,15 +43,15 @@ RUN rm -rf /tmp/ghc-$GHC_VERSION
ENV PATH /opt/ghc/$GHC_VERSION/bin:$PATH
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# LLVM
ENV LLVM_DIR /opt/llvm
ENV LLVM_VERSION 9.0.0
ENV PATH $LLVM_DIR/bin:$PATH
RUN curl http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC .; \
RUN curl -L http://releases.llvm.org/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC .; \
mkdir $LLVM_DIR && \
cp -R clang+llvm*/* $LLVM_DIR && \
rm -R clang+llvm* && \
......
......@@ -32,8 +32,8 @@ RUN sed -i -e 's/systemd//g' /etc/nsswitch.conf
WORKDIR /tmp
# Install GHC and cabal
ENV GHC_VERSION 8.6.5
RUN curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-fedora27-linux.tar.xz | tar -Jx;
ENV GHC_VERSION 8.8.3
RUN curl -L https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-fedora27-linux.tar.xz | tar -Jx;
WORKDIR /tmp/ghc-$GHC_VERSION
RUN ./configure --prefix=/opt/ghc/$GHC_VERSION; \
make install; \
......@@ -42,8 +42,8 @@ ENV PATH /opt/ghc/$GHC_VERSION/bin:$PATH
WORKDIR /tmp
# Get Cabal
ENV CABAL_VERSION 2.4.1.0
RUN curl https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
ENV CABAL_VERSION 3.0.0.0
RUN curl -L https://downloads.haskell.org/cabal/cabal-install-$CABAL_VERSION/cabal-install-$CABAL_VERSION-x86_64-unknown-linux.tar.xz | tar -Jx && \
mv cabal /usr/local/bin/cabal
# Create a normal user.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment