fix-build-sphinx
authorDebian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Wed, 19 Jun 2019 21:08:21 +0000 (22:08 +0100)
committerIlias Tsitsimpis <iliastsi@debian.org>
Wed, 19 Jun 2019 21:08:21 +0000 (22:08 +0100)
Gbp-Pq: Name fix-build-sphinx.patch

docs/users_guide/flags.py

index cc30b8c0663dbaee96e40d4f1404d0f67716e9d3..21c7ae3a161026cecbfd3d54dac3f0d9fef2289f 100644 (file)
 
 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