summaryrefslogtreecommitdiff
path: root/dev-python/docutils
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-12 09:56:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-12 09:56:54 +0000
commitebc282ef4dfa408accac685565b8ee5f6faec119 (patch)
treec0a4f713228cda0ab17eed46f0bb7ca8cb8be2f6 /dev-python/docutils
parent6c8694a707151d59555b0e4e48235f085ce166c3 (diff)
gentoo auto-resync : 12:02:2023 - 09:56:54
Diffstat (limited to 'dev-python/docutils')
-rw-r--r--dev-python/docutils/Manifest3
-rw-r--r--dev-python/docutils/docutils-0.19.ebuild4
-rw-r--r--dev-python/docutils/files/docutils-0.19-pygments-2.14.patch672
3 files changed, 678 insertions, 1 deletions
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
index acc4e4d581bc..eb46ff3b6b94 100644
--- a/dev-python/docutils/Manifest
+++ b/dev-python/docutils/Manifest
@@ -1,6 +1,7 @@
AUX docutils-0.18.1-py311.patch 4637 BLAKE2B d103e5f4fa6b8c1ab06f2b07c33ee3f707f0c1224d9bfa6f57504c3f30177dcb46cb8ed32dcc03c413937a94212bc64a9963cc0cede766e50b81b1f73531fcef SHA512 7c7c97e150914ddc12948236f84314b3ce49d043a7e5245ae0defbbf1d0845a8e3b06ebd63fb466c92bc970305578243dc97103230d80a810fa3cd54528b70bd
+AUX docutils-0.19-pygments-2.14.patch 18917 BLAKE2B 889de063bfd6aae39512103c0da0d9e6bec108a59b9687ed1d2cfa650b541726bf215651dae8566e73c5c7beaff3911ba477a198640161ff1ee20d8cc49ffa27 SHA512 94941801590739dd760c5a5344481f99cf57c38776fc335643c7734f77a8c70e7408228149e3488a1b93f47ec57c54a419cf23cb3b2649b8246e0f8fc2e420e2
DIST docutils-0.17.1.tar.gz 2016138 BLAKE2B aa0b6525ba2e3eaebc17010806952ed5f40919876fcb813f50cc05b628dfd22e6073a9a4b2bfe989089ae68d9b7111ae3a97dda2bde5c0536f8fb76c0942fe29 SHA512 5ec2087116bd5356fdffc54f07f6b0355aac5fa9d6caeefa77e8d201fd4706c0d419193c4d9a3964ae493da3091fe2c7dc36b74f81a1e1b9282173658b06e71b
DIST docutils-0.19.tar.gz 2056383 BLAKE2B 9983a905642de4e81ca118578671b503ddfda4bef1afcc0524de40543e1f9617fd8d768ef467da49d2f01076683400bad6a0fe15f6b5a3a1e202c42b2e34ab1b SHA512 fb904a899f2b6f3c07c5079577bd7c52a3182cb85f6a4149391e523498df15bfa317f0c04095b890beeb3f89c2b444875a2a609d880ac4d7fbc3125e46b37ea5
EBUILD docutils-0.17.1-r1.ebuild 1830 BLAKE2B f191faf057fe93ec9808f7663c1a2bcd8e3449684fa5acbcb6e512e59b1a9d6c84e15c777edc423e748ccd3bf302f553e9597c0dfcf3423e7c3a7217eb7b1305 SHA512 79c67c627451c5ec7c72176c94d5bd7ba11025bc65df2368876eb8d6af1a48556cdfe2b9ea36c8341e5b704964616c391a2ba2379eb5e37bd9abb45ecdd53286
-EBUILD docutils-0.19.ebuild 1774 BLAKE2B 581275fc7a8d7955411986518f7b0263345b553d2e2541cdaacc96ded981c3e240a84184bf8dc9dd7970e0a6c75c0c14db551300bea8a2d2e9cd917079d8ad4c SHA512 01614fb7ad56b158841ae1abae65e3180bd612dc009c4356ab87b726e8e8efcc7598f7eceeb0523e2d94b7c896fa64208f5758daf09467cde8892b64b6b2a8c5
+EBUILD docutils-0.19.ebuild 1833 BLAKE2B 9c4d294188da635bb490e98b0d221dfe37a85a6d1232cdc896cd68bfb9b24b092f8e274f22125190638082249b252601de468726bf24a75304195cc7867069ef SHA512 06b6deeec4a930d5f9cf62234a632eef85a4a85b28c63a7de745d9a5fda941a82419362cc315b0880e9c15be9a13f5a670c81094e67d468eba4e236df7bf5356
MISC metadata.xml 389 BLAKE2B b586fccb92f88e7f2ee68879bb919298953da9eb629fc1042f5f35b316b59ffcc614f23135fe1ab4af8ba9646bcbc33f194ac74af795094e20d288817b5e227b SHA512 ac8975a27694a2a0efd07c944a769f1a210bbf4a1550f92f0ead3ac2dc9ffb4d82206858f2a8631f751c81fdace88433b9d89f8c3d6af72907e102da5696693f
diff --git a/dev-python/docutils/docutils-0.19.ebuild b/dev-python/docutils/docutils-0.19.ebuild
index 0a5fd76f32d2..b97ed0c05eff 100644
--- a/dev-python/docutils/docutils-0.19.ebuild
+++ b/dev-python/docutils/docutils-0.19.ebuild
@@ -26,6 +26,10 @@ BDEPEND="
${RDEPEND}
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.19-pygments-2.14.patch
+)
+
python_compile_all() {
# Generate html docs from reStructured text sources.
diff --git a/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch b/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch
new file mode 100644
index 000000000000..42324aa49c4d
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch
@@ -0,0 +1,672 @@
+https://bugs.gentoo.org/892213
+https://sourceforge.net/p/docutils/patches/201/
+--- a/test/test_parsers/test_rst/test_directives/test_code.py
++++ b/test/test_parsers/test_rst/test_directives/test_code.py
+@@ -10,14 +10,20 @@ Test the 'code' directive in parsers/rst
+
+ if __name__ == '__main__':
+ import __init__ # noqa: F401
++from packaging.version import Version
+ from test_parsers import DocutilsTestSupport
+-from docutils.utils.code_analyzer import with_pygments
++from docutils.utils.code_analyzer import with_pygments, pygments_version
+
+
+ def suite():
+ s = DocutilsTestSupport.ParserTestSuite()
+ if not with_pygments:
+ del(totest['code-parsing'])
++ del(totest['code-parsing-2-14'])
++ elif pygments_version >= Version('2.14.0'):
++ del(totest['code-parsing'])
++ else:
++ del(totest['code-parsing-2-14'])
+ s.generateTests(totest)
+ return s
+
+@@ -170,6 +176,165 @@ totest['code-parsing'] = [
+ \n\
+ <inline classes="name builtin">
+ print
++ <inline classes="punctuation">
++ (
++ <inline classes="literal number integer">
++ 8
++ <inline classes="operator">
++ /
++ <inline classes="literal number integer">
++ 2
++ <inline classes="punctuation">
++ )
++"""],
++["""\
++.. code:: latex
++ :class: testclass
++
++ hello \\emph{world} % emphasize
++""",
++"""\
++<document source="test data">
++ <literal_block classes="code latex testclass" xml:space="preserve">
++ hello \n\
++ <inline classes="keyword">
++ \\emph
++ <inline classes="name builtin">
++ {
++ world
++ <inline classes="name builtin">
++ }
++ \n\
++ <inline classes="comment">
++ % emphasize"""],
++["""\
++.. code:: rst
++ :number-lines:
++
++ This is a code block with text.
++""",
++"""\
++<document source="test data">
++ <literal_block classes="code rst" xml:space="preserve">
++ <inline classes="ln">
++ 1 \n\
++ This is a code block with text.
++"""],
++["""\
++Code not parsed but warning silenced in ParserTestCase.
++
++.. code:: s-lang
++
++ % abc.sl
++ autoload("abc_mode", "abc");
++""",
++"""\
++<document source="test data">
++ <paragraph>
++ Code not parsed but warning silenced in ParserTestCase.
++ <literal_block classes="code s-lang" xml:space="preserve">
++ % abc.sl
++ autoload("abc_mode", "abc");
++"""],
++["""\
++Place the language name in a class argument to avoid the no-lexer warning:
++
++.. code::
++ :class: s-lang
++
++ % abc.sl
++ autoload("abc_mode", "abc");
++""",
++"""\
++<document source="test data">
++ <paragraph>
++ Place the language name in a class argument to avoid the no-lexer warning:
++ <literal_block classes="code s-lang" xml:space="preserve">
++ % abc.sl
++ autoload("abc_mode", "abc");
++"""],
++]
++
++totest['code-parsing-2-14'] = [
++["""\
++.. code:: python3
++ :class: testclass
++
++ print('hello world') # to stdout
++""",
++"""\
++<document source="test data">
++ <literal_block classes="code python3 testclass" xml:space="preserve">
++ \n\
++ <inline classes="name builtin">
++ print
++ <inline classes="punctuation">
++ (
++ <inline classes="literal string single">
++ 'hello world'
++ <inline classes="punctuation">
++ )
++ \n\
++ <inline classes="comment single">
++ # to stdout
++"""],
++["""\
++.. code:: python3
++ :class: testclass
++ :name: my_function
++ :number-lines: 7
++
++ def my_function():
++ '''Test the lexer.
++ '''
++
++ # and now for something completely different
++ print(8/2)
++""",
++"""\
++<document source="test data">
++ <literal_block classes="code python3 testclass" ids="my-function" names="my_function" xml:space="preserve">
++ <inline classes="ln">
++ 7 \n\
++ <inline classes="keyword">
++ def
++ \n\
++ <inline classes="name function">
++ my_function
++ <inline classes="punctuation">
++ ():
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 8 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="literal string doc">
++ \'\'\'Test the lexer.
++ <inline classes="ln">
++ 9 \n\
++ <inline classes="literal string doc">
++ \'\'\'
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 10 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 11 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="comment single">
++ # and now for something completely different
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 12 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="name builtin">
++ print
+ <inline classes="punctuation">
+ (
+ <inline classes="literal number integer">
+--- a/test/test_parsers/test_rst/test_directives/test_code_long.py
++++ b/test/test_parsers/test_rst/test_directives/test_code_long.py
+@@ -10,15 +10,22 @@ Test the 'code' directive in body.py wit
+
+ if __name__ == '__main__':
+ import __init__ # noqa: F401
++from packaging.version import Version
+ from test_parsers import DocutilsTestSupport
+-from docutils.utils.code_analyzer import with_pygments
++from docutils.utils.code_analyzer import with_pygments, pygments_version
+
+
+ def suite():
+ settings = {'syntax_highlight': 'long'}
+ s = DocutilsTestSupport.ParserTestSuite(suite_settings=settings)
+ if with_pygments:
++ if pygments_version >= Version('2.14.0'):
++ del(totest['code-parsing-long'])
++ else:
++ del(totest['code-parsing-long-2-14'])
++
+ s.generateTests(totest)
++
+ return s
+
+
+@@ -73,6 +80,94 @@ totest['code-parsing-long'] = [
+ \n\
+ <inline classes="name builtin">
+ print
++ <inline classes="punctuation">
++ (
++ <inline classes="literal number integer">
++ 8
++ <inline classes="operator">
++ /
++ <inline classes="literal number integer">
++ 2
++ <inline classes="punctuation">
++ )
++"""],
++["""\
++.. code:: latex
++
++ hello \\emph{world} % emphasize
++""",
++"""\
++<document source="test data">
++ <literal_block classes="code latex" xml:space="preserve">
++ hello \n\
++ <inline classes="keyword">
++ \\emph
++ <inline classes="name builtin">
++ {
++ world
++ <inline classes="name builtin">
++ }
++ \n\
++ <inline classes="comment">
++ % emphasize"""],
++]
++
++totest['code-parsing-long-2-14'] = [
++["""\
++.. code:: python3
++ :number-lines: 7
++
++ def my_function():
++ '''Test the lexer.
++ '''
++
++ # and now for something completely different
++ print(8/2)
++""",
++"""\
++<document source="test data">
++ <literal_block classes="code python3" xml:space="preserve">
++ <inline classes="ln">
++ 7 \n\
++ <inline classes="keyword">
++ def
++ \n\
++ <inline classes="name function">
++ my_function
++ <inline classes="punctuation">
++ ():
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 8 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="literal string doc">
++ \'\'\'Test the lexer.
++ <inline classes="ln">
++ 9 \n\
++ <inline classes="literal string doc">
++ \'\'\'
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 10 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 11 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="comment single">
++ # and now for something completely different
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 12 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="name builtin">
++ print
+ <inline classes="punctuation">
+ (
+ <inline classes="literal number integer">
+--- a/test/test_parsers/test_rst/test_directives/test_include.py
++++ b/test/test_parsers/test_rst/test_directives/test_include.py
+@@ -10,9 +10,10 @@ Tests for misc.py "include" directive.
+ import os.path
+ if __name__ == '__main__':
+ import __init__ # noqa: F401
++from packaging.version import Version
+ from test_parsers import DocutilsTestSupport
+ from docutils import parsers
+-from docutils.utils.code_analyzer import with_pygments
++from docutils.utils.code_analyzer import with_pygments, pygments_version
+
+ # optional 3rd-party markdown parser
+ md_parser_name = 'recommonmark'
+@@ -27,6 +28,11 @@ def suite():
+ # eventually skip optional parts:
+ if not with_pygments:
+ del(totest['include-code'])
++ del(totest['include-code-2-14'])
++ elif pygments_version >= Version('2.14.0'):
++ del(totest['include-code'])
++ else:
++ del(totest['include-code-2-14'])
+ if not md_parser_class:
+ del(totest['include-markdown'])
+ s.generateTests(totest)
+@@ -1191,6 +1197,313 @@ Including includes/include14.txt
+ <inline classes="punctuation">
+ ..
+ \n\
++ <inline classes="operator word">
++ include
++ <inline classes="punctuation">
++ ::
++ ../sibling/include7.txt
++""" % reldir(include6)],
++["""\
++Circular inclusion
++
++.. include:: %s
++""" % include15,
++"""\
++<document source="test data">
++ <paragraph>
++ Circular inclusion
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++ <paragraph>
++ File "include16.txt": example of rekursive inclusion.
++ <system_message level="2" line="3" source="%s" type="WARNING">
++ <paragraph>
++ circular inclusion in "include" directive:
++ %s
++ > %s
++ > %s
++ > test data
++ <literal_block xml:space="preserve">
++ .. include:: include15.txt
++ <paragraph>
++ No loop when clipping before the "include" directive:
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++""" % (reldir(include16), reldir(include15),
++ reldir(include16), reldir(include15))],
++["""\
++Circular inclusion with clipping.
++
++.. include:: %s
++ :start-line: 2
++""" % include16,
++"""\
++<document source="test data">
++ <paragraph>
++ Circular inclusion with clipping.
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++ <paragraph>
++ File "include16.txt": example of rekursive inclusion.
++ <system_message level="2" line="3" source="%s" type="WARNING">
++ <paragraph>
++ circular inclusion in "include" directive:
++ %s
++ > %s
++ > %s
++ > %s
++ > test data
++ <literal_block xml:space="preserve">
++ .. include:: include15.txt
++ <paragraph>
++ No loop when clipping before the "include" directive:
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++ <paragraph>
++ No loop when clipping before the "include" directive:
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++""" % (reldir(include16), reldir(include15), reldir(include16),
++ reldir(include15), reldir(include16))],
++["""\
++Circular inclusion with specified parser.
++
++.. include:: %s
++ :parser: rst
++""" % include15,
++"""\
++<document source="test data">
++ <paragraph>
++ Circular inclusion with specified parser.
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++ <paragraph>
++ File "include16.txt": example of rekursive inclusion.
++ <system_message level="2" line="3" source="%s" type="WARNING">
++ <paragraph>
++ circular inclusion in "include" directive:
++ %s
++ > %s
++ > %s
++ > test data
++ <literal_block xml:space="preserve">
++ .. include:: include15.txt
++ <paragraph>
++ No loop when clipping before the "include" directive:
++ <paragraph>
++ File "include15.txt": example of rekursive inclusion.
++""" % (reldir(include16), reldir(include15),
++ reldir(include16), reldir(include15))],
++["""\
++No circular inclusion.
++
++============================= =============================
++.. include:: data/include.txt .. include:: data/include.txt
++============================= =============================
++""",
++"""\
++<document source="test data">
++ <paragraph>
++ No circular inclusion.
++ <table>
++ <tgroup cols="2">
++ <colspec colwidth="29">
++ <colspec colwidth="29">
++ <tbody>
++ <row>
++ <entry>
++ <paragraph>
++ Some include text.
++ <entry>
++ <paragraph>
++ Some include text."""],
++]
++
++totest['include-code-2-14'] = [
++["""\
++Included code
++
++.. include:: %s
++ :code: rst
++""" % include1,
++"""\
++<document source="test data">
++ <paragraph>
++ Included code
++ <literal_block classes="code rst" source="%s" xml:space="preserve">
++ <inline classes="generic heading">
++ Inclusion 1
++ \n\
++ <inline classes="generic heading">
++ -----------
++ \n\
++ <inline classes="whitespace">
++ \n\
++ This file is used by \n\
++ <inline classes="literal string">
++ ``test_include.py``
++ .
++""" % reldir(include1)],
++["""\
++Included code
++
++.. include:: %s
++ :code: rst
++ :number-lines:
++""" % include1,
++"""\
++<document source="test data">
++ <paragraph>
++ Included code
++ <literal_block classes="code rst" source="%s" xml:space="preserve">
++ <inline classes="ln">
++ 1 \n\
++ <inline classes="generic heading">
++ Inclusion 1
++ \n\
++ <inline classes="ln">
++ 2 \n\
++ <inline classes="generic heading">
++ -----------
++ \n\
++ <inline classes="ln">
++ 3 \n\
++ <inline classes="whitespace">
++ \n\
++ <inline classes="ln">
++ 4 \n\
++ <inline classes="whitespace">
++ This file is used by \n\
++ <inline classes="literal string">
++ ``test_include.py``
++ .
++""" % reldir(include1)],
++["""\
++TAB expansion with included code:
++
++.. include:: %s
++ :code: rst
++""" % include_literal,
++"""\
++<document source="test data">
++ <paragraph>
++ TAB expansion with included code:
++ <literal_block classes="code rst" source="%s" xml:space="preserve">
++ Literal included this should \n\
++ <inline classes="generic strong">
++ **not**
++ be \n\
++ <inline classes="generic emph">
++ *marked*
++ \n\
++ <inline classes="name variable">
++ `up`
++ .
++ <inline classes="whitespace">
++ \n\
++ <- leading raw tab.
++ <inline classes="whitespace">
++ \n\
++ \n\
++ Newlines
++ <inline classes="whitespace">
++ \n\
++ are
++ <inline classes="whitespace">
++ \n\
++ normalized.
++""" % include_literal],
++["""\
++Custom TAB expansion with included code:
++
++.. include:: %s
++ :code: rst
++ :tab-width: 2
++""" % include_literal,
++"""\
++<document source="test data">
++ <paragraph>
++ Custom TAB expansion with included code:
++ <literal_block classes="code rst" source="%s" xml:space="preserve">
++ Literal included this should \n\
++ <inline classes="generic strong">
++ **not**
++ be \n\
++ <inline classes="generic emph">
++ *marked*
++ \n\
++ <inline classes="name variable">
++ `up`
++ .
++ <inline classes="whitespace">
++ \n\
++ <- leading raw tab.
++ <inline classes="whitespace">
++ \n\
++ \n\
++ Newlines
++ <inline classes="whitespace">
++ \n\
++ are
++ <inline classes="whitespace">
++ \n\
++ normalized.
++""" % include_literal],
++["""\
++Custom TAB expansion with included code:
++
++.. include:: %s
++ :code: rst
++ :tab-width: -1
++""" % include_literal,
++"""\
++<document source="test data">
++ <paragraph>
++ Custom TAB expansion with included code:
++ <literal_block classes="code rst" source="%s" xml:space="preserve">
++ Literal included this should \n\
++ <inline classes="generic strong">
++ **not**
++ be \n\
++ <inline classes="generic emph">
++ *marked*
++ \n\
++ <inline classes="name variable">
++ `up`
++ .
++ <inline classes="whitespace">
++ \n\
++ \t<- leading raw tab.
++ <inline classes="whitespace">
++ \n\
++ \n\
++ Newlines
++ <inline classes="whitespace">
++ \n\
++ are
++ <inline classes="whitespace">
++ \n\
++ normalized.
++""" % include_literal],
++["""\
++Including includes/include14.txt
++
++.. include:: %s
++""" % include14,
++"""\
++<document source="test data">
++ <paragraph>
++ Including includes/include14.txt
++ <paragraph>
++ Including more/include6.txt as rst-code from includes/include14.txt:
++ <literal_block classes="code rst" source="%s" xml:space="preserve">
++ In includes/more/include6.txt
++ <inline classes="whitespace">
++ \n\
++ \n\
++ <inline classes="punctuation">
++ ..
++ \n\
+ <inline classes="operator word">
+ include
+ <inline classes="punctuation">
+--- a/docutils/utils/code_analyzer.py
++++ b/docutils/utils/code_analyzer.py
+@@ -9,11 +9,14 @@
+ from docutils import ApplicationError
+ try:
+ import pygments
++ from packaging.version import Version
+ from pygments.lexers import get_lexer_by_name
+ from pygments.formatters.html import _get_ttype_class
+ with_pygments = True
++ pygments_version = Version(pygments.__version__)
+ except ImportError:
+ with_pygments = False
++ pygments_version = '0'
+
+ # Filter the following token types from the list of class arguments:
+ unstyled_tokens = ['token', # Token (base token type)
+
+