From: "Michał Górny" <mgorny@gentoo.org>
To: Mike Gilbert <floppym@gentoo.org>
Cc: gentoo-python <gentoo-python@lists.gentoo.org>,
Gentoo Python Project <python@gentoo.org>
Subject: Re: [gentoo-python] Re: The future of PYTHON_SINGLE_TARGET
Date: Sun, 30 Nov 2014 22:20:39 +0100 [thread overview]
Message-ID: <20141130222039.4394ce03@pomiot.lan> (raw)
In-Reply-To: <CAJ0EP40rzGZzdAMUSndoA98_Qpum8tUUpFUsjGLyxNfSKkXY0A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2249 bytes --]
Dnia 2014-11-30, o godz. 16:02:35
Mike Gilbert <floppym@gentoo.org> napisał(a):
> On Sun, Nov 30, 2014 at 3:50 PM, Michał Górny <mgorny@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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]
prev parent reply other threads:[~2014-11-30 21:20 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-28 22:59 [gentoo-python] The future of PYTHON_SINGLE_TARGET Michał Górny
2014-11-30 18:12 ` [gentoo-python] " Mike Gilbert
2014-11-30 20:50 ` Michał Górny
2014-11-30 21:02 ` Mike Gilbert
2014-11-30 21:20 ` Michał Górny [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141130222039.4394ce03@pomiot.lan \
--to=mgorny@gentoo.org \
--cc=floppym@gentoo.org \
--cc=gentoo-python@lists.gentoo.org \
--cc=python@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox