summaryrefslogtreecommitdiff
path: root/dev-python/sphinx/sphinx-9.0.4.ebuild
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2025-12-05 07:00:47 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2025-12-05 07:00:47 +0000
commitb941bdce91a50cf2e78c22befdfdfdeddfcf6694 (patch)
tree297eab1ce33db2add80944da87a467066ee35c87 /dev-python/sphinx/sphinx-9.0.4.ebuild
parent17c0529dce5d1a360c0ad93ba1149f15e1d4f3c7 (diff)
parentf41601f43ecb0e61effea07e7419cb2936fe6e32 (diff)
downloadgentoo-b941bdce91a50cf2e78c22befdfdfdeddfcf6694.tar.gz
gentoo-b941bdce91a50cf2e78c22befdfdfdeddfcf6694.tar.bz2
gentoo-b941bdce91a50cf2e78c22befdfdfdeddfcf6694.zip
Merge updates from master
Diffstat (limited to 'dev-python/sphinx/sphinx-9.0.4.ebuild')
-rw-r--r--dev-python/sphinx/sphinx-9.0.4.ebuild144
1 files changed, 144 insertions, 0 deletions
diff --git a/dev-python/sphinx/sphinx-9.0.4.ebuild b/dev-python/sphinx/sphinx-9.0.4.ebuild
new file mode 100644
index 000000000000..2342877e9dab
--- /dev/null
+++ b/dev-python/sphinx/sphinx-9.0.4.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+IUSE="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.23[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/roman-numerals-py-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-applehelp-1.0.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-devhelp-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-jsmath-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-qthelp-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ >=dev-python/flit-core-3.11
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+)
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+# EPYTEST_XDIST breaks stuff
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # roman-numerals-py has been renamed (no -py), but the package can't be pkgmoved "yet".
+ # For rc1, simply fix pip check by using the old name.
+ sed -i -e 's:roman-numerals:roman-numerals-py:' pyproject.toml || die
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_util/test_util_inspect.py::test_is_classmethod_descriptor
+ tests/test_util/test_util_inspect.py::test_is_builtin_classmethod_like
+ # minor repr() differences
+ tests/test_util/test_util_typing.py::test_restify
+ tests/test_util/test_util_typing.py::test_stringify_annotation
+ tests/test_util/test_util_typing.py::test_stringify_type_union_operator
+ # from pypy3 era
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_cython
+ tests/test_ext_autodoc/test_ext_autodoc.py::test_partialfunction
+ tests/test_ext_autodoc/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_ext_autodoc/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_ext_autodoc/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_ext_autodoc/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_ext_autodoc/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_ext_autodoc/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_ext_autodoc/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_ext_autodoc/test_ext_autodoc_signatures.py::test_format_class_signatures_text_signature
+ tests/test_ext_autodoc/test_ext_autodoc_signatures.py::test_format_class_signatures_no_text_signature
+ tests/test_ext_autodoc/test_ext_autodoc_signatures.py::test_format_method_signatures_error_handling
+ tests/test_ext_autosummary/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_ext_autosummary/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ epytest
+}