From: Debian Haskell Group Date: Wed, 19 Jun 2019 21:08:21 +0000 (+0100) Subject: fix-build-sphinx X-Git-Tag: archive/raspbian/8.4.4+dfsg1-3+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=576b4ba522b4796e7e0d9086ca260941cfb21a53;p=ghc.git fix-build-sphinx Gbp-Pq: Name fix-build-sphinx.patch --- diff --git a/docs/users_guide/flags.py b/docs/users_guide/flags.py index cc30b8c0..21c7ae3a 100644 --- a/docs/users_guide/flags.py +++ b/docs/users_guide/flags.py @@ -46,9 +46,11 @@ from docutils import nodes from docutils.parsers.rst import Directive, directives +import sphinx from sphinx import addnodes from sphinx.domains.std import GenericObject from sphinx.errors import SphinxError +from distutils.version import LooseVersion from utils import build_table_from_list ### Settings @@ -597,14 +599,18 @@ def purge_flags(app, env, docname): ### Initialization def setup(app): + # The override argument to add_directive_to_domain is only supported by >= 1.8 + sphinx_version = LooseVersion(sphinx.__version__) + override_arg = {'override': True} if sphinx_version >= LooseVersion('1.8') else {} # Add ghc-flag directive, and override the class with our own app.add_object_type('ghc-flag', 'ghc-flag') - app.add_directive_to_domain('std', 'ghc-flag', Flag) + app.add_directive_to_domain('std', 'ghc-flag', Flag, **override_arg) # Add extension directive, and override the class with our own app.add_object_type('extension', 'extension') - app.add_directive_to_domain('std', 'extension', LanguageExtension) + app.add_directive_to_domain('std', 'extension', LanguageExtension, + **override_arg) # NB: language-extension would be misinterpreted by sphinx, and produce # lang="extensions" XML attributes