diff --git a/16193.patch b/16193.patch new file mode 100644 index 0000000..700e515 --- /dev/null +++ b/16193.patch @@ -0,0 +1,41 @@ +From d5568fc36404343df0a4655a0747ecffacfaf35c Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +Date: Wed, 15 Jun 2022 22:27:58 +0300 +Subject: [PATCH] Fix #15956: error when building with Sphinx 4.5 + +Unfortunately it breaks building with older versions. + +The only way to fix this issue for all versions is to stop monkey-patching +and forward the fix to Sphinx upstream. +--- + doc/tools/coqrst/coqdomain.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/doc/tools/coqrst/coqdomain.py b/doc/tools/coqrst/coqdomain.py +index 468b6b648dd8..58e36b361262 100644 +--- a/doc/tools/coqrst/coqdomain.py ++++ b/doc/tools/coqrst/coqdomain.py +@@ -37,7 +37,7 @@ + from sphinx.util.docutils import ReferenceRole + from sphinx.util.logging import getLogger, get_node_location + from sphinx.util.nodes import set_source_info, set_role_source_info, make_refnode +-from sphinx.writers.latex import LaTeXTranslator ++from sphinx.writers.latex import CR, LaTeXTranslator + + from . import coqdoc + from .repl import ansicolors +@@ -54,10 +54,13 @@ def visit_desc_signature(self, node): + for id in node['ids']: + hyper += self.hypertarget(id) + self.body.append(hyper) ++ if not self.in_desc_signature: ++ self.in_desc_signature = True ++ self.body.append(CR + r'\pysigstartsignatures') + if not node.get('is_multiline'): + self._visit_signature_line(node) + else: +- self.body.append('%\n\\pysigstartmultiline\n') ++ self.body.append(CR + r'\pysigstartmultiline') + LaTeXTranslator.visit_desc_signature = visit_desc_signature + + PARSE_ERROR = """{}:{} Parse error in notation! diff --git a/coq.spec b/coq.spec index 9c81315..30d5cb0 100644 --- a/coq.spec +++ b/coq.spec @@ -23,6 +23,10 @@ Source1: fr.inria.coqide.desktop Source2: coq.xml Source3: fr.inria.coqide.metainfo.xml +# Sphinx documentation fails with sphinx 4.5: +# https://github.com/coq/coq/pull/16193 +Patch1: 16193.patch + BuildRequires: ocaml >= 4.05.0 BuildRequires: ocaml-dune >= 2.5.0 BuildRequires: ocaml-findlib >= 1.8.1