On Fri, 2019-11-15 at 09:05 +0100, Michał Górny wrote: > On Wed, 2019-11-13 at 22:16 +0100, Michał Górny wrote: > > I'd like to share my frustration at the state of Python in general, > > and Python packages in Gentoo. So I'd like to 'bootstrap' python3_8 -- > > that is, add it to the most common dependency, dev-python/setuptools. > > Simple thing, right? > > > > Well, it turned out that things are worse than I anticipated. > I expected *some* minor test breakage. What we have instead is packages > being so broken that they break a lot of other packages. > > So I went with plan B instead: I'll do as much testing locally > as possible, and add py3.8 when I manage to get the tests on the package > in question working, independently of the testing of all deep test deps. > This will mean that some packages will have tests disabled temporarily > for end users. >
Good news, everyone. We have 3.8-enabled setuptools, pytest and nose which should be sufficient to start testing other packages. Of other common packages, dev-python/sphinx isn't 3.8-enabled yet. However, this gives a good exercise of improving sphinx deps. That is: 1. If package uses sphinx only to build docs from .rst files, has no extra deps and doesn't use code introspection, you can just drop PYTHON_USEDEP. 2. Likewise but if it has extra deps, you can use the very hard any-r1 API in python-r1 (distutils-r1). This has the advantage that it uses any-of deps, and doesn't require matching PYTHON_TARGETS. Example: BDEPEND=" doc? ( $(python_gen_any_dep ' dev-python/sphinx[${PYTHON_USEDEP}] dev-python/sphinx-some-random-theme[${PYTHON_USEDEP}] ')" python_check_deps() { use doc || return 0 has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && has_version "dev-python/sphinx-some-random-theme[${PYTHON_USEDEP}]" } python_compile_all { use doc && usual_stuff } -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part