Skip to content

Commit 39c7290

Browse files
committed
Reduce build headaches.
1 parent 01180ce commit 39c7290

File tree

2 files changed

+46
-26
lines changed

2 files changed

+46
-26
lines changed

8.6/Dockerfile

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,37 @@
1-
## Dockerfile for a haskell environment
2-
FROM debian:stretch
3-
4-
## ensure locale is set during build
5-
ENV LANG C.UTF-8
1+
FROM debian:stretch
62

73
RUN apt-get update && \
8-
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git && \
4+
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr && \
5+
rm -rf /var/lib/apt/lists/*
6+
7+
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 427CB69AAC9D00F2A43CAF1CBA3CBA3FFE22B574 && \
98
echo 'deb http://downloads.haskell.org/debian stretch main' > /etc/apt/sources.list.d/ghc.list && \
10-
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA3CBA3FFE22B574 && \
119
apt-get update && \
12-
apt-get install -y --no-install-recommends ghc-8.6.5 cabal-install-2.4 \
13-
zlib1g-dev libtinfo-dev libsqlite3-dev g++ netbase xz-utils make openssh-client && \
10+
apt-get install -y --no-install-recommends \
11+
cabal-install-2.4 \
12+
curl \
13+
g++ \
14+
ghc-8.6.5 \
15+
git \
16+
libsqlite3-dev \
17+
libtinfo-dev \
18+
make \
19+
netbase \
20+
openssh-client \
21+
xz-utils \
22+
zlib1g-dev && \
23+
rm -rf /var/lib/apt/lists/*
24+
25+
RUN export GNUPGHOME="$(mktemp -d)" && \
26+
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys C5705533DA4F78D8664B5DC0575159689BEFB442 && \
1427
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz -o stack.tar.gz && \
1528
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \
16-
export GNUPGHOME="$(mktemp -d)" && \
17-
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys C5705533DA4F78D8664B5DC0575159689BEFB442 && \
18-
gpg --batch --verify stack.tar.gz.asc stack.tar.gz && \
29+
gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \
1930
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \
2031
/usr/local/bin/stack config set system-ghc --global true && \
2132
/usr/local/bin/stack config set install-ghc --global false && \
2233
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* /stack.tar.gz.asc /stack.tar.gz
2334

2435
ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/2.4/bin:/opt/ghc/8.6.5/bin:$PATH
2536

26-
## run ghci by default unless a command is specified
2737
CMD ["ghci"]

8.8/Dockerfile

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,32 @@
1-
## Dockerfile for a haskell environment
2-
FROM debian:stretch
3-
4-
## ensure locale is set during build
5-
ENV LANG C.UTF-8
1+
FROM debian:stretch
62

73
RUN apt-get update && \
8-
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git && \
4+
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr && \
5+
rm -rf /var/lib/apt/lists/*
6+
7+
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 427CB69AAC9D00F2A43CAF1CBA3CBA3FFE22B574 && \
98
echo 'deb http://downloads.haskell.org/debian stretch main' > /etc/apt/sources.list.d/ghc.list && \
10-
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA3CBA3FFE22B574 && \
119
apt-get update && \
12-
apt-get install -y --no-install-recommends ghc-8.8.1 cabal-install-3.0 \
13-
zlib1g-dev libtinfo-dev libsqlite3-dev g++ netbase xz-utils make openssh-client && \
14-
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-x86_64.tar.gz -o stack.tar.gz && \
15-
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \
16-
export GNUPGHOME="$(mktemp -d)" && \
10+
apt-get install -y --no-install-recommends \
11+
cabal-install-3.0 \
12+
curl \
13+
g++ \
14+
ghc-8.8.1 \
15+
git \
16+
libsqlite3-dev \
17+
libtinfo-dev \
18+
make \
19+
netbase \
20+
openssh-client \
21+
xz-utils \
22+
zlib1g-dev && \
23+
rm -rf /var/lib/apt/lists/*
24+
25+
RUN export GNUPGHOME="$(mktemp -d)" && \
1726
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys C5705533DA4F78D8664B5DC0575159689BEFB442 && \
1827
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 2C6A674E85EE3FB896AFC9B965101FF31C5C154D && \
28+
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-x86_64.tar.gz -o stack.tar.gz && \
29+
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v2.1.3/stack-2.1.3-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \
1930
gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \
2031
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \
2132
/usr/local/bin/stack config set system-ghc --global true && \
@@ -24,5 +35,4 @@ RUN apt-get update && \
2435

2536
ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/3.0/bin:/opt/ghc/8.8.1/bin:$PATH
2637

27-
## run ghci by default unless a command is specified
2838
CMD ["ghci"]

0 commit comments

Comments
 (0)