dev-python/sphinx: Bump to 3.0.4
authorMichał Górny <mgorny@gentoo.org>
Tue, 26 May 2020 16:46:27 +0000 (18:46 +0200)
committerMichał Górny <mgorny@gentoo.org>
Tue, 26 May 2020 16:46:27 +0000 (18:46 +0200)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
dev-python/sphinx/Manifest
dev-python/sphinx/sphinx-3.0.4.ebuild [new file with mode: 0644]

index 0915c9116ca2edecd073e53c1eee24b7de308b40..4237993eebfd62aeb44314755ca4196e78289c75 100644 (file)
@@ -2,3 +2,4 @@ DIST Sphinx-1.7.5.tar.gz 4726802 BLAKE2B 8d828dcae1f3ebb813c5f2de8c096a3fac4ab88
 DIST Sphinx-2.0.1.tar.gz 6017030 BLAKE2B a446aab8c7f5a4adc93477f4f60ca975690cb4c507d6e51393a4b2c4c56563b9a12e3ea3f85d214c6bdbc7834be107384fe9029d09a73da207fd9699c4b77ab8 SHA512 28430912917a8e3eb6efe6b69268e2a5ae06795c261f2a18ef62f781e365396832c4e4bcfaad7704b1c5f840e98a9dfb82e3b438a491a13cea5c10bee66bf23b
 DIST Sphinx-2.4.4.tar.gz 5966973 BLAKE2B 727a75eb4ec33beadf80b22cdd8dda02a53f4da4aea10ee18ecae658a69a9bb797f83b0d11b41b8405bf18b2472ea7fd501bea85382c20c5f2a9d5b14a032428 SHA512 cd35b7ebdf4eb41fb3a58706333ca4328fbf9b37999ad1bcc751f9769f0a294464e4def019a403fcd2204ca963ef641c35c957a4145eb50af07573d21df8c74d
 DIST Sphinx-3.0.3.tar.gz 5905054 BLAKE2B 048e449603f171d72b24be5bc0fca3465819e78cc9e9e6c66e76457812a71fb2fbf85e7c2d4849541ab3a8980eb91b8f6948654c42d08e46c75c9841f5f840d3 SHA512 1e37224d04f0a7836a7132cea55c67b9d15a22f941a790288438b39d455973f254205ffd1e99e6e2305430725a6a623b9a85fb95b495a9f6f912fb94825fdcd0
+DIST Sphinx-3.0.4.tar.gz 5909229 BLAKE2B 892b435642be2a6334f93d9f230ec1aeeff8cf7b374570aae66eb341614d4318125920ef0c5593e7eee64e0b8781f035635af71aac34e9c2c6eb20a07ed68d48 SHA512 ec0c2487f098f774452b58d4fb67be7850b4a54b80f2b01dcee990298f59bfede3ca43b28fa992181cdceb07f261abce186862afd75c889c6682338049db6288
diff --git a/dev-python/sphinx/sphinx-3.0.4.ebuild b/dev-python/sphinx/sphinx-3.0.4.ebuild
new file mode 100644 (file)
index 0000000..3154c9c
--- /dev/null
@@ -0,0 +1,119 @@
+# 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
+
+       # disable internet access
+       sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+               doc/conf.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}"
+}