diff options
Diffstat (limited to 'dev-python/docutils')
-rw-r--r-- | dev-python/docutils/Manifest | 1 | ||||
-rw-r--r-- | dev-python/docutils/docutils-0.21.1.ebuild | 86 | ||||
-rw-r--r-- | dev-python/docutils/files/docutils-0.21.1-test.patch | 42 |
3 files changed, 129 insertions, 0 deletions
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest index 1b240bf273a9..520c7d2dd766 100644 --- a/dev-python/docutils/Manifest +++ b/dev-python/docutils/Manifest @@ -1,2 +1,3 @@ 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 diff --git a/dev-python/docutils/docutils-0.21.1.ebuild b/dev-python/docutils/docutils-0.21.1.ebuild new file mode 100644 index 000000000000..773ff8bded58 --- /dev/null +++ b/dev-python/docutils/docutils-0.21.1.ebuild @@ -0,0 +1,86 @@ +# 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/files/docutils-0.21.1-test.patch b/dev-python/docutils/files/docutils-0.21.1-test.patch new file mode 100644 index 000000000000..507fd239c166 --- /dev/null +++ b/dev-python/docutils/files/docutils-0.21.1-test.patch @@ -0,0 +1,42 @@ +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"><string></span>, line 1)</p> + <p>Cannot scale image! + Could not get size from "dummy.png": +- [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 \ |