make sure cabal-install is compatible with Cabal
[cabal.git] / .docker / validate-old.dockerfile
blob2971baf86212ac0684a66c6cab49a3ffb8441f6d
1 FROM    phadej/ghc:8.8.3-xenial
3 # Install cabal-plan
4 RUN     mkdir -p /root/.cabal/bin && \
5         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 && \
6         echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c - && \
7         xz -d < cabal-plan.xz > /root/.cabal/bin/cabal-plan && \
8         rm -f cabal-plan.xz && \
9         chmod a+x /root/.cabal/bin/cabal-plan
11 # Install older compilers
12 RUN     apt-get update
13 RUN     apt-get install -y ghc-7.0.4 ghc-7.0.4-dyn ghc-7.2.2 ghc-7.2.2-dyn ghc-7.4.2 ghc-7.4.2-dyn
15 # Update index
16 RUN     cabal v2-update --index-state="2020-06-12T23:36:15Z"
18 # We install happy, so it's in the store; we (hopefully) don't use it directly.
19 RUN     cabal v2-install happy --constraint 'happy ^>=1.19.12'
21 # Install some other dependencies
22 # Remove $HOME/.ghc so there aren't any environments
23 RUN     cabal v2-install -w ghc-8.8.3 --lib \
24           Cabal \
25           aeson \
26           async \
27           base-compat \
28           base16-bytestring \
29           base64-bytestring \
30           cryptohash-sha256 \
31           Diff \
32           echo \
33           ed25519 \
34           edit-distance \
35           HTTP \
36           lukko \
37           network \
38           optparse-applicative \
39           pretty-show \
40           regex-compat-tdfa \
41           regex-posix \
42           regex-tdfa \
43           rere \
44           statistics \
45           tar \
46           tasty \
47           tasty-golden \
48           tasty-hunit \
49           tasty-quickcheck \
50           tree-diff \
51           void \
52           zlib \
53           resolv \
54       --constraint="rere -rere-cfg" \
55       --constraint="these -assoc" \
56       --constraint="bytestring installed" \
57       --constraint="binary     installed" \
58       --constraint="containers installed" \
59       --constraint="deepseq    installed" \
60       --constraint="directory  installed" \
61       --constraint="filepath   installed" \
62       --constraint="pretty     installed" \
63       --constraint="process    installed" \
64       --constraint="time       installed" \
65       --constraint="unix       installed" \
66       --constraint="transformers installed" \
67         && rm -rf $HOME/.ghc
69 # Validate
70 WORKDIR /build
71 COPY    . /build
72 RUN     sh ./validate.sh -w ghc-8.8.3 -v --lib-only --extra-hc /opt/ghc/7.0.4/bin/ghc-7.0.4 --extra-hc /opt/ghc/7.2.2/bin/ghc-7.2.2 --extra-hc /opt/ghc/7.4.2/bin/ghc-7.4.2