Skip to content

Commit 5c48338

Browse files
committed
fix: update rest of the Dockerfiles with the generator
1 parent 64d7e9b commit 5c48338

File tree

14 files changed

+623
-490
lines changed

14 files changed

+623
-490
lines changed

9.10/bookworm/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ RUN <<EOT
2525
rm -rf /var/lib/apt/lists/*
2626
EOT
2727

28-
ARG STACK=3.3.1
29-
ARG STACK_RELEASE_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442
28+
ARG STACK='3.3.1'
29+
ARG STACK_RELEASE_KEY='C5705533DA4F78D8664B5DC0575159689BEFB442'
3030

3131
RUN <<EOT
3232
set -eux
@@ -62,8 +62,8 @@ RUN <<EOT
6262
stack --version;
6363
EOT
6464

65-
ARG CABAL_INSTALL=3.14.1.1
66-
ARG CABAL_INSTALL_RELEASE_KEY=EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF
65+
ARG CABAL_INSTALL='3.14.1.1'
66+
ARG CABAL_INSTALL_RELEASE_KEY='EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF'
6767

6868
RUN <<EOT
6969
set -eux

9.10/bullseye/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ RUN <<EOT
2525
rm -rf /var/lib/apt/lists/*
2626
EOT
2727

28-
ARG STACK=3.3.1
29-
ARG STACK_RELEASE_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442
28+
ARG STACK='3.3.1'
29+
ARG STACK_RELEASE_KEY='C5705533DA4F78D8664B5DC0575159689BEFB442'
3030

3131
RUN <<EOT
3232
set -eux
@@ -62,8 +62,8 @@ RUN <<EOT
6262
stack --version;
6363
EOT
6464

65-
ARG CABAL_INSTALL=3.14.1.1
66-
ARG CABAL_INSTALL_RELEASE_KEY=EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF
65+
ARG CABAL_INSTALL='3.14.1.1'
66+
ARG CABAL_INSTALL_RELEASE_KEY='EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF'
6767

6868
RUN <<EOT
6969
set -eux

9.10/slim-bookworm/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ RUN <<EOT
2525
rm -rf /var/lib/apt/lists/*
2626
EOT
2727

28-
ARG STACK=3.3.1
29-
ARG STACK_RELEASE_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442
28+
ARG STACK='3.3.1'
29+
ARG STACK_RELEASE_KEY='C5705533DA4F78D8664B5DC0575159689BEFB442'
3030

3131
RUN <<EOT
3232
set -eux
@@ -62,8 +62,8 @@ RUN <<EOT
6262
stack --version;
6363
EOT
6464

65-
ARG CABAL_INSTALL=3.14.1.1
66-
ARG CABAL_INSTALL_RELEASE_KEY=EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF
65+
ARG CABAL_INSTALL='3.14.1.1'
66+
ARG CABAL_INSTALL_RELEASE_KEY='EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF'
6767

6868
RUN <<EOT
6969
set -eux

9.10/slim-bullseye/Dockerfile

Lines changed: 103 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ FROM debian:bullseye-slim
33
ENV LANG=C.UTF-8
44

55
# common haskell + stack dependencies
6-
RUN apt-get update && \
6+
RUN <<EOT
7+
apt-get update && \
78
apt-get install -y --no-install-recommends \
89
ca-certificates \
910
curl \
@@ -22,112 +23,120 @@ RUN apt-get update && \
2223
xz-utils \
2324
zlib1g-dev && \
2425
rm -rf /var/lib/apt/lists/*
26+
EOT
2527

26-
ARG STACK=3.3.1
27-
ARG STACK_RELEASE_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442
28+
ARG STACK='3.3.1'
29+
ARG STACK_RELEASE_KEY='C5705533DA4F78D8664B5DC0575159689BEFB442'
2830

29-
RUN set -eux; \
30-
cd /tmp; \
31-
ARCH="$(dpkg-architecture --query DEB_BUILD_GNU_CPU)"; \
32-
STACK_URL="https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-$ARCH.tar.gz"; \
31+
RUN <<EOT
32+
set -eux
33+
cd /tmp
34+
ARCH="$(dpkg-architecture --query DEB_BUILD_GNU_CPU)"
35+
STACK_URL="https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-$ARCH.tar.gz"
3336
# sha256 from https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-$ARCH.tar.gz.sha256
34-
case "$ARCH" in \
35-
'aarch64') \
36-
STACK_SHA256='bdd618ea5a9c921417727011f2ecd78987dffa5cee5e741108baf65a9b5b58ab'; \
37-
;; \
38-
'x86_64') \
39-
STACK_SHA256='88d7e517342c125b0a098d9d578fe53e590618ae4b2427283a27408a1ebd06d8'; \
40-
;; \
41-
*) echo >&2 "error: unsupported architecture '$ARCH'" ; exit 1 ;; \
42-
esac; \
43-
curl -sSL "$STACK_URL" -o stack.tar.gz; \
44-
echo "$STACK_SHA256 stack.tar.gz" | sha256sum --strict --check; \
45-
\
46-
curl -sSL "$STACK_URL.asc" -o stack.tar.gz.asc; \
47-
GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \
48-
gpg --batch --keyserver keyserver.ubuntu.com --receive-keys "$STACK_RELEASE_KEY"; \
49-
gpg --batch --verify stack.tar.gz.asc stack.tar.gz; \
50-
gpgconf --kill all; \
51-
\
52-
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 "stack-$STACK-linux-$ARCH/stack"; \
53-
stack config set system-ghc --global true; \
54-
stack config set install-ghc --global false; \
55-
\
56-
rm -rf /tmp/*; \
57-
\
37+
case "$ARCH" in
38+
'aarch64')
39+
STACK_SHA256='bdd618ea5a9c921417727011f2ecd78987dffa5cee5e741108baf65a9b5b58ab'
40+
;;
41+
'x86_64')
42+
STACK_SHA256='88d7e517342c125b0a098d9d578fe53e590618ae4b2427283a27408a1ebd06d8'
43+
;;
44+
*) echo >&2 "error: unsupported architecture '$ARCH'" exit 1 ;
45+
esac
46+
curl -sSL "$STACK_URL" -o stack.tar.gz
47+
echo "$STACK_SHA256 stack.tar.gz" | sha256sum --strict --check
48+
49+
curl -sSL "$STACK_URL.asc" -o stack.tar.gz.asc
50+
GNUPGHOME="$(mktemp -d)"
51+
export GNUPGHOME
52+
gpg --batch --keyserver keyserver.ubuntu.com --receive-keys "$STACK_RELEASE_KEY"
53+
gpg --batch --verify stack.tar.gz.asc stack.tar.gz
54+
gpgconf --kill all
55+
56+
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 "stack-$STACK-linux-$ARCH/stack"
57+
stack config set system-ghc --global true
58+
stack config set install-ghc --global false
59+
60+
rm -rf /tmp/*
61+
5862
stack --version;
63+
EOT
5964

60-
ARG CABAL_INSTALL=3.12.1.0
61-
ARG CABAL_INSTALL_RELEASE_KEY=1E07C9A1A3088BAD47F74A3E227EE1942B0BDB95
65+
ARG CABAL_INSTALL='3.14.1.1'
66+
ARG CABAL_INSTALL_RELEASE_KEY='EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF'
6267

63-
RUN set -eux; \
64-
cd /tmp; \
65-
ARCH="$(dpkg-architecture --query DEB_BUILD_GNU_CPU)"; \
66-
CABAL_INSTALL_TAR="cabal-install-$CABAL_INSTALL-$ARCH-linux-deb11.tar.xz"; \
67-
CABAL_INSTALL_URL="https://downloads.haskell.org/~cabal/cabal-install-$CABAL_INSTALL/$CABAL_INSTALL_TAR"; \
68-
CABAL_INSTALL_SHA256SUMS_URL="https://downloads.haskell.org/~cabal/cabal-install-$CABAL_INSTALL/SHA256SUMS"; \
68+
RUN <<EOT
69+
set -eux
70+
cd /tmp
71+
ARCH="$(dpkg-architecture --query DEB_BUILD_GNU_CPU)"
72+
CABAL_INSTALL_TAR="cabal-install-$CABAL_INSTALL-$ARCH-linux-deb11.tar.xz"
73+
CABAL_INSTALL_URL="https://downloads.haskell.org/~cabal/cabal-install-$CABAL_INSTALL/$CABAL_INSTALL_TAR"
74+
CABAL_INSTALL_SHA256SUMS_URL="https://downloads.haskell.org/~cabal/cabal-install-$CABAL_INSTALL/SHA256SUMS"
6975
# sha256 from https://downloads.haskell.org/~cabal/cabal-install-$CABAL_INSTALL/SHA256SUMS
70-
case "$ARCH" in \
71-
'aarch64') \
72-
CABAL_INSTALL_SHA256='c14e8198407f37f7276c77b5cefef60ee6a929b4c22d7316577ce8e2301a758e'; \
73-
;; \
74-
'x86_64') \
75-
CABAL_INSTALL_SHA256='4f60cf1c72f4ad4d82d668839ac61ae15ae4faf6c4b809395799e8a3ee622051'; \
76-
;; \
77-
*) echo >&2 "error: unsupported architecture '$ARCH'"; exit 1 ;; \
78-
esac; \
79-
curl -fSL "$CABAL_INSTALL_URL" -o cabal-install.tar.gz; \
80-
echo "$CABAL_INSTALL_SHA256 cabal-install.tar.gz" | sha256sum --strict --check; \
81-
\
82-
curl -sSLO "$CABAL_INSTALL_SHA256SUMS_URL"; \
83-
curl -sSLO "$CABAL_INSTALL_SHA256SUMS_URL.sig"; \
84-
GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \
85-
gpg --batch --keyserver keyserver.ubuntu.com --receive-keys "$CABAL_INSTALL_RELEASE_KEY"; \
86-
gpg --batch --verify SHA256SUMS.sig SHA256SUMS; \
76+
case "$ARCH" in
77+
'aarch64')
78+
CABAL_INSTALL_SHA256='5e8c47a055d5b744741039a7061ee43ec7d080d1251784e7a4cd836403e42523'
79+
;;
80+
'x86_64')
81+
CABAL_INSTALL_SHA256='41b85bb25fa654e4b79169014b9142fe696ff35e002e043caa0e52d65204ba8a'
82+
;;
83+
*) echo >&2 "error: unsupported architecture '$ARCH'"; exit 1 ;;
84+
esac
85+
curl -fSL "$CABAL_INSTALL_URL" -o cabal-install.tar.gz
86+
echo "$CABAL_INSTALL_SHA256 cabal-install.tar.gz" | sha256sum --strict --check
87+
88+
curl -sSLO "$CABAL_INSTALL_SHA256SUMS_URL"
89+
curl -sSLO "$CABAL_INSTALL_SHA256SUMS_URL.sig"
90+
GNUPGHOME="$(mktemp -d)"; export GNUPGHOME
91+
gpg --batch --keyserver keyserver.ubuntu.com --receive-keys "$CABAL_INSTALL_RELEASE_KEY"
92+
gpg --batch --verify SHA256SUMS.sig SHA256SUMS
8793
# confirm we are verifying SHA256SUMS that matches the release + sha256
88-
grep "$CABAL_INSTALL_SHA256 $CABAL_INSTALL_TAR" SHA256SUMS; \
89-
gpgconf --kill all; \
90-
\
91-
tar -xf cabal-install.tar.gz -C /usr/local/bin; \
92-
\
93-
rm -rf /tmp/*; \
94-
\
94+
grep "$CABAL_INSTALL_SHA256 $CABAL_INSTALL_TAR" SHA256SUMS
95+
gpgconf --kill all;
96+
97+
tar -xf cabal-install.tar.gz -C /usr/local/bin
98+
99+
rm -rf /tmp/*
100+
95101
cabal --version
102+
EOT
96103

97-
ARG GHC=9.10.2
98-
ARG GHC_RELEASE_KEY=88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4
104+
ARG GHC='9.10.2'
105+
ARG GHC_RELEASE_KEY='88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4'
99106

100-
RUN set -eux; \
101-
cd /tmp; \
102-
ARCH="$(dpkg-architecture --query DEB_BUILD_GNU_CPU)"; \
103-
GHC_URL="https://downloads.haskell.org/~ghc/$GHC/ghc-$GHC-$ARCH-deb11-linux.tar.xz"; \
107+
RUN <<EOT
108+
set -eux
109+
cd /tmp
110+
ARCH="$(dpkg-architecture --query DEB_BUILD_GNU_CPU)"
111+
GHC_URL="https://downloads.haskell.org/~ghc/$GHC/ghc-$GHC-$ARCH-deb11-linux.tar.xz"
104112
# sha256 from https://downloads.haskell.org/~ghc/$GHC/SHA256SUMS
105-
case "$ARCH" in \
106-
'aarch64') \
107-
GHC_SHA256='0188ca098abdaf71eb0804d0f35311f405da489137d8d438bfaa43b8d1e3f1b0'; \
108-
;; \
109-
'x86_64') \
110-
GHC_SHA256='2fe2c3e0a07e4782530e8bf83eeda8ff6935e40d5450c1809abcdc6182c9c848'; \
111-
;; \
112-
*) echo >&2 "error: unsupported architecture '$ARCH'" ; exit 1 ;; \
113-
esac; \
114-
curl -sSL "$GHC_URL" -o ghc.tar.xz; \
115-
echo "$GHC_SHA256 ghc.tar.xz" | sha256sum --strict --check; \
116-
\
117-
GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \
118-
curl -sSL "$GHC_URL.sig" -o ghc.tar.xz.sig; \
119-
gpg --batch --keyserver keyserver.ubuntu.com --receive-keys "$GHC_RELEASE_KEY"; \
120-
gpg --batch --verify ghc.tar.xz.sig ghc.tar.xz; \
121-
gpgconf --kill all; \
122-
\
123-
tar xf ghc.tar.xz; \
124-
cd "ghc-$GHC-$ARCH-unknown-linux"; \
125-
./configure --prefix "/opt/ghc/$GHC"; \
126-
make install; \
127-
\
128-
rm -rf /tmp/*; \
129-
\
113+
case "$ARCH" in
114+
'aarch64')
115+
GHC_SHA256='0188ca098abdaf71eb0804d0f35311f405da489137d8d438bfaa43b8d1e3f1b0'
116+
;;
117+
'x86_64')
118+
GHC_SHA256='2fe2c3e0a07e4782530e8bf83eeda8ff6935e40d5450c1809abcdc6182c9c848'
119+
;;
120+
*) echo >&2 "error: unsupported architecture '$ARCH'" ; exit 1 ;;
121+
esac
122+
curl -sSL "$GHC_URL" -o ghc.tar.xz
123+
echo "$GHC_SHA256 ghc.tar.xz" | sha256sum --strict --check
124+
125+
GNUPGHOME="$(mktemp -d)"; export GNUPGHOME
126+
curl -sSL "$GHC_URL.sig" -o ghc.tar.xz.sig
127+
gpg --batch --keyserver keyserver.ubuntu.com --receive-keys "$GHC_RELEASE_KEY"
128+
gpg --batch --verify ghc.tar.xz.sig ghc.tar.xz
129+
gpgconf --kill all
130+
131+
tar xf ghc.tar.xz
132+
cd "ghc-$GHC-$ARCH-unknown-linux"
133+
./configure --prefix "/opt/ghc/$GHC"
134+
make install
135+
136+
rm -rf /tmp/*
137+
130138
"/opt/ghc/$GHC/bin/ghc" --version
139+
EOT
131140

132141
ENV PATH=/root/.cabal/bin:/root/.local/bin:/opt/ghc/${GHC}/bin:$PATH
133142

9.6/_globals.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
stack:
2+
version: "3.3.1"
3+
release_key: "C5705533DA4F78D8664B5DC0575159689BEFB442"
4+
sha256sum:
5+
"aarch64": 'bdd618ea5a9c921417727011f2ecd78987dffa5cee5e741108baf65a9b5b58ab'
6+
"x86_64": '88d7e517342c125b0a098d9d578fe53e590618ae4b2427283a27408a1ebd06d8'
7+
cabal_install:
8+
version: "3.14.1.1"
9+
release_key: "EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF"

9.6/bullseye.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
distro:
3+
codename: 'bullseye'
4+
abbr: 'deb11'
5+
image: 'debian:bullseye'
6+
ghc:
7+
version: "9.6.7"
8+
release_key: "8C961469C8FDC968718D6245AC7DE836C5DF907D"
9+
sha256sum:
10+
"aarch64": '3cfa843687856de304a946dbe849a497c4fdad021f0275628b8ca7b55ccf8082'
11+
"x86_64": 'fc6a6247d1831745c67b27d6212f6911c35a933043f3b6851724e2e01484d077'
12+
cabal_install:
13+
sha256sum:
14+
"aarch64": '5e8c47a055d5b744741039a7061ee43ec7d080d1251784e7a4cd836403e42523'
15+
"x86_64": '41b85bb25fa654e4b79169014b9142fe696ff35e002e043caa0e52d65204ba8a'
16+
overrides:
17+
ghc:
18+
"aarch64":
19+
# GHC 9.6.7 doesn't have a deb11 bindist for aarch64 for some reason, so we're using the deb10 one instead
20+
url: "https://downloads.haskell.org/~ghc/9.6.7/ghc-9.6.7-aarch64-deb10-linux.tar.xz"
21+
_globals: !include '_globals.yaml'

0 commit comments

Comments
 (0)