On Thu, 2014-02-20 at 10:26 +0100, Ulrich Mueller wrote:
> >>>>> On Thu, 20 Feb 2014, Alexandre Rostovtsev wrote:
> 
> > Unfortunately, at the same time, lots of other developers are going
> > to start adding support for building against gtk2 XOR gtk3. Because
> > of course "Gentoo is about choice", and the more choices, the
> > merrier, and the gtk3 flag has been declared as supported by the QA
> > team. And that means lots of REQUIRED_USE="^^ ( gtk gtk3 )".
> 
> No, in most cases REQUIRED_USE would be against policy. The actual
> policy is to "pick one of the USE flags in conflict to favour and
> should alert the user that a particular flag is being used instead",
> see the devmanual:
> http://devmanual.gentoo.org/general-concepts/use-flags/index.html
> 
> > For the gnome team this results in a headache: maintaining a big
> > list of "-gtk" / "-gtk3" entries in
> > targets/desktop/gnome/package.use so that gnome users get a sensible
> > choice and don't need to edit /etc/portage/* just to emerge widely
> > used desktop tools.
> 
> Right, and that's exactly the reason why REQUIRED_USE should not be
> used, except where it's forced be reverse USE dependencies. Quoting
> the devmanual again:
> "Note: In order to avoid forcing users to micro-manage flags too much,
> REQUIRED_USE should be used sparingly. Follow the normal policy
> whenever it is possible to do a build that will presumably suit the
> user's needs."
> 
> Ulrich

I see. So you want USE="gtk gtk3" to mean the same thing that gnome team
had intended USE="gtk" to mean, which is to say, "pick whichever gtk
version that is the most sensible".

That could work. There are already a few ebuilds, e.g. audacious, with
REQUIRED_USE="^^ ( gtk gtk3 )" - so before this unfortunate practice
spreads further, the gnome team would need to note on the wiki to make
sure other developers know why this is especially undesirable for the
gtk/gtk3 flag pair.

The other unfortunate aspect of the gtk3 flag is that it encourages
using flags instead of slotting for libraries that can support both gtk
and gtk3, resulting in needless rebuilds of when one of the flags is
switched on/off. But again, that could be addressed with a bit of
documentation.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to