diff --git a/aarch64-linux-deb9/Dockerfile b/aarch64-linux-deb9/Dockerfile index 2ae608105190bc3ae66b001547bad1e0d2ff56db..e481de5ee532302acee133283be2eb20ef4a3b0d 100644 --- a/aarch64-linux-deb9/Dockerfile +++ b/aarch64-linux-deb9/Dockerfile @@ -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 diff --git a/armv7-linux-deb9/Dockerfile b/armv7-linux-deb9/Dockerfile index fb3627d093565e382986bf17a430304fa70ed9c8..122ade6aae4728a3a6ee832a1d54fbae171b8c85 100644 --- a/armv7-linux-deb9/Dockerfile +++ b/armv7-linux-deb9/Dockerfile @@ -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 diff --git a/i386-linux-deb9/Dockerfile b/i386-linux-deb9/Dockerfile index 312b5b27b3ef868111bc9d6499f2cdb010d13e31..97c6037fe3e9ad59d628054996b2a06a3a912d0b 100644 --- a/i386-linux-deb9/Dockerfile +++ b/i386-linux-deb9/Dockerfile @@ -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. diff --git a/linters/Dockerfile b/linters/Dockerfile index 279b75c66fc4a12011f52d9916527c06a4a9a7eb..e866b29090c56e409959e3d3ba0241f24e230bd0 100644 --- a/linters/Dockerfile +++ b/linters/Dockerfile @@ -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 diff --git a/x86_64-freebsd/build-toolchain.sh b/x86_64-freebsd/build-toolchain.sh index e7744d03285a76af17779bafb5e603963597686b..778c76b08911b6269cc3c0ddd2f45b57f1826e29 100755 --- a/x86_64-freebsd/build-toolchain.sh +++ b/x86_64-freebsd/build-toolchain.sh @@ -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 diff --git a/x86_64-linux-alpine/Dockerfile b/x86_64-linux-alpine/Dockerfile index 12abb8d4e47efef2370d479799446fb47095a885..a135960340da2083e85dbf219d5588c3d11575ac 100644 --- a/x86_64-linux-alpine/Dockerfile +++ b/x86_64-linux-alpine/Dockerfile @@ -1,4 +1,4 @@ -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"] diff --git a/x86_64-linux-centos7/Dockerfile b/x86_64-linux-centos7/Dockerfile index 800b2a9ce6d39b9862442f5060a4a3c0c457aecc..d9acfb17273e9b46e4e5e877895db35eba744bbb 100644 --- a/x86_64-linux-centos7/Dockerfile +++ b/x86_64-linux-centos7/Dockerfile @@ -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. diff --git a/x86_64-linux-deb10/Dockerfile b/x86_64-linux-deb10/Dockerfile index 3ec05790517cbf7f95e0402628df65ca00791877..8304f26a0591d4508dd808cb4bc300c996103c25 100644 --- a/x86_64-linux-deb10/Dockerfile +++ b/x86_64-linux-deb10/Dockerfile @@ -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* && \ diff --git a/x86_64-linux-deb8/Dockerfile b/x86_64-linux-deb8/Dockerfile index a3c17266d17befcdf083cfc19165d99862f75a06..c26b3aea018bc831c2a8930b0638ab3bf405896e 100644 --- a/x86_64-linux-deb8/Dockerfile +++ b/x86_64-linux-deb8/Dockerfile @@ -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. diff --git a/x86_64-linux-deb9/Dockerfile b/x86_64-linux-deb9/Dockerfile index d54236deb4ec2db0f0aa2a9a83c4c4ddcfd831b6..611c838689c8a2d15e578a1fa24a382dc65ce542 100644 --- a/x86_64-linux-deb9/Dockerfile +++ b/x86_64-linux-deb9/Dockerfile @@ -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* && \ diff --git a/x86_64-linux-fedora27/Dockerfile b/x86_64-linux-fedora27/Dockerfile index 185b6e9edf7199813206969b8f4ff688eea7c7cb..e08be395f5577c189689f1fd653a880ad7fa44b8 100644 --- a/x86_64-linux-fedora27/Dockerfile +++ b/x86_64-linux-fedora27/Dockerfile @@ -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.