1 FROM phadej/ghc:8.8.3-xenial
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
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
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 \
38 optparse-applicative \
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" \
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