1 |
On Wed, Feb 12, 2014 at 2:46 PM, Chris Reffett <creffett@g.o> wrote: |
2 |
> On 2/12/2014 3:09 AM, Micha³ Górny wrote: |
3 |
>> Dnia 2014-02-11, o godz. 19:33:06 Chris Reffett |
4 |
>> <creffett@g.o> napisa³(a): |
5 |
>> |
6 |
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 |
7 |
>>> |
8 |
>>> On 02/11/2014 06:13 PM, Gilles Dartiguelongue wrote: |
9 |
>>>>> Unfortunately, the concurrent nature of gtk2/gtk3 has |
10 |
>>>>> resulted in packages that may support either or both the |
11 |
>>>>> toolkits. To handle this, a few developers have introduced |
12 |
>>>>> the "gtk3" useflag, that prefers gtk3 over gtk2 when both |
13 |
>>>>> toolkit versions are supported. At this point, the Gnome |
14 |
>>>>> team highly recommends prefering gtk3 if possible, skipping |
15 |
>>>>> the useflag altogether. [1] |
16 |
>>>> |
17 |
>>>> Wrong, as is written in policy whether to prefer gtk2 or 3 is |
18 |
>>>> up to the maintainer of the package. We point people to the |
19 |
>>>> fact that upstream says gtk2 is a dead end and support will |
20 |
>>>> stop (if not in fact already stopped) in the near future. |
21 |
>>>> |
22 |
>>>> We also recommend to have maintainers support slots for their |
23 |
>>>> libs where possible considering man-power and to only choose |
24 |
>>>> one toolkit for applications considering where upstream |
25 |
>>>> development is going and maturity of the port, and again, this |
26 |
>>>> is up to package maintainers. |
27 |
>>> This doesn't make sense to me at all. I can't see why slotted |
28 |
>>> libraries can't just use USE flags to specify what toolkit |
29 |
>>> they're built against, just like any other package in the tree |
30 |
>>> (so, for example, a package that needs webkit-gtk built against |
31 |
>>> gtk3 would depend on webkit-gtk[gtk3] instead of webkit-gtk:3). |
32 |
>>> I'm well aware that there could be limitations I'm unaware of |
33 |
>>> (maybe the package only can build one at a time?), but this is |
34 |
>>> how it looks to me. By switching to versioned gtk flags, this |
35 |
>>> kills two birds with one stone: it makes it obvious to the end |
36 |
>>> user which version they're trying to build their package |
37 |
>>> against, and it gets rid of the need for (ab)using revision |
38 |
>>> numbers to implement slots like that. |
39 |
>> |
40 |
>> Except when you end up rebuilding the huge thing twice. Or trying |
41 |
>> to live with binpackages -- the thing that most Gentoo developers |
42 |
>> don't care about at all. They just love their precious USE flags |
43 |
>> so much they'd shove them everywhere for the sake of it. |
44 |
>> |
45 |
> |
46 |
> You'll have to build it twice anyway, this just splits it into two |
47 |
> separate packages, and I suspect that the times where you will have to |
48 |
> rebuild are when a package needs webkit-gtk to support another toolkit |
49 |
> (which should happen only once), and when you upgrade (in which case |
50 |
> you would be updating them separately anyway). |
51 |
|
52 |
After talking to Chris on IRC, I think we've made progress. |
53 |
|
54 |
I claim that there's a fundamental distinction between USE flags |
55 |
controlling how the binaries are built and controlling *which* |
56 |
binaries are built. |
57 |
|
58 |
I think that the use of SLOTs here is perfectly reasonable, since |
59 |
webkit-gtk installs different libraries (not just the same library |
60 |
with different build options) in the two slots. |
61 |
|
62 |
There's apparently some disdain for using the -r200/-r300 versioning |
63 |
to control the slots, but I think if we want to clean that up we |
64 |
should look at modifying PMS to allow something cleaner. |