1 |
On Sun, Nov 11, 2012 at 2:52 AM, Brian Harring <ferringb@×××××.com> wrote: |
2 |
> So... thus: |
3 |
> |
4 |
> 1) make python.eclass know of both forms of USE_PYTHON (with periods, |
5 |
> without). |
6 |
> 2) convert USE_PYTHON to a use expanded target |
7 |
> 3) convert python.eclass to use it. |
8 |
> |
9 |
> I realize this deprecates/kills PYTHON_TARGETS; my intention here |
10 |
> isn't to piss on the var you added, it's to choose the less disruptive |
11 |
> option here- lesser of two evils. Starting from scratch, |
12 |
> PYTHON_TARGETS would be fine- unfortunately we need to map existing |
13 |
> users (and usage) from python.eclass into the replacement, |
14 |
> constraining our choises a bit. |
15 |
> |
16 |
> Counter arguments? To be clear, this is the path I strongly suggest |
17 |
> we take- if you can punch holes in the logic/arguments from above, I'd |
18 |
> definitely back down, but the use of PYTHON_TARGETS here feels like |
19 |
> we're setting ourselves up for unnecessary pain. Keep in mind not |
20 |
> *all* of python.eclass notions/setup has to be chucked- we can |
21 |
> translate certain parts of it across to ease developer/user pains. |
22 |
> |
23 |
|
24 |
Following up on this and the irc conversation I eavesdropped on earlier: |
25 |
|
26 |
More recent versions of portage apparently filter USE_EXPAND |
27 |
variables, so we can't utilize the old python abi values in USE_PYTHON |
28 |
if we make that conversion. |
29 |
|
30 |
Converting USE_PYTHON to a use-expand would entail the following in |
31 |
python.eclass: |
32 |
|
33 |
1. Convert between values like "2_7-pypy-1_9" and "2.7-pypy-1.9" |
34 |
The underscore version would be used for USE and IUSE and in portage |
35 |
config (make.conf, profiles?). |
36 |
The dot version should be used by the eclass and ebuilds and in |
37 |
on-disk file names for backward compatibility. |
38 |
|
39 |
2. Calculate the python abis supported by the ebuild based on |
40 |
_PYTHON_GLOBALLY_SUPPORTED_ABIS and RESTRICT_PYTHON_ABIS. Add these |
41 |
abis to IUSE. |
42 |
This would affect all ebuilds inheriting python.eclass with |
43 |
SUPPORT_PYTHON_ABIS set. |
44 |
|
45 |
This should not be difficult, but you never know with python.eclass. |
46 |
Personally, I just assume that nobody actually wants to touch |
47 |
python.eclass if it can be avoided. |
48 |
|
49 |
Also, we have dug ourselves into a small hole with PYTHON_TARGETS; |
50 |
there is actually a news item out there that explains its use |
51 |
(committed about the same time Brian put on the breaks), so we are |
52 |
going to cause confusion if it is changed back to USE_PYTHON. I |
53 |
realize this is not a reason to charge blindly forward with |
54 |
PYTHON_TARGETS, but it needs to be considered. |
55 |
|
56 |
I think the only benefit to keeping the USE_PYTHON name is so that |
57 |
existing users don't have to learn another variable name. They would |
58 |
still need to tweak their config. |