summaryrefslogtreecommitdiff
path: root/dev-python/docutils/docutils-0.21.2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/docutils/docutils-0.21.2.ebuild')
-rw-r--r--dev-python/docutils/docutils-0.21.2.ebuild80
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-python/docutils/docutils-0.21.2.ebuild b/dev-python/docutils/docutils-0.21.2.ebuild
new file mode 100644
index 000000000000..73aedd897616
--- /dev/null
+++ b/dev-python/docutils/docutils-0.21.2.ebuild
@@ -0,0 +1,80 @@
+# 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}
+"
+
+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
+ 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
+}