From beae7f0b6748554c13abb95d460121291bc8ceab Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 1 Jul 2024 07:13:56 +0000 Subject: [PATCH] dev-python/docutils: Sync with Gentoo It's from Gentoo commit 026ce04830608e1d96f38f680f681c4f5e80ad26. --- .../dev-python/docutils/Manifest | 3 +- .../dev-python/docutils/docutils-0.19.ebuild | 76 -- ...s-0.21.1.ebuild => docutils-0.21.2.ebuild} | 10 +- .../files/docutils-0.19-pygments-2.14.patch | 672 ------------------ .../docutils/files/docutils-0.21.1-test.patch | 42 -- 5 files changed, 3 insertions(+), 800 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild rename sdk_container/src/third_party/portage-stable/dev-python/docutils/{docutils-0.21.1.ebuild => docutils-0.21.2.ebuild} (83%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest index 520c7d2dd7..c80b3785c8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/Manifest @@ -1,3 +1,2 @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.19.ebuild deleted file mode 100644 index 1bbeb19e0c..0000000000 --- a/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild similarity index 83% rename from sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild index 773ff8bded..8d6d100266 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/docutils/docutils-0.21.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 optfeature pypi @@ -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}] @@ -27,11 +27,6 @@ BDEPEND=" ${RDEPEND} " -PATCHES=( - # minimal backport of upstream r9637, r9641 - "${FILESDIR}/${P}-test.patch" -) - python_compile_all() { # Generate html docs from reStructured text sources. @@ -45,7 +40,6 @@ python_compile_all() { src_test() { cd test || die - mkdir functional/output || die distutils-r1_src_test } diff --git a/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch b/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch deleted file mode 100644 index 42324aa49c..0000000000 --- a/sdk_container/src/third_party/portage-stable/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\ - - print -+ -+ ( -+ -+ 8 -+ -+ / -+ -+ 2 -+ -+ ) -+"""], -+["""\ -+.. code:: latex -+ :class: testclass -+ -+ hello \\emph{world} % emphasize -+""", -+"""\ -+ -+ -+ hello \n\ -+ -+ \\emph -+ -+ { -+ world -+ -+ } -+ \n\ -+ -+ % emphasize"""], -+["""\ -+.. code:: rst -+ :number-lines: -+ -+ This is a code block with text. -+""", -+"""\ -+ -+ -+ -+ 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"); -+""", -+"""\ -+ -+ -+ Code not parsed but warning silenced in ParserTestCase. -+ -+ % 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"); -+""", -+"""\ -+ -+ -+ Place the language name in a class argument to avoid the no-lexer warning: -+ -+ % abc.sl -+ autoload("abc_mode", "abc"); -+"""], -+] -+ -+totest['code-parsing-2-14'] = [ -+["""\ -+.. code:: python3 -+ :class: testclass -+ -+ print('hello world') # to stdout -+""", -+"""\ -+ -+ -+ \n\ -+ -+ print -+ -+ ( -+ -+ 'hello world' -+ -+ ) -+ \n\ -+ -+ # 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) -+""", -+"""\ -+ -+ -+ -+ 7 \n\ -+ -+ def -+ \n\ -+ -+ my_function -+ -+ (): -+ -+ \n\ -+ -+ 8 \n\ -+ -+ \n\ -+ -+ \'\'\'Test the lexer. -+ -+ 9 \n\ -+ -+ \'\'\' -+ -+ \n\ -+ -+ 10 \n\ -+ -+ \n\ -+ -+ 11 \n\ -+ -+ \n\ -+ -+ # and now for something completely different -+ -+ \n\ -+ -+ 12 \n\ -+ -+ \n\ -+ -+ print - - ( - ---- 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\ - - print -+ -+ ( -+ -+ 8 -+ -+ / -+ -+ 2 -+ -+ ) -+"""], -+["""\ -+.. code:: latex -+ -+ hello \\emph{world} % emphasize -+""", -+"""\ -+ -+ -+ hello \n\ -+ -+ \\emph -+ -+ { -+ world -+ -+ } -+ \n\ -+ -+ % 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) -+""", -+"""\ -+ -+ -+ -+ 7 \n\ -+ -+ def -+ \n\ -+ -+ my_function -+ -+ (): -+ -+ \n\ -+ -+ 8 \n\ -+ -+ \n\ -+ -+ \'\'\'Test the lexer. -+ -+ 9 \n\ -+ -+ \'\'\' -+ -+ \n\ -+ -+ 10 \n\ -+ -+ \n\ -+ -+ 11 \n\ -+ -+ \n\ -+ -+ # and now for something completely different -+ -+ \n\ -+ -+ 12 \n\ -+ -+ \n\ -+ -+ print - - ( - ---- 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 - - .. - \n\ -+ -+ include -+ -+ :: -+ ../sibling/include7.txt -+""" % reldir(include6)], -+["""\ -+Circular inclusion -+ -+.. include:: %s -+""" % include15, -+"""\ -+ -+ -+ Circular inclusion -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ File "include16.txt": example of rekursive inclusion. -+ -+ -+ circular inclusion in "include" directive: -+ %s -+ > %s -+ > %s -+ > test data -+ -+ .. include:: include15.txt -+ -+ No loop when clipping before the "include" directive: -+ -+ 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, -+"""\ -+ -+ -+ Circular inclusion with clipping. -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ File "include16.txt": example of rekursive inclusion. -+ -+ -+ circular inclusion in "include" directive: -+ %s -+ > %s -+ > %s -+ > %s -+ > test data -+ -+ .. include:: include15.txt -+ -+ No loop when clipping before the "include" directive: -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ No loop when clipping before the "include" directive: -+ -+ 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, -+"""\ -+ -+ -+ Circular inclusion with specified parser. -+ -+ File "include15.txt": example of rekursive inclusion. -+ -+ File "include16.txt": example of rekursive inclusion. -+ -+ -+ circular inclusion in "include" directive: -+ %s -+ > %s -+ > %s -+ > test data -+ -+ .. include:: include15.txt -+ -+ No loop when clipping before the "include" directive: -+ -+ 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 -+============================= ============================= -+""", -+"""\ -+ -+ -+ No circular inclusion. -+ -+ -+ -+ -+ -+ -+ -+ -+ Some include text. -+ -+ -+ Some include text."""], -+] -+ -+totest['include-code-2-14'] = [ -+["""\ -+Included code -+ -+.. include:: %s -+ :code: rst -+""" % include1, -+"""\ -+ -+ -+ Included code -+ -+ -+ Inclusion 1 -+ \n\ -+ -+ ----------- -+ \n\ -+ -+ \n\ -+ This file is used by \n\ -+ -+ ``test_include.py`` -+ . -+""" % reldir(include1)], -+["""\ -+Included code -+ -+.. include:: %s -+ :code: rst -+ :number-lines: -+""" % include1, -+"""\ -+ -+ -+ Included code -+ -+ -+ 1 \n\ -+ -+ Inclusion 1 -+ \n\ -+ -+ 2 \n\ -+ -+ ----------- -+ \n\ -+ -+ 3 \n\ -+ -+ \n\ -+ -+ 4 \n\ -+ -+ This file is used by \n\ -+ -+ ``test_include.py`` -+ . -+""" % reldir(include1)], -+["""\ -+TAB expansion with included code: -+ -+.. include:: %s -+ :code: rst -+""" % include_literal, -+"""\ -+ -+ -+ TAB expansion with included code: -+ -+ Literal included this should \n\ -+ -+ **not** -+ be \n\ -+ -+ *marked* -+ \n\ -+ -+ `up` -+ . -+ -+ \n\ -+ <- leading raw tab. -+ -+ \n\ -+ \n\ -+ Newlines -+ -+ \n\ -+ are -+ -+ \n\ -+ normalized. -+""" % include_literal], -+["""\ -+Custom TAB expansion with included code: -+ -+.. include:: %s -+ :code: rst -+ :tab-width: 2 -+""" % include_literal, -+"""\ -+ -+ -+ Custom TAB expansion with included code: -+ -+ Literal included this should \n\ -+ -+ **not** -+ be \n\ -+ -+ *marked* -+ \n\ -+ -+ `up` -+ . -+ -+ \n\ -+ <- leading raw tab. -+ -+ \n\ -+ \n\ -+ Newlines -+ -+ \n\ -+ are -+ -+ \n\ -+ normalized. -+""" % include_literal], -+["""\ -+Custom TAB expansion with included code: -+ -+.. include:: %s -+ :code: rst -+ :tab-width: -1 -+""" % include_literal, -+"""\ -+ -+ -+ Custom TAB expansion with included code: -+ -+ Literal included this should \n\ -+ -+ **not** -+ be \n\ -+ -+ *marked* -+ \n\ -+ -+ `up` -+ . -+ -+ \n\ -+ \t<- leading raw tab. -+ -+ \n\ -+ \n\ -+ Newlines -+ -+ \n\ -+ are -+ -+ \n\ -+ normalized. -+""" % include_literal], -+["""\ -+Including includes/include14.txt -+ -+.. include:: %s -+""" % include14, -+"""\ -+ -+ -+ Including includes/include14.txt -+ -+ Including more/include6.txt as rst-code from includes/include14.txt: -+ -+ In includes/more/include6.txt -+ -+ \n\ -+ \n\ -+ -+ .. -+ \n\ - - include - ---- 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/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch b/sdk_container/src/third_party/portage-stable/dev-python/docutils/files/docutils-0.21.1-test.patch deleted file mode 100644 index 507fd239c1..0000000000 --- a/sdk_container/src/third_party/portage-stable/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"""\ - dummy.png - -