Gentoo Archives: gentoo-python

From: Ben de Groot <yngwin@g.o>
To: gentoo-python <gentoo-python@l.g.o>
Subject: Re: [gentoo-python] RFC: switch PYTHON_SINGLE_TARGET to 3.*, add 2.7 via package.use whenever necessary
Date: Fri, 06 Mar 2015 08:18:16
Message-Id: CAB9SyzQUckaOJ2m7pgqs3hwkQHVwMA_D2EC8khDPGPakxUKBkw@mail.gmail.com
In Reply to: Re: [gentoo-python] RFC: switch PYTHON_SINGLE_TARGET to 3.*, add 2.7 via package.use whenever necessary by Ben de Groot
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

Replies