From ebd2093b32942756fa376833786e0cc70fc9765f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 9 Mar 2022 14:16:54 -0500 Subject: gnu: python-robotframework: Fully build the documentation. * gnu/packages/patches/python-robotframework-ug2html.patch: New patch. * gnu/local.mk: Register it. * gnu/packages/python-xyz.scm (python-robotframework): Apply patch. [modules]: New argument. [phases]{build-and-install-doc}: Modify to build the full HTML documentation, including the user guide. [native-inputs]: Add python-pygments. --- .../patches/python-robotframework-ug2html.patch | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 gnu/packages/patches/python-robotframework-ug2html.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/python-robotframework-ug2html.patch b/gnu/packages/patches/python-robotframework-ug2html.patch new file mode 100644 index 0000000000..eea88e01f3 --- /dev/null +++ b/gnu/packages/patches/python-robotframework-ug2html.patch @@ -0,0 +1,57 @@ +Do not require the obsolete robotframeworklexer. + +Submitted upstream at: https://github.com/robotframework/robotframework/pull/4265. +diff --git a/doc/userguide/ug2html.py b/doc/userguide/ug2html.py +index 43cdb31bd..033203552 100755 +--- a/doc/userguide/ug2html.py ++++ b/doc/userguide/ug2html.py +@@ -93,34 +93,26 @@ from docutils.parsers.rst import directives + from pygments import highlight, __version__ as pygments_version + from pygments.lexers import get_lexer_by_name + +-# Use latest version, not version bundled with Pygments +-import robotframeworklexer +- + + def too_old(version_string, minimum): + version = tuple(int(v) for v in version_string.split('.')[:2]) + return version < minimum + + +-if too_old(getattr(robotframeworklexer, '__version__', '1.0'), (1, 1)): +- sys.exit('robotframeworklexer >= 1.1 is required.') +-if too_old(pygments_version, (2, 1)): +- sys.exit('Pygments >= 2.1 is required.') ++if too_old(pygments_version, (2, 8)): ++ sys.exit('Pygments >= 2.8 is required.') + + + def pygments_directive(name, arguments, options, content, lineno, + content_offset, block_text, state, state_machine): + try: +- if arguments[0] == 'robotframework': +- lexer = robotframeworklexer.RobotFrameworkLexer() +- else: +- lexer = get_lexer_by_name(arguments[0]) ++ lexer = get_lexer_by_name(arguments[0]) + except ValueError as err: + raise ValueError(f'Invalid syntax highlighting language "{arguments[0]}".') + # take an arbitrary option if more than one is given + formatter = options and VARIANTS[options.keys()[0]] or DEFAULT + # possibility to read the content from an external file +- filtered = [ line for line in content if line.strip() ] ++ filtered = [line for line in content if line.strip()] + if len(filtered) == 1: + path = filtered[0].replace('/', os.sep) + if os.path.isfile(path): +diff --git a/requirements-build.txt b/requirements-build.txt +index e0f5e19a2..a2fcdcfd5 100644 +--- a/requirements-build.txt ++++ b/requirements-build.txt +@@ -5,5 +5,4 @@ rellu >= 0.7 + twine >= 1.12 + wheel + docutils +-pygments >= 2.1 +-robotframeworklexer >= 1.1 ++pygments >= 2.8 -- cgit v1.2.3