diff --git a/docs/users_guide/flags.py b/docs/users_guide/flags.py index 474d1b65d4bdb7275364c93ae039334b5171e6e0..50cde1f4a3d6d7e13d86ad860e3d66a14f7fceb2 100644 --- a/docs/users_guide/flags.py +++ b/docs/users_guide/flags.py @@ -50,7 +50,12 @@ import sphinx from sphinx import addnodes from sphinx.domains.std import GenericObject from sphinx.errors import SphinxError -from packaging.version import parse +try: + from packaging.version import parse as parse_version +except ImportError as e: + # N.B. `packaging` is not available in Ubuntu 18.04 or Debian 9 + from distutils.version import LooseVersion as parse_version + from utils import build_table_from_list import os.path @@ -628,8 +633,8 @@ def purge_flags(app, env, docname): def setup(app): # The override argument to add_directive_to_domain is only supported by >= 1.8 - sphinx_version = parse(sphinx.__version__) - override_arg = {'override': True} if sphinx_version >= parse('1.8') else {} + sphinx_version = parse_version(sphinx.__version__) + override_arg = {'override': True} if sphinx_version >= parse_version('1.8') else {} # Add ghc-flag directive, and override the class with our own app.add_object_type('ghc-flag', 'ghc-flag')