# Update CACHEKEY in the .gitlab-ci.yml when modifying this file.
FROM ubuntu:20.04
LABEL maintainer="e@x80.org"
ENV DEBIAN_FRONTEND="noninteractive"
# We need libgmp-dev:i386 for zarith; maybe we could also install GTK
RUN dpkg --add-architecture i386
RUN apt-get update -qq && apt-get install --no-install-recommends -y -qq \ # Dependencies of the image, the test-suite and external projects
m4 automake autoconf time wget rsync git gcc-multilib build-essential unzip jq \ # Dependencies of ZArith
perl libgmp-dev libgmp-dev:i386 \ # Dependencies of devtools
zlib1g-dev zlib1g-dev:i386 \ # Dependencies of lablgtk (for CoqIDE)
libgtksourceview-3.0-dev adwaita-icon-theme-full \ # Dependencies of stdlib and sphinx doc
texlive-latex-extra texlive-fonts-recommended texlive-xetex latexmk \
python3-pip python3-setuptools python3-pexpect python3-bs4 fonts-freefont-otf \ # Dependency of stdlib-doc
graphviz \ # Dependencies of source-doc and coq-makefile
texlive-science tipa \ # Dependencies of HB (test suite)
wdiff \ # Required for fiat-crypto and Coqtail
python-is-python3 \
&& rm -rf /var/lib/apt/lists /usr/share/doc
# More dependencies of the sphinx doc, pytest for coqtail
RUN pip3 install docutils==0.17.1 sphinx==4.5.0 sphinx_rtd_theme==1.0.0 \
antlr4-python3-runtime==4.7.1 sphinxcontrib-bibtex==0.4.2 \
pytest==5.4.3 \
&& rm -rf ~/.cache/pip
# We need to install OPAM 2.0 manually for now.
RUN wget https://github.com/ocaml/opam/releases/download/2.0.6/opam-2.0.6-x86_64-linux -O /usr/bin/opam && chmod 755 /usr/bin/opam