summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-09-20 17:35:05 -0400
committerBen Gamari <ben@smart-cactus.org>2018-09-20 18:18:05 -0400
commita257782f56e5e330349d4cc7db71e297d8396c67 (patch)
treef9ba3ef3efa50a13933a73c5eb012d1439e29691
parent8c7d33a8ff6d3ea55b5dc8108d9441521af68ab8 (diff)
downloadhaskell-a257782f56e5e330349d4cc7db71e297d8396c67.tar.gz
user-guide: Allow build with sphinx < 1.8
Apparently the override argument to add_directive_to_domain was added in sphinx 1.8.
-rw-r--r--docs/users_guide/flags.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/docs/users_guide/flags.py b/docs/users_guide/flags.py
index 0e56bdfcc3..c95b9aa96c 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
@@ -599,15 +601,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, override=True)
+ 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,
- override=True)
+ **override_arg)
# NB: language-extension would be misinterpreted by sphinx, and produce
# lang="extensions" XML attributes