Gentoo Archives: gentoo-python

From: Ian Stakenvicius <axs@g.o>
To: gentoo-python@l.g.o
Subject: Re: [gentoo-python] Reducing exceptionality cases for PYTHON_SINGLE_TARGET
Date: Wed, 29 Oct 2014 18:40:07
Message-Id: 54513488.7060709@gentoo.org
In Reply to: Re: [gentoo-python] Reducing exceptionality cases for PYTHON_SINGLE_TARGET by "W. Trevor King"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 29/10/14 02:25 PM, W. Trevor King wrote:
5 > On Wed, Oct 29, 2014 at 02:17:29PM -0400, Ian Stakenvicius wrote:
6 >> As python-single-r1.eclass is meant to ensure that a package is
7 >> bound to just one implementation when multiple implementations
8 >> are possible, usually because it is too difficult to make the
9 >> package multibuild, it would make sense to me that if there is
10 >> actually just one possible implementation…
11 >
12 > I understand “It's too difficult for me to get this build system to
13 > work with multiple Python versions.” I'm skeptical that there are
14 > any packages where “there is actually just one possible
15 > implementation.” Still I agree that some users will want a way to
16 > say “if I ask for a package that only installs for one Python
17 > implementation, just install it without my needing to tweak my USE
18 > flags.”
19
20 There's a ton of packages that are only python2 -- that is, have
21 PYTHON_COMPAT=( python2_{6,7} ) or equivalent, and since python2_6
22 (and earlier) isn't in the supported implementations list, that leaves
23 just python2_7. If you'd like, I can do up a list.
24
25 > Personally, I'd prefer to stick with my existing
26 > PYTHON_SINGLE_TARGET. If a package doesn't like that, I can think
27 > harder about whether or not I actually need the package. My
28 > Docker images [1], for example, are single-Python implementations
29 > and I don't want to pull in another Python accidentally.
30
31 This change will not pull in extra python versions, it just changes
32 the python-single-r1 inheriting ebuilds so that they rely on the
33 values set in PYTHON_TARGETS for resolution, instead of
34 PYTHON_SINGLE_TARGET.
35
36 So the only way you would accidentally pull in a different python is
37 if you didn't set PYTHON_TARGETS, or set it to have multiple values.
38 PYTHON_SINGLE_TARGET is only for choosing which of the PYTHON_TARGETS
39 values should be used when a package can't multibuild.
40
41
42 -----BEGIN PGP SIGNATURE-----
43 Version: GnuPG v2
44
45 iF4EAREIAAYFAlRRNIgACgkQ2ugaI38ACPDVLwD8DZpnfB6c6XsVbcNADycHS1K3
46 VjaOeFzVn2VghqHaaaABAKLDaaOPDj7YBZUEufJqtN2BdHkQKPub11vPnuWVN2eI
47 =I8M9
48 -----END PGP SIGNATURE-----