Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
4ffbffb40a
|
|||
|
3a58458c7d
|
|||
|
bbd11bfa26
|
|||
|
75548fa02d
|
|||
|
e029117c3e
|
|||
|
5e17eb7ca7
|
|||
|
056c79e813
|
@@ -77,7 +77,7 @@ variables:
|
||||
|
||||
.freebsd:
|
||||
tags:
|
||||
- x86_64-freebsd
|
||||
- x86_64-freebsd13
|
||||
variables:
|
||||
OS: "FREEBSD"
|
||||
ARCH: "64"
|
||||
|
||||
@@ -11,9 +11,9 @@ mkdir -p "${TMPDIR}"
|
||||
curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-portbld-freebsd-ghcup > ./ghcup-bin
|
||||
chmod +x ghcup-bin
|
||||
|
||||
./ghcup-bin upgrade -i -f
|
||||
./ghcup-bin install ${GHC_VERSION}
|
||||
./ghcup-bin set ${GHC_VERSION}
|
||||
./ghcup-bin install-cabal ${CABAL_VERSION}
|
||||
./ghcup-bin -v upgrade -i -f
|
||||
./ghcup-bin -v install ${GHC_VERSION}
|
||||
./ghcup-bin -v set ${GHC_VERSION}
|
||||
./ghcup-bin -v install-cabal ${CABAL_VERSION}
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -7,67 +7,21 @@ set -eux
|
||||
mkdir -p "${TMPDIR}"
|
||||
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https
|
||||
sudo apt-get install -y libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential
|
||||
|
||||
if [ "${CROSS}" = "arm-linux-gnueabihf" ] ; then
|
||||
sudo apt-get install -y autoconf build-essential gcc-arm-linux-gnueabihf
|
||||
sudo apt-get install -y gcc-arm-linux-gnueabihf
|
||||
sudo dpkg --add-architecture armhf
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libncurses-dev:armhf
|
||||
fi
|
||||
|
||||
case "${ARCH}" in
|
||||
ARM*)
|
||||
case "${ARCH}" in
|
||||
"ARM")
|
||||
ghc_url=https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-armv7-deb10-linux.tar.xz
|
||||
cabal_url=home.smart-cactus.org/~ben/cabal-install-${CABAL_VERSION}-armv7-linux-bootstrapped.tar.xz
|
||||
;;
|
||||
"ARM64")
|
||||
ghc_url=https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-aarch64-deb10-linux.tar.xz
|
||||
cabal_url=https://downloads.haskell.org/~cabal/cabal-install-${CABAL_VERSION}/cabal-install-${CABAL_VERSION}-aarch64-ubuntu-18.04.tar.xz
|
||||
;;
|
||||
*)
|
||||
exit 1 ;;
|
||||
esac
|
||||
export BOOTSTRAP_HASKELL_NONINTERACTIVE=1
|
||||
export BOOTSTRAP_HASKELL_GHC_VERSION=$GHC_VERSION
|
||||
export BOOTSTRAP_HASKELL_CABAL_VERSION=$CABAL_VERSION
|
||||
export BOOTSTRAP_HASKELL_VERBOSE=1
|
||||
|
||||
mkdir -p "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
|
||||
|
||||
curl -O "${ghc_url}"
|
||||
tar -xf ghc-*.tar.*
|
||||
cd ghc-${GHC_VERSION}
|
||||
./configure --prefix="${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/ghc/${GHC_VERSION}
|
||||
make install
|
||||
for i in "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/ghc/${GHC_VERSION}/bin/*-${GHC_VERSION} ; do
|
||||
ln -s "${i}" "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/${i##*/}
|
||||
done
|
||||
for x in "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/*-${GHC_VERSION} ; do
|
||||
ln -s ${x##*/} ${x%-${GHC_VERSION}}
|
||||
done
|
||||
cd ..
|
||||
rm -rf ghc-${GHC_VERSION} ghc-*.tar.*
|
||||
unset x i
|
||||
|
||||
mkdir cabal-install
|
||||
cd cabal-install
|
||||
curl -O "${cabal_url}"
|
||||
tar -xf cabal-install-*
|
||||
mv cabal "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/cabal
|
||||
cd ..
|
||||
rm -rf cabal-install
|
||||
|
||||
;;
|
||||
*)
|
||||
url=https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup
|
||||
|
||||
curl -sSfL "${url}" > ./ghcup-bin
|
||||
chmod +x ghcup-bin
|
||||
|
||||
./ghcup-bin upgrade -i -f
|
||||
./ghcup-bin install ghc ${GHC_VERSION}
|
||||
./ghcup-bin set ghc ${GHC_VERSION}
|
||||
./ghcup-bin install cabal ${CABAL_VERSION}
|
||||
|
||||
;;
|
||||
esac
|
||||
rm "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/ghcup
|
||||
|
||||
|
||||
32
docker/alpine/3.14.2/8.10.7/Dockerfile
Normal file
32
docker/alpine/3.14.2/8.10.7/Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM alpine:3.14.2
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN apk add --no-cache \
|
||||
curl \
|
||||
gcc \
|
||||
g++ \
|
||||
binutils \
|
||||
binutils-gold \
|
||||
gmp \
|
||||
ncurses \
|
||||
libffi \
|
||||
make \
|
||||
xz \
|
||||
tar \
|
||||
perl
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup install ghc --set 8.10.7 && \
|
||||
ghcup install cabal latest && \
|
||||
ghcup install stack latest
|
||||
30
docker/alpine/3.14.2/minimal/Dockerfile
Normal file
30
docker/alpine/3.14.2/minimal/Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
||||
FROM alpine:3.14.2
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN apk add --no-cache \
|
||||
curl \
|
||||
gcc \
|
||||
g++ \
|
||||
binutils \
|
||||
binutils-gold \
|
||||
gmp \
|
||||
ncurses \
|
||||
libffi \
|
||||
make \
|
||||
xz \
|
||||
tar \
|
||||
perl
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup prefetch metadata
|
||||
32
docker/alpine/latest/8.10.7/Dockerfile
Normal file
32
docker/alpine/latest/8.10.7/Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM alpine:latest
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN apk add --no-cache \
|
||||
curl \
|
||||
gcc \
|
||||
g++ \
|
||||
binutils \
|
||||
binutils-gold \
|
||||
gmp \
|
||||
ncurses \
|
||||
libffi \
|
||||
make \
|
||||
xz \
|
||||
tar \
|
||||
perl
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup install ghc --set 8.10.7 && \
|
||||
ghcup install cabal latest && \
|
||||
ghcup install stack latest
|
||||
30
docker/alpine/latest/minimal/Dockerfile
Normal file
30
docker/alpine/latest/minimal/Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
||||
FROM alpine:latest
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN apk add --no-cache \
|
||||
curl \
|
||||
gcc \
|
||||
g++ \
|
||||
binutils \
|
||||
binutils-gold \
|
||||
gmp \
|
||||
ncurses \
|
||||
libffi \
|
||||
make \
|
||||
xz \
|
||||
tar \
|
||||
perl
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup prefetch metadata
|
||||
25
docker/ubuntu/20.04/8.10.7/Dockerfile
Normal file
25
docker/ubuntu/20.04/8.10.7/Dockerfile
Normal file
@@ -0,0 +1,25 @@
|
||||
FROM ubuntu:20.04
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update -y && \
|
||||
apt-get install -y --no-install-recommends libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/cache/apt/archives && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup install ghc --set 8.10.7 && \
|
||||
ghcup install cabal latest && \
|
||||
ghcup install stack latest
|
||||
23
docker/ubuntu/20.04/minimal/Dockerfile
Normal file
23
docker/ubuntu/20.04/minimal/Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
FROM ubuntu:20.04
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update -y && \
|
||||
apt-get install -y --no-install-recommends libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/cache/apt/archives && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup prefetch metadata
|
||||
25
docker/ubuntu/latest/8.10.7/Dockerfile
Normal file
25
docker/ubuntu/latest/8.10.7/Dockerfile
Normal file
@@ -0,0 +1,25 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update -y && \
|
||||
apt-get install -y --no-install-recommends libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/cache/apt/archives && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup install ghc --set 8.10.7 && \
|
||||
ghcup install cabal latest && \
|
||||
ghcup install stack latest
|
||||
23
docker/ubuntu/latest/minimal/Dockerfile
Normal file
23
docker/ubuntu/latest/minimal/Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
# install deps needed by GHC
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update -y && \
|
||||
apt-get install -y --no-install-recommends libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/cache/apt/archives && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG GHCUP_VERSION
|
||||
|
||||
# install ghcup
|
||||
RUN if [ -n "$GHCUP_VERSION" ] ; \
|
||||
then curl -sSfL https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/x86_64-linux-ghcup-$GHCUP_VERSION > /usr/bin/ghcup ; \
|
||||
else curl -sSfL https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup > /usr/bin/ghcup ; \
|
||||
fi && \
|
||||
chmod +x /usr/bin/ghcup
|
||||
|
||||
ENV GHCUP_INSTALL_BASE_PREFIX=/usr/local
|
||||
ENV PATH=/usr/local/.ghcup/bin:$PATH
|
||||
|
||||
RUN ghcup prefetch metadata
|
||||
Reference in New Issue
Block a user