aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThéo Zimmermann2018-09-12 10:40:23 +0200
committerThéo Zimmermann2018-09-20 16:01:03 +0200
commit9320056b8572bc8ac0514a5f72885cbd0d228e87 (patch)
treeacfac90ce569ebbd9e4921c3475f2fce6c2e3a12
parent31ac5a2ec8eb71b0bf31c7a5d046f9a9bc366f2e (diff)
Update minimum required dependency versions of Sphinx doc.
The minimum required versions of the Sphinx-related (and ANTLR) Python packages for Coq 8.10 were chosen as the lower bound between what is currently in Debian Buster and in NixOS 18.09 Jellyfish (in practice the lower bound was always met by NixOS 18.09 Jellyfish). These minimum required versions were documented. In the docker image used by GitLab CI, we install these Python packages through pip as this allows us to pin them to these specific versions. In Travis, we let them unspecified to always test the latest versions. Finally, we also add the new dependencies of the Sphinx PDF manual.
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--default.nix16
-rw-r--r--dev/ci/docker/bionic_coq/Dockerfile18
-rw-r--r--doc/README.md33
4 files changed, 36 insertions, 33 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0115ac9eff..27d7fbf243 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,7 +9,7 @@ stages:
variables:
# Format: $IMAGE-V$DATE [Cache is not used as of today but kept here
# for reference]
- CACHEKEY: "bionic_coq-V2018-09-05-V1"
+ CACHEKEY: "bionic_coq-V2018-09-20-V2"
IMAGE: "$CI_REGISTRY_IMAGE:$CACHEKEY"
# By default, jobs run in the base switch; override to select another switch
OPAM_SWITCH: "base"
diff --git a/default.nix b/default.nix
index 6f759f41d1..88992a30a3 100644
--- a/default.nix
+++ b/default.nix
@@ -23,8 +23,8 @@
{ pkgs ?
(import (fetchTarball {
- url = "https://github.com/NixOS/nixpkgs/archive/4477cf04b6779a537cdb5f0bd3dd30e75aeb4a3b.tar.gz";
- sha256 = "1i39wsfwkvj9yryj8di3jibpdg3b3j86ych7s9rb6z79k08yaaxc";
+ url = "https://github.com/NixOS/nixpkgs/archive/947ae71dcec680b5075ece14e38eae64831b9819.tar.gz";
+ sha256 = "15nryymfch4fzxk6nacli4gw4cyicpdjwzai5v3bc0azaslww2x5";
}) {})
, ocamlPackages ? pkgs.ocaml-ng.ocamlPackages_4_06
, buildIde ? true
@@ -38,18 +38,6 @@
with pkgs;
with stdenv.lib;
-let dune =
- overrideDerivation jbuilder (o: {
- name = "dune-1.1.1";
- src = fetchFromGitHub {
- owner = "ocaml";
- repo = "dune";
- rev = "1.1.1";
- sha256 = "0v2pnxpmqsvrvidpwxvbsypzhqfdnjs5crjp9y61qi8nyj8d75zw";
- };
- });
-in
-
stdenv.mkDerivation rec {
name = "coq";
diff --git a/dev/ci/docker/bionic_coq/Dockerfile b/dev/ci/docker/bionic_coq/Dockerfile
index 8b26294d8f..9fad274bf4 100644
--- a/dev/ci/docker/bionic_coq/Dockerfile
+++ b/dev/ci/docker/bionic_coq/Dockerfile
@@ -1,4 +1,4 @@
-# CACHEKEY: "bionic_coq-V2018-09-05-V1"
+# CACHEKEY: "bionic_coq-V2018-09-20-V2"
# ^^ Update when modifying this file.
FROM ubuntu:bionic
@@ -7,13 +7,19 @@ LABEL maintainer="e@x80.org"
ENV DEBIAN_FRONTEND="noninteractive"
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 opam \
+ # Dependencies of lablgtk (for CoqIDE)
libgtk2.0-dev libgtksourceview2.0-dev \
- texlive-latex-extra texlive-fonts-recommended texlive-science tipa \
- python3-sphinx python3-pexpect python3-sphinx-rtd-theme python3-bs4 python3-sphinxcontrib.bibtex \
- python3-setuptools python3-wheel python3-pip
-
-RUN pip3 install antlr4-python3-runtime
+ # Dependencies of stdlib and sphinx doc
+ texlive-latex-extra texlive-fonts-recommended texlive-xetex latexmk \
+ xindy python3-pip python3-setuptools python3-pexpect python3-bs4 \
+ # Dependencies of source-doc and coq-makefile
+ texlive-science tipa
+
+# More dependencies of the sphinx doc
+RUN pip3 install sphinx==1.7.8 sphinx_rtd_theme==0.2.5b2 \
+ antlr4-python3-runtime==4.7.1 sphinxcontrib-bibtex==0.4.0
# Basic OPAM setup
ENV NJOBS="2" \
diff --git a/doc/README.md b/doc/README.md
index 6cfa94b3dc..cb3427e010 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -28,18 +28,18 @@ To produce the complete documentation in HTML, you will need Coq dependencies
listed in [`INSTALL`](../INSTALL). Additionally, the Sphinx-based
reference manual requires Python 3, and the following Python packages:
- sphinx sphinx_rtd_theme beautifulsoup4 antlr4-python3-runtime pexpect sphinxcontrib-bibtex
+ - sphinx >= 1.7.8
+ - sphinx_rtd_theme >= 0.2.5b2
+ - beautifulsoup4 >= 4.0.6
+ - antlr4-python3-runtime >= 4.7.1
+ - pexpect >= 4.2.1
+ - sphinxcontrib-bibtex >= 0.4.0
-You can install them using `pip3 install` or using your distribution's package
-manager. E.g. under recent Debian-based operating systems (Debian 10 "Buster",
-Ubuntu 18.04, ...) you can use:
+To install them, you should first install pip and setuptools (for instance,
+with `apt install python3-pip python3-setuptools` on Debian / Ubuntu) then run:
- apt install python3-sphinx python3-pexpect python3-sphinx-rtd-theme \
- python3-bs4 python3-sphinxcontrib.bibtex python3-pip
-
-Then, install the missing Python3 Antlr4 package:
-
- pip3 install antlr4-python3-runtime
+ pip3 install sphinx sphinx_rtd_theme beautifulsoup4 antlr4-python3-runtime \
+ pexpect sphinxcontrib-bibtex
Nix users should get the correct development environment to build the
HTML documentation from Coq's [`default.nix`](../default.nix) (note this
@@ -54,10 +54,19 @@ additional tools are required:
- pdflatex
- dvips
- makeindex
+ - xelatex
+ - latexmk
+ - xindy
+
+All of them are part of the TexLive distribution. E.g. on Debian / Ubuntu,
+install them with:
+
+ apt install texlive-full
-Install them using your package manager. E.g. on Debian / Ubuntu:
+Or if you want to use less disk space:
- apt install texlive-latex-extra texlive-fonts-recommended
+ apt install texlive-latex-extra texlive-fonts-recommended texlive-xetex \
+ latexmk xindy
Compilation
-----------