Skip to content

Commit cd6e1a5

Browse files
committed
fix: reverting heredocs in Dockerfile template
1 parent c607721 commit cd6e1a5

File tree

15 files changed

+1419
-1524
lines changed

15 files changed

+1419
-1524
lines changed

9.10/bookworm/Dockerfile

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

55
# common haskell + stack dependencies
6-
RUN <<EOT
7-
apt-get update && \
6+
RUN apt-get update && \
87
apt-get install -y --no-install-recommends \
98
ca-certificates \
109
curl \
@@ -23,121 +22,115 @@ RUN <<EOT
2322
xz-utils \
2423
zlib1g-dev && \
2524
rm -rf /var/lib/apt/lists/*
26-
EOT
25+
2726

2827
ARG STACK='3.3.1'
2928
ARG STACK_RELEASE_KEY='C5705533DA4F78D8664B5DC0575159689BEFB442'
3029

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

6562
ARG CABAL_INSTALL='3.14.1.1'
6663
ARG CABAL_INSTALL_RELEASE_KEY='EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF'
6764

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

10499
ARG GHC='9.10.3'
105100
ARG GHC_RELEASE_KEY='88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4'
106101

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

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

0 commit comments

Comments
 (0)