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
