1 |
On Thu, 2014-02-20 at 10:26 +0100, Ulrich Mueller wrote: |
2 |
> >>>>> On Thu, 20 Feb 2014, Alexandre Rostovtsev wrote: |
3 |
> |
4 |
> > Unfortunately, at the same time, lots of other developers are going |
5 |
> > to start adding support for building against gtk2 XOR gtk3. Because |
6 |
> > of course "Gentoo is about choice", and the more choices, the |
7 |
> > merrier, and the gtk3 flag has been declared as supported by the QA |
8 |
> > team. And that means lots of REQUIRED_USE="^^ ( gtk gtk3 )". |
9 |
> |
10 |
> No, in most cases REQUIRED_USE would be against policy. The actual |
11 |
> policy is to "pick one of the USE flags in conflict to favour and |
12 |
> should alert the user that a particular flag is being used instead", |
13 |
> see the devmanual: |
14 |
> http://devmanual.gentoo.org/general-concepts/use-flags/index.html |
15 |
> |
16 |
> > For the gnome team this results in a headache: maintaining a big |
17 |
> > list of "-gtk" / "-gtk3" entries in |
18 |
> > targets/desktop/gnome/package.use so that gnome users get a sensible |
19 |
> > choice and don't need to edit /etc/portage/* just to emerge widely |
20 |
> > used desktop tools. |
21 |
> |
22 |
> Right, and that's exactly the reason why REQUIRED_USE should not be |
23 |
> used, except where it's forced be reverse USE dependencies. Quoting |
24 |
> the devmanual again: |
25 |
> "Note: In order to avoid forcing users to micro-manage flags too much, |
26 |
> REQUIRED_USE should be used sparingly. Follow the normal policy |
27 |
> whenever it is possible to do a build that will presumably suit the |
28 |
> user's needs." |
29 |
> |
30 |
> Ulrich |
31 |
|
32 |
I see. So you want USE="gtk gtk3" to mean the same thing that gnome team |
33 |
had intended USE="gtk" to mean, which is to say, "pick whichever gtk |
34 |
version that is the most sensible". |
35 |
|
36 |
That could work. There are already a few ebuilds, e.g. audacious, with |
37 |
REQUIRED_USE="^^ ( gtk gtk3 )" - so before this unfortunate practice |
38 |
spreads further, the gnome team would need to note on the wiki to make |
39 |
sure other developers know why this is especially undesirable for the |
40 |
gtk/gtk3 flag pair. |
41 |
|
42 |
The other unfortunate aspect of the gtk3 flag is that it encourages |
43 |
using flags instead of slotting for libraries that can support both gtk |
44 |
and gtk3, resulting in needless rebuilds of when one of the flags is |
45 |
switched on/off. But again, that could be addressed with a bit of |
46 |
documentation. |