Skip to content

Commit 949aa15

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

File tree

15 files changed

+1344
-1434
lines changed

15 files changed

+1344
-1434
lines changed

9.10/bookworm/Dockerfile

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

6563
ARG CABAL_INSTALL='3.14.1.1'
6664
ARG CABAL_INSTALL_RELEASE_KEY='EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF'
6765

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

10198
cabal --version
102-
EOT
10399

104100
ARG GHC='9.10.3'
105101
ARG GHC_RELEASE_KEY='88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4'
106102

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

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

0 commit comments

Comments
 (0)