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.
signature.asc
Description: This is a digitally signed message part