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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to