dev-python/sphinx: Bump to 3.0.3
authorMichał Górny <mgorny@gentoo.org>
Mon, 27 Apr 2020 08:14:30 +0000 (10:14 +0200)
committerMichał Górny <mgorny@gentoo.org>
Mon, 27 Apr 2020 08:32:57 +0000 (10:32 +0200)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
dev-python/sphinx/Manifest
dev-python/sphinx/sphinx-3.0.3.ebuild [new file with mode: 0644]

index a7e4d179a165bcf9665668ea9bbd828f24e76809..00e28b183a1483c885e614fb6fc7aec87313b3f5 100644 (file)
@@ -5,3 +5,4 @@ DIST Sphinx-2.4.4.tar.gz 5966973 BLAKE2B 727a75eb4ec33beadf80b22cdd8dda02a53f4da
 DIST Sphinx-3.0.0.tar.gz 5903494 BLAKE2B 5183c98dad0fc05e263cbc1280f8230e6984f436cf6c19a34c51e2ef254a65b2a9fb579d3d0f77fe75f3936c6a11ffcace8bb4a24c9bb56e07629fbbfc3ba564 SHA512 7cd36eda10c13dcd16417b86c01eb361b2933836ce0a22e2728b4168356daa85f69db1b86352c3d2aa2445fa2ed77e7609ea22eb1970e93b8e25bdff52000ea3
 DIST Sphinx-3.0.1.tar.gz 5904304 BLAKE2B 95763a29ff94590d64f41fad79b6a481863b0ffc410bf6b5ddee32afd2830d015e9b737ce9bedfcfb5a92ce2e072235ededde76a0362d5dcceb0308c2ba1f21b SHA512 282d440fc8ce252f7bd91f1bac9a15b8fe1318210e2990ca5f25942d8126cab9fd257ed1fde3199dae65ea47763b21530549dfc46a18f76160b0debf426190d0
 DIST Sphinx-3.0.2.tar.gz 5904185 BLAKE2B b4ea11e0a19411b1903857d24c8443e14e45c30f488491543f13ba91fca5df0cbc8e75c83d78fd4d494cfd8a828f07f8da78033cb473f2b82da1acb6525961fe SHA512 d5f6f62b8d4b26383d0dd1cfd5e5712096def5021ecc845dc11fd1f35aba6f04ff16a70b9013a284cc5f478442cf880ffa39fb3afdf9f05a75a2f1ad96293373
+DIST Sphinx-3.0.3.tar.gz 5905054 BLAKE2B 048e449603f171d72b24be5bc0fca3465819e78cc9e9e6c66e76457812a71fb2fbf85e7c2d4849541ab3a8980eb91b8f6948654c42d08e46c75c9841f5f840d3 SHA512 1e37224d04f0a7836a7132cea55c67b9d15a22f941a790288438b39d455973f254205ffd1e99e6e2305430725a6a623b9a85fb95b495a9f6f912fb94825fdcd0
diff --git a/dev-python/sphinx/sphinx-3.0.3.ebuild b/dev-python/sphinx/sphinx-3.0.3.ebuild
new file mode 100644 (file)
index 0000000..ea19d76
--- /dev/null
@@ -0,0 +1,115 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="https://www.sphinx-doc.org/
+       https://github.com/sphinx-doc/sphinx"
+SRC_URI="mirror://pypi/S/${PN^}/${P^}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="doc latex test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       <dev-python/alabaster-0.8[${PYTHON_USEDEP}]
+       dev-python/Babel[${PYTHON_USEDEP}]
+       dev-python/docutils[${PYTHON_USEDEP}]
+       dev-python/imagesize[${PYTHON_USEDEP}]
+       dev-python/jinja[${PYTHON_USEDEP}]
+       dev-python/pygments[${PYTHON_USEDEP}]
+       dev-python/requests[${PYTHON_USEDEP}]
+       dev-python/snowballstemmer[${PYTHON_USEDEP}]
+       dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+       dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+       dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+       dev-python/sphinxcontrib-htmlhelp[${PYTHON_USEDEP}]
+       dev-python/sphinxcontrib-serializinghtml[${PYTHON_USEDEP}]
+       dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+       dev-python/packaging[${PYTHON_USEDEP}]
+       $(python_gen_cond_dep '
+               dev-python/typed-ast[${PYTHON_USEDEP}]
+       ' python3_{6,7})
+       latex? (
+               dev-texlive/texlive-latexextra
+               dev-texlive/texlive-luatex
+               app-text/dvipng
+       )"
+DEPEND="${RDEPEND}
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       doc? (
+               dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+               media-gfx/graphviz
+       )
+       test? (
+               dev-python/html5lib[${PYTHON_USEDEP}]
+               dev-python/pytest[${PYTHON_USEDEP}]
+               virtual/imagemagick-tools[jpeg,png,svg]
+               dev-texlive/texlive-fontsextra
+               dev-texlive/texlive-latexextra
+               dev-texlive/texlive-luatex
+               app-text/dvipng
+       )"
+
+S="${WORKDIR}/${P^}"
+
+python_prepare_all() {
+       # remove tests that fail due to network-sandbox
+       rm tests/test_build_linkcheck.py || die "Failed to remove web tests"
+       sed -i -e 's:test_latex_images:_&:' tests/test_build_latex.py || die
+
+       # fail under pypy3 (some because of missing typed-ast)
+       # revisit when pypy3 becomes pypy3.8
+       sed -i -e '/def test_partialfunction/i\
+@pytest.mark.skipif(hasattr(sys, "pypy_version_info"), reason="broken on pypy3")' \
+               -e '/def test_autodoc_typed_instance_variables/i\
+@pytest.mark.skipif(hasattr(sys, "pypy_version_info"), reason="broken on pypy3")' \
+               -e '/def test_autodoc_inherited_members_None/i\
+@pytest.mark.skipif(hasattr(sys, "pypy_version_info"), reason="broken on pypy3")' \
+               -e '/def test_cython/i\
+@pytest.mark.skipif(hasattr(sys, "pypy_version_info"), reason="broken on pypy3")' \
+               tests/test_autodoc.py || die
+       sed -i -e '11aimport sys' \
+               -e '/def test_autodoc_typehints_signature/i\
+@pytest.mark.skipif(hasattr(sys, "pypy_version_info"), reason="broken on pypy3")' \
+               tests/test_ext_autodoc_configs.py || die
+       sed -i -e '/def test_annotated_assignment_py36/i\
+@pytest.mark.skipif(hasattr(sys, "pypy_version_info"), reason="broken on pypy3")' \
+               tests/test_pycode_parser.py || die
+
+       distutils-r1_python_prepare_all
+}
+
+python_compile() {
+       distutils-r1_python_compile
+
+       # Generate the grammar. It will be caught by install somehow.
+       # Note that the tests usually do it for us. However, I don't want
+       # to trust USE=test really running all the tests, especially
+       # with FEATURES=test-fail-continue.
+       pushd "${BUILD_DIR}"/lib >/dev/null || die
+       "${EPYTHON}" -m sphinx.pycode.__init__ || die "Grammar generation failed."
+       popd >/dev/null || die
+}
+
+python_compile_all() {
+       if use doc; then
+               esetup.py build_sphinx
+               HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+       fi
+}
+
+python_test() {
+       mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+       local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+       pytest -vv || die "Tests fail with ${EPYTHON}"
+}