summaryrefslogtreecommitdiff
path: root/dev-python/docutils
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-12 00:01:15 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-12 00:01:15 +0100
commitd72a987a342949e200b5e9decbd71f246da53788 (patch)
treeea9d3f4ec74bd6ab18582852d7958d3f3176dfea /dev-python/docutils
parentc035b2b83f0e94c4b2e82184f00bcef874e6276b (diff)
gentoo auto-resync : 12:05:2024 - 00:01:15
Diffstat (limited to 'dev-python/docutils')
-rw-r--r--dev-python/docutils/Manifest8
-rw-r--r--dev-python/docutils/docutils-0.19.ebuild76
-rw-r--r--dev-python/docutils/docutils-0.21.1.ebuild86
-rw-r--r--dev-python/docutils/docutils-0.21.2.ebuild2
-rw-r--r--dev-python/docutils/files/docutils-0.19-pygments-2.14.patch672
-rw-r--r--dev-python/docutils/files/docutils-0.21.1-test.patch42
6 files changed, 2 insertions, 884 deletions
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
index ca8936024b22..87dc1f660291 100644
--- a/dev-python/docutils/Manifest
+++ b/dev-python/docutils/Manifest
@@ -1,11 +1,5 @@
-AUX docutils-0.19-pygments-2.14.patch 18917 BLAKE2B 889de063bfd6aae39512103c0da0d9e6bec108a59b9687ed1d2cfa650b541726bf215651dae8566e73c5c7beaff3911ba477a198640161ff1ee20d8cc49ffa27 SHA512 94941801590739dd760c5a5344481f99cf57c38776fc335643c7734f77a8c70e7408228149e3488a1b93f47ec57c54a419cf23cb3b2649b8246e0f8fc2e420e2
-AUX docutils-0.21.1-test.patch 1622 BLAKE2B 53f238f048a8251fc50839a6f69faf1c758ae2f2abdf45345ea9691fafa6330b77f6f8c09929f76ccc4bf59a4efced5480bd56bbd3aa4488dd09857dc09b0d57 SHA512 8f7cdfb44189cba2b93bca1be293aa6969ac530c33dde58c10c2d5b17d75356be621b68af9189fd4ebc3ff651a8abd009232d2414a249f70a046fb87c012734c
-DIST docutils-0.19.tar.gz 2056383 BLAKE2B 9983a905642de4e81ca118578671b503ddfda4bef1afcc0524de40543e1f9617fd8d768ef467da49d2f01076683400bad6a0fe15f6b5a3a1e202c42b2e34ab1b SHA512 fb904a899f2b6f3c07c5079577bd7c52a3182cb85f6a4149391e523498df15bfa317f0c04095b890beeb3f89c2b444875a2a609d880ac4d7fbc3125e46b37ea5
DIST docutils-0.20.1.tar.gz 2058365 BLAKE2B 73fb8302599ffe57b0840c898b0b2e3ccd39ff9ea6eec2b5d345d02c950e1a8357bd821e62733b0484e82bc30e71d30fab381390b0edaef4375b02bcd9eeeb40 SHA512 a0ddca315d03677003036d6a8052ac96fbd3fcc4508564938ea684d79bedb4d322d83449c7b26e55b19b0aadd6e46ca9ac409bb16279a20f06c70e9c15ef5eb0
-DIST docutils-0.21.1.tar.gz 2201080 BLAKE2B a89792a69a7faa0eda7b2470e5e3a3d3cf8250a3577553a8f8f8d3d86d2693394e97dca6c75c1b4815748d2ce126ccd3f71dead5763ec8b70aee7be183165473 SHA512 2816fe074b12d7f15fb6730339f3af5f459f50af0cd2a4922194887f48bfd9931c2f2054a17a5418585b586502b96e05ed18600d31c523084537dc72707ab0ee
DIST docutils-0.21.2.tar.gz 2204444 BLAKE2B 727c2f97fc5835a0ffa62e38ea85af366cd89ad1eaec0b8af8b1f3b12e6cddfddb65161ba34f9109952d37ba2cf8985f3c3b6905ebb2ac1c9a984cce3fb4d170 SHA512 7fafa331f5687448e80d299c20cdccc4b49819fa471b5f586bf0ab18c694ba43a70f58e7c76b0a70a16267585548389214e11a4998ad7fdc19a27f0f7644539c
-EBUILD docutils-0.19.ebuild 1729 BLAKE2B 83518b007ed7f6fe5491ad883c6272ea93ee91a177271bb791f63cda6d5b7048d5b8981a734307f8926e41ffdde6c5bb328b1edc41ade6f2e543a5cb9b65c851 SHA512 120702a6a0d4d495c4f9367e11b6b8190352c007ffa8ce767a9f5284bcd366e462dc7e19427e208b1fa98418785de13d17b9bbe1530091cf7a6307611e0a9573
EBUILD docutils-0.20.1-r1.ebuild 1868 BLAKE2B 6816507f5f0519235d7d6f433db171b30d29481ae9d40e36f401e968bedead22910de39189712703c8184fbb1c3997174d25417dfc9d168566bdf37da8b527dd SHA512 de3edcd25ec0e2e812e43bcc12b871b5737bc65bcab05230d9bdf44bc010f6c83df99e4fedbf4e8d737e9d7fd45ed527975176fc641b44107a189627ecc585db
-EBUILD docutils-0.21.1.ebuild 2028 BLAKE2B 13a91d4500803367bfd6768ea2a02e7be2a5b442f41eb4d867dc25239f3a0c7da5e5e1725183e7b1a58037350ce8ac3840aa870e3584fcd6e8465908389352ab SHA512 63c3aa8775c39a7c470c2e9fb1246238335aa45aa656979b5ba927641274693c0ef3475162c46204fa0098ba3a0f0d22f5acb8ebc1af98766debe46f904830c5
-EBUILD docutils-0.21.2.ebuild 1907 BLAKE2B 896dbe4787d4a1e48ee0116eae08f57b7adefcd169d8a65c63745b3888723c9bf97ca4ce6a2a693020fb9a878038bb553750756634f0b722d3d7cd6a6ce0255f SHA512 e8b100cc185e7e831f16322d81c05cc618087f5bc3336e60b2578911f406809a74b8fd45eaa3659b56dd1e4f80e0e4ecf01f8a0c4bec4ef07789322fd02139f1
+EBUILD docutils-0.21.2.ebuild 1899 BLAKE2B ce7ad450e028130b69601942aaa619a68390cd8e9f6bf41cb89349a0ad58fd3c730661751e29d68b69eb2cb7c251d63c7431a520be08dacf6a79aa0e3c79a298 SHA512 88b2c3f994e316b00db21087baed880536f0de28a735039fc13e1eca3eec5044adddf019684965191abb8c49551f8013ca7f0bba55ea1479526c065ebcad4df6
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
deleted file mode 100644
index 1bbeb19e0cb4..000000000000
--- a/dev-python/docutils/docutils-0.19.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
-HOMEPAGE="
- https://docutils.sourceforge.io/
- https://pypi.org/project/docutils/
-"
-
-LICENSE="BSD-2 GPL-3 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19-pygments-2.14.patch
-)
-
-python_compile_all() {
- # Generate html docs from reStructured text sources.
-
- # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
- cp docutils/writers/html4css1/html4css1.css . || die
-
- cd tools || die
- "${EPYTHON}" buildhtml.py --input-encoding=utf-8 \
- --stylesheet-path=../html4css1.css, --traceback ../docs || die
-}
-
-src_test() {
- cd test || die
- distutils-r1_src_test
-}
-
-python_test() {
- "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Install tools.
- python_doscript tools/{buildhtml,quicktest}.py
-}
-
-install_txt_doc() {
- local doc="${1}"
- local dir="txt/$(dirname ${doc})"
- docinto "${dir}"
- dodoc "${doc}"
-}
-
-python_install_all() {
- local DOCS=( *.txt )
- local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
-
- distutils-r1_python_install_all
-
- local doc
- while IFS= read -r -d '' doc; do
- install_txt_doc "${doc}"
- done < <(find docs tools -name '*.txt' -print0)
-}
diff --git a/dev-python/docutils/docutils-0.21.1.ebuild b/dev-python/docutils/docutils-0.21.1.ebuild
deleted file mode 100644
index 773ff8bded58..000000000000
--- a/dev-python/docutils/docutils-0.21.1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
-HOMEPAGE="
- https://docutils.sourceforge.io/
- https://pypi.org/project/docutils/
-"
-
-# GPL-3+ only for emacs/rst.el
-LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-PATCHES=(
- # minimal backport of upstream r9637, r9641
- "${FILESDIR}/${P}-test.patch"
-)
-
-python_compile_all() {
- # Generate html docs from reStructured text sources.
-
- # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
- cp docutils/writers/html4css1/html4css1.css . || die
-
- cd tools || die
- "${EPYTHON}" buildhtml.py --input-encoding=utf-8 --no-datestamp \
- --stylesheet-path=../html4css1.css, --traceback ../docs || die
-}
-
-src_test() {
- cd test || die
- mkdir functional/output || die
- distutils-r1_src_test
-}
-
-python_test() {
- "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Install tools.
- python_doscript tools/buildhtml.py
-}
-
-install_txt_doc() {
- local doc="${1}"
- local dir="txt/$(dirname ${doc})"
- docinto "${dir}"
- dodoc "${doc}"
-}
-
-python_install_all() {
- local DOCS=( *.txt )
- local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
-
- distutils-r1_python_install_all
-
- local doc
- while IFS= read -r -d '' doc; do
- install_txt_doc "${doc}"
- done < <(find docs tools -name '*.txt' -print0)
-}
-
-pkg_postinst() {
- optfeature \
- "auto-detecting the image dimensions when using the 'scale' option" \
- dev-python/pillow
-}
diff --git a/dev-python/docutils/docutils-0.21.2.ebuild b/dev-python/docutils/docutils-0.21.2.ebuild
index 73aedd897616..b3e5553deae4 100644
--- a/dev-python/docutils/docutils-0.21.2.ebuild
+++ b/dev-python/docutils/docutils-0.21.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
# GPL-3+ only for emacs/rst.el
LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
dev-python/pillow[${PYTHON_USEDEP}]
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
deleted file mode 100644
index 42324aa49c4d..000000000000
--- a/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch
+++ /dev/null
@@ -1,672 +0,0 @@
-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)
-
-
diff --git a/dev-python/docutils/files/docutils-0.21.1-test.patch b/dev-python/docutils/files/docutils-0.21.1-test.patch
deleted file mode 100644
index 507fd239c166..000000000000
--- a/dev-python/docutils/files/docutils-0.21.1-test.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/test/test_writers/test_html5_polyglot_parts.py b/test/test_writers/test_html5_polyglot_parts.py
-index fb2792ee7..cb03fea2f 100644
---- a/test/test_writers/test_html5_polyglot_parts.py
-+++ b/test/test_writers/test_html5_polyglot_parts.py
-@@ -24,11 +24,20 @@ if __name__ == '__main__':
-
- import docutils
- import docutils.core
-+from docutils.parsers.rst.directives.images import PIL
- from docutils.utils.code_analyzer import with_pygments
-
- ROOT_PREFIX = (Path(__file__).parent.parent/'functional'/'input').as_posix()
- DATA_ROOT = os.path.abspath(os.path.join(__file__, '..', '..', 'data'))
-
-+with_pygments = False
-+PIL_NOT_FOUND_PATH = 'dummy.png'
-+try:
-+ if PIL and (tuple(int(i) for i in PIL.__version__.split('.')) >= (10, 3)):
-+ PIL_NOT_FOUND_PATH = Path('dummy.png').resolve()
-+except:
-+ PIL = None
-+
-
- class Html5WriterPublishPartsTestCase(unittest.TestCase):
- """Test case for HTML writer via the publish_parts interface."""
-@@ -642,14 +651,14 @@ totest['system_messages'] = ({'stylesheet_path': '',
- .. image:: dummy.mp4
- :scale: 100%
- """,
--{'fragment': """\
-+{'fragment': f"""\
- <img alt="dummy.png" src="dummy.png" />
- <aside class="system-message">
- <p class="system-message-title">System Message: WARNING/2 \
- (<span class="docutils literal">&lt;string&gt;</span>, line 1)</p>
- <p>Cannot scale image!
- Could not get size from &quot;dummy.png&quot;:
-- [Errno 2] No such file or directory: 'dummy.png'</p>
-+ [Errno 2] No such file or directory: '{PIL_NOT_FOUND_PATH}'</p>
- </aside>
- <aside class="system-message">
- <p class="system-message-title">System Message: ERROR/3 \