On Di, 2016-06-07 at 12:03 -0700, Brian Dolbec wrote:
> On Tue, 7 Jun 2016 14:29:58 -0400
> Michael Orlitzky <m...@gentoo.org> wrote:
> 
> > 
> > On 06/07/2016 12:20 PM, Michał Górny wrote:
> > > 
> > > 
> > > So many weird ideas... while the simplest one is a proper
> > > REQUIRED_USE with gui being the control flag, and IUSE defaults
> > > to
> > > select the preferred toolkit.
> > >   
> > This is what came to my mind.
> > 
> > The underlying problem that we are hitting (a la Patrick) is that
> > USE
> > flags are supposed to be a user-interface for building software
> > from
> > source, but implementation details are an important part of
> > configuring the software to be built.
> > 
> > It would be nice if USE=gui meant "build a GUI" and that was all
> > the
> > input that we needed from the user. But if the upstream package
> > supports both QT and GTK and we need to pass either --with-qt or
> > --with-gtk to the build system, then there is an unavoidable choice
> > to be made. We can prefer one, but both options need to be
> > available.
> > 
> > If we want the best of both worlds -- a nice user-interface and
> > full
> > configurability -- then we can use "the user wants a GUI" as a
> > trigger
> > for the implementation choice. If there's a default implementation
> > and
> > the user doesn't care, no further interference should be necessary.
> > Otherwise the presence of the generic USE=gui will let us know, so
> > we
> > can let the user know, that he needs to pick one.
> > 
> > 
> This is where my thought from a few days ago kicks in...
> I had started to discuss it with Kristian.
> 
> 
> I propose to help alleviate the __MESS__ from all this force-foo and
> other complicated USE flag REQUIRED_USE madness...
> 
> We instead implement something along the lines of:
> 
> an ordered list of the gui toolkits in their preferred order of
> desirability.  This should be an all inclusive list.  Note: these are
> subject to package.use setting overrides.
> 
> PREFERRED_GUIS="gtk2 qt4 qt5 x wxwidgets X ... ncurses tty -gkt3"
> 
> In the above it means that if gtk2 is an option, then choose it, mask
> (de-select) the others.
> In there it also means DO NOT SELECT gtk3!!!!  So if you want a pkg
> and
> it NEEDS gtk3, then the PM will puke it back at you saying you can't
> have one without the other...
> So, then you have to fix it manually via package.use
> settings.  Accept
> gtk3 for this pkg only (not that it doesn't likely have other gtk3
> deps that will also need this...)
> 
> In the general case it will pick the first toolkit in order of
> preference (left to right) and only that toolkit that the pkg is
> capable
> of using.
> 
> For pkgs capable of multiple simultaneous toolkits installed, then
> again, manual intervention would be needed to set package.use.
> 
> This would also have to be a package manager feature and run similar
> to
> the auto-unmask feature.
> 
> FEATURES="preferred-guis"
> 
> Let's try and keep things as simple as possible.
> From what I've gleaned form the emails I have read, is that what the
> general user wants to happen, select the toolkit in the order of
> their
> preference.
+1

Personally I see this as the only tractable option to stop the
insanity.

David

Reply via email to