Gentoo Archives: gentoo-dev

From: Matt Turner <mattst88@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493)
Date: Thu, 13 Feb 2014 00:23:08
Message-Id: CAEdQ38GuRMr28z0OVMXqyPkVzsFVkR=Q=uSh8_VjXx3iPCwiGw@mail.gmail.com
In Reply to: Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493) by Chris Reffett
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.