On Fri, Sep 11, 2015 at 5:13 AM, Rich Freeman <ri...@gentoo.org> wrote:
> On Fri, Sep 11, 2015 at 5:03 AM, Daniel Campbell <z...@gentoo.org> wrote: > > > > I like the general 'gtk' flag we generally use to choose *which* > > toolkit, and local USE flags for specific versions, if they are > > supported. But in that case, the general gtk flag should be > > interpreted as the latest version supported, so users don't come > > across weirdly behaving packages that default to gtk2 (unless that > > version is the most stable). > > > >... > > > > For starters, versioned USE flags more than likely don't belong in > > make.conf's USE variable and shouldn't be global. > Personally i disagree with this. Versioned use flags for widely used dependencies (like a windowing toolkit) IMO qualify as global USE flags because they have a common effect across many packages. That was roughly my proposal. > > USE=gui or something like that if the main effect is to have a gui or > not. That is the sort of thing that SHOULD go in make.conf or in a > profile. If disabling gtk makes it a console-only application then > use the gui flag. > > USE=gtk if the main effect is to select /which/ toolkit is used if > more than one is optionally supported. That /might/ go in a make.conf > or profile, but probably shouldn't in general. It is more appropriate > for something like the desktop/gnome profile than the desktop profile. > > USE=gtk# if you're picking which version to use. That should /almost > never/ go in a profile (unless you're talking about a testing profile > of some kind, such as on an overlay), or in a global config unless you > REALLY know what you're getting into. Users setting this globally > should expect to run into bugs. The package should default these > flags to whatever is most appropriate for the specific package. > I really like this approach, and I think that having tiers of (gui)->(qt/gtk)->(qt4/qt5//gtk2/gtk3) would go a long way to keeping USE flags coherent. I'd be tempted to even say to not have gtk3 but instead call the flag > chromium-gtk3 or whatever so that it becomes very difficult to put in > the global config. However, that goes against our general principle > of letting the user break their system and keep the pieces if they > think they know what they're doing. If somebody WANTS to test out a > gtk3-only system or whatever they should have the freedom to do so, > understanding that testing sometimes uncovers problems. > I actually also think that there should be a single USE flag for building on gtk3, called gtk3. calling it "(packagename)-gtk3" is a bit redundant, and also flies in the face of having a single global flag with a coherent purpose. Of course any change will need a transition period, news, handbook > updates, etc. For the person who wants the "just works" experience > they can pick a profile and it will do the right thing, and if they > want to tailor things a bit more the USE=(-)gui flag will do what it > would be expected to do. > > -- > Rich > >