1 |
On 9 February 2015 at 00:29, Ben de Groot <yngwin@g.o> wrote: |
2 |
> On 8 February 2015 at 04:38, Michał Górny <mgorny@g.o> wrote: |
3 |
>> Hi, |
4 |
>> |
5 |
>> Just a quick idea: |
6 |
>> |
7 |
>> 1. we set default PYTHON_SINGLE_TARGET to 3.* matching PYTHON_TARGETS, |
8 |
>> |
9 |
>> 2. python2.7-only ebuilds get implicit 2.7 via axs' patch, |
10 |
>> |
11 |
>> 3. py2.7+pypy ebuilds -- we enable 2.7 via package.use. |
12 |
>> |
13 |
>> |
14 |
>> Goals: |
15 |
>> |
16 |
>> a. have as high coverage as possible of ebuilds that can be installed |
17 |
>> with default USE set. |
18 |
>> |
19 |
>> b. Make it cleaner to install py3-only ebuilds. Right now, user gets to |
20 |
>> enable 3.* manually, and then maintain the entry whenever 3.* is |
21 |
>> upgraded to newer version. |
22 |
>> |
23 |
>> c. Improve 2.7+3.* ebuilds by replacing 2.7 with the faster & better |
24 |
>> 3.* :). |
25 |
>> |
26 |
>> d. Make it easier to switch 3.* version. When user wants to change it |
27 |
>> from 3.3 to 3.4 or the other way around, he just needs to adjust PST |
28 |
>> and 2.7+pypy ebuilds still work fine. |
29 |
>> |
30 |
>> Your thoughts? |
31 |
> |
32 |
> I recently switched one of my installs from python 2.7 to 3.4, because |
33 |
> I thought it was finally time to "get with the times". But in my |
34 |
> (admittedly limited) experience goal A would still be covered by 2.7. |
35 |
> |
36 |
> It would be good to have a more comprehensive inventory of how many |
37 |
> (and which) packages work with 2.7, and which don't, and compare that |
38 |
> with the numbers for 3.4. |
39 |
> |
40 |
> At the moment I would say: I wish we _could_ default to 3.4, but I |
41 |
> think 2.7 is still the more sensible default. |
42 |
|
43 |
As a follow-up, I did a qgrep in the tree for python support the other |
44 |
day, and it turns out we have: |
45 |
|
46 |
- almost 2500 ebuilds with 2.7 support only |
47 |
- less than 1500 ebuilds with support for both 2.7 and 3.* |
48 |
- only just over 100 ebuilds that support 3.* only |
49 |
|
50 |
Based on these numbers, it is clear to me that the most reasonable default is: |
51 |
|
52 |
PYTHON_TARGETS="python2_7" |
53 |
PYTHON_SINGLE_TARGET="python2_7" |
54 |
|
55 |
and leave it to the user to change that if they really want multiple |
56 |
python versions. |
57 |
|
58 |
This would also significantly reduce the size of our stage3 tarballs. |
59 |
|
60 |
-- |
61 |
Cheers, |
62 |
|
63 |
Ben | yngwin |
64 |
Gentoo developer |