Dnia 2014-11-30, o godz. 16:02:35
Mike Gilbert <flop...@gentoo.org> napisał(a):

> On Sun, Nov 30, 2014 at 3:50 PM, Michał Górny <mgo...@gentoo.org> wrote:
> >> > B. they cause issues with REQUIRED_USE on other packages (like libpeas
> >> > that supports only one version of python2 and one of python3). Even
> >> > though PYTHON_SINGLE_TARGET results in effective use of a single impl,
> >> > PYTHON_TARGET USE-dep requests full PYTHON_TARGETS match on the dep.
> >> > Therefore, the user needs to disable other implementations anyway to
> >> > get the expected result.
> >>
> >> I don't understand this part. Can you please explain it? Maybe an example?
> >
> > gedit and libpeas, with gedit depending on libpeas. libpeas supports
> > one version of Python 2 and one of Python 3, and gedit just one
> > in general:
> >
> > libpeas is REQUIRED_USE=?? ( 2.* ) ?? ( 3.* )
> > gedit is REQUIRED_USE=^^ ( 3.* )
> >
> > So libpeas needs python-r1 with specific REQUIRED_USE. gedit would be
> > a candidate for python-single-r1 but...
> >
> > p-s-r1 enforces ^^ only on PYTHON_SINGLE_TARGET. So I end up with
> > something like:
> >
> >   PYTHON_TARGETS="3.3 3.4" PYTHON_SINGLE_TARGET="3.4"
> >
> > and this enforces dependency on libpeas[3.3,3.4] which contradicts its
> > REQUIRED_USE. So we need also REQUIRED_USE=^^ ( 3.* ). But basically,
> > the whole mess with the second variable doesn't really help here.
> >
> 
> What I take away from this is that the libpeas ebuild is really weird:
> supporting exactly one python2 and one python3 sounds like a horrible
> hack that should be fixed.

No, supporting multiple Python versions actually is a horrible hack
that causes us much more pain than we need. Any sane binary distro
limits itself to Python 2 + Python 3, and that's what libpeas addresses
-- the strong incompatibility between P2 and P3 that forces it to have
two loaders that link to different Python versions.

Of course, we could make it have up to five loaders of which at most
two will be practically used but is it worth the effort? We'll
introduce incompatibility with plugins that will in turn require
modifying every reverse dependency of libpeas.

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: PGP signature

Reply via email to