@@ -6,41 +6,56 @@ RUN apt-get update && \
6
6
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr && \
7
7
rm -rf /var/lib/apt/lists/*
8
8
9
- ARG GHC=8.10.2
9
+ ARG GHC=8.10.3
10
10
ARG DEBIAN_KEY=427CB69AAC9D00F2A43CAF1CBA3CBA3FFE22B574
11
11
ARG CABAL_INSTALL=3.2
12
12
ARG STACK=2.5.1
13
13
ARG STACK_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442
14
14
ARG STACK_RELEASE_KEY=2C6A674E85EE3FB896AFC9B965101FF31C5C154D
15
15
16
- RUN export GNUPGHOME="$(mktemp -d)" && \
17
- gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${DEBIAN_KEY} && \
18
- gpg --batch --armor --export ${DEBIAN_KEY} > /etc/apt/trusted.gpg.d/haskell.org.gpg.asc && \
19
- gpgconf --kill all && \
20
- echo 'deb http://downloads.haskell.org/debian buster main' > /etc/apt/sources.list.d/ghc.list && \
21
- apt-get update && \
22
- apt-get install -y --no-install-recommends \
23
- cabal-install-${CABAL_INSTALL} \
24
- curl \
25
- g++ \
26
- ghc-${GHC} \
27
- git \
28
- libsqlite3-dev \
29
- libtinfo-dev \
30
- make \
31
- netbase \
32
- openssh-client \
33
- xz-utils \
34
- zlib1g-dev && \
16
+ RUN apt-get update && \
17
+ apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl \
18
+ zlib1g-dev libtinfo-dev libsqlite3-dev \
19
+ g++ netbase xz-utils libnuma-dev make openssh-client && \
20
+ export GNUPGHOME="$(mktemp -d)" && \
21
+ if [ `uname -m` = "aarch64" ] ; then \
22
+ curl -fSL https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-aarch64-deb10-linux.tar.xz -o ghc-8.10.3-aarch64-deb10-linux.tar.gz && \
23
+ tar -xvf ghc-8.10.3-aarch64-deb10-linux.tar.gz && \
24
+ cd ghc-8.10.3 && \
25
+ ./configure && \
26
+ make install && \
27
+ cd ../ && \
28
+ rm -rf ghc-8.10.3-aarch64-deb10-linux.tar.gz ghc-8.10.3 && \
29
+ apt-get install -y cabal-install; \
30
+ else \
31
+ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${DEBIAN_KEY} && \
32
+ gpg --batch --armor --export ${DEBIAN_KEY} > /etc/apt/trusted.gpg.d/haskell.org.gpg.asc && \
33
+ gpgconf --kill all && \
34
+ echo 'deb http://downloads.haskell.org/debian buster main' > /etc/apt/sources.list.d/ghc.list && \
35
+ apt-get update && \
36
+ apt-get install -y --no-install-recommends \
37
+ cabal-install-${CABAL_INSTALL} \
38
+ ghc-${GHC}; \
39
+ fi && \
35
40
rm -rf "$GNUPGHOME" /var/lib/apt/lists/*
36
41
37
- RUN export GNUPGHOME="$(mktemp -d)" && \
38
- gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_KEY} && \
39
- gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_RELEASE_KEY} && \
40
- curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz -o stack.tar.gz && \
41
- curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \
42
- gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \
43
- tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \
42
+ RUN arch=`uname -m` && \
43
+ export GNUPGHOME="$(mktemp -d)" && \
44
+ if [ $arch = "aarch64" ] ; then \
45
+ curl -fSL https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-$arch.tar.gz -o stack.tar.gz && \
46
+ curl -fSL https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-$arch.tar.gz.asc -o stack.tar.gz.asc && \
47
+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys C5705533DA4F78D8664B5DC0575159689BEFB442 && \
48
+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 2C6A674E85EE3FB896AFC9B965101FF31C5C154D && \
49
+ gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \
50
+ tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1; \
51
+ else \
52
+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_KEY} && \
53
+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_RELEASE_KEY} && \
54
+ curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz -o stack.tar.gz && \
55
+ curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \
56
+ gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \
57
+ tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1; \
58
+ fi && \
44
59
/usr/local/bin/stack config set system-ghc --global true && \
45
60
/usr/local/bin/stack config set install-ghc --global false && \
46
61
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* /stack.tar.gz.asc /stack.tar.gz
0 commit comments