-
Notifications
You must be signed in to change notification settings - Fork 701
/
Copy pathvalidate-8.8.4.dockerfile
76 lines (69 loc) · 2.61 KB
/
validate-8.8.4.dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
FROM phadej/ghc:8.8.4-bionic
# Install cabal-plan
RUN mkdir -p /root/.cabal/bin && \
curl -L https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz && \
echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz" | sha256sum -c - && \
xz -d < cabal-plan.xz > /root/.cabal/bin/cabal-plan && \
rm -f cabal-plan.xz && \
chmod a+x /root/.cabal/bin/cabal-plan
# Install cabal-env
RUN curl -sL https://github.com/phadej/cabal-extras/releases/download/preview-20191225/cabal-env-snapshot-20191225-x86_64-linux.xz > cabal-env.xz && \
echo "1b567d529c5f627fd8c956e57ae8f0d9f11ee66d6db34b7fb0cb1c370b4edf01 cabal-env.xz" | sha256sum -c - && \
xz -d < cabal-env.xz > $HOME/.cabal/bin/cabal-env && \
rm -f cabal-env.xz && \
chmod a+x $HOME/.cabal/bin/cabal-env
# Update index
RUN cabal v2-update --index-state="2020-06-12T23:36:15Z"
# We install happy, so it's in the store; we (hopefully) don't use it directly.
RUN cabal v2-install happy --constraint 'happy ^>=1.19.12'
# Install some other dependencies
# Remove $HOME/.ghc so there aren't any environments
RUN cabal v2-install -w ghc-8.8.4 --lib \
Cabal \
aeson \
async \
base-compat \
base16-bytestring \
base64-bytestring \
cryptohash-sha256 \
Diff \
echo \
ed25519 \
edit-distance \
HTTP \
lukko \
network \
optparse-applicative \
pretty-show \
regex-compat-tdfa \
regex-posix \
regex-tdfa \
rere \
statistics \
tar \
tasty \
tasty-golden \
tasty-hunit \
tasty-quickcheck \
tree-diff \
void \
zlib \
resolv \
--constraint="rere -rere-cfg" \
--constraint="these -assoc" \
--constraint="bytestring installed" \
--constraint="binary installed" \
--constraint="containers installed" \
--constraint="deepseq installed" \
--constraint="directory installed" \
--constraint="filepath installed" \
--constraint="pretty installed" \
--constraint="process installed" \
--constraint="time installed" \
--constraint="unix installed" \
--constraint="transformers installed" \
&& rm -rf $HOME/.ghc
# Validate
WORKDIR /build
COPY . /build
RUN sh ./validate.sh --doctest --solver-benchmarks --complete-hackage -w ghc-8.8.4 -v