Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Global USE=gui
Date: Thu, 02 Jun 2016 14:20:52
Message-Id: ad878504-90e8-8543-97be-4a744e631cdf@gentoo.org
In Reply to: Re: [gentoo-dev] [RFC] Global USE=gui by waltdnes@waltdnes.org
1 On 01/06/16 10:13 PM, waltdnes@××××××××.org wrote:
2 > On Wed, Jun 01, 2016 at 07:56:41PM +0200, Micha?? Górny wrote
3 >
4 >> waltdnes@××××××××.org wrote:
5 >>
6 >>> I see this as at least a redundancy, if not a problem. First, let's
7 >>> look at the general case. An optional "UI" (User Interface) is also
8 >>> selected...
9 >>> * via the "tools" useflag 78 times in use.local.desc
10 >>> * via the "ncurses" useflag 10 times in use.local.desc.
11 >>> * for a lot of ebuilds via the "ncurses" useflag in use.desc (So why
12 >>> does "ncurses" show up in use.local.desc ???)
13 >>>
14 >>> There is no need for an additional "TUI" (Text User Interface) use flag
15 >>> for these cases. "tools" and/or "ncurses" tells you enough. Similarly,
16 >>> "GUI" is grab-bag of gtk2/gtk3/qt4/qt5/X/Wayland/whatever. The only
17 >>> thing they have in common is a hard-coded dependancy on graphics libs.
18 >>> "GUI" is an implicit dependancy of gtk2/gtk3/qt4/qt5/X/Wayland/whatever.
19 >>> Using any of them tells you enough. What do we accomplish by requiring
20 >>> one more USE flag? This will also make dependancy resolution of ebuilds
21 >>> more complex, i.e. slower. Why?
22 >>
23 >> Simple regular users don't want to be concerned with choice of toolkit
24 >> for every single package, as long as a GUI is provided.
25 >
26 > Then put one of X/xorg/wayland/mir/qt4/qt5/gtk2/gtk3/fltk into USE in
27 > make.conf. This will *FORCE* a gui where applicable.
28 >
29
30
31 The whole point of USE=gui is to get away from needing to do that.
32 Those flags should be used to choose -which- gui toolkit users want
33 when one is available, not to choose IF a gui should be built or not.
34 Take my example into account, i don't want anything qt based if I can
35 avoid it, but i definitely want wpa-gui. Right now I only get wpa-gui
36 if I enable USE=qt4 (or USE=qt5 presumably) on wpa_supplicant. I'm
37 not going to set that globally though because I don't want to choose
38 qt4 based front-ends for anything else, and having to guess for every
39 random package when i don't care so that I can set a package.use entry
40 for it is annoying.
41
42
43 >> Furthermore, this matches the recommended USE flag design where the
44 >> more important flags are provided as feature flags, while specific
45 >> dependency choice flags are minor.
46 >
47 > This is going to require *THREE* levels of flags, with the first one
48 > being totally unnecessary...
49 >
50 > Level 1) GUI
51 >
52 > Level 2) X or xorg or Wayland or Mir
53 >
54 > Level 3) qt4 or qt5 or gtk2 or gtk3 or fltk
55
56
57 1 - USE=gui is for optional gui-or-no-gui, so yes in this scheme its
58 needed.
59
60 2 - If X or Wayland or Mir support is available in a package, then yes
61 -- also i don't see a way that we don't need these.
62
63 3 - toolkit selection choices when a package supports multiple (but
64 only chooses one) is also a yes. AND, because we're not tying any-gui
65 to one of these flags it means that users are free to set just the one
66 variant that they prefer, globally, instead of having to mess about
67 per-package. It also means we can get rid of any or all of these
68 particular flags from profiles (except for 'gnome' or 'plasma' or the
69 desktop-variant-specific ones).
70
71 The point here is that if there's an app (say, wpa_supplicant as
72 mentioned before) that provides a gui tool but no options as to what
73 that tool needs in terms of toolkit etc, we can -just- have USE=gui
74 control whether or not it's built. It'll pull in qt because qt is
75 what it needs, and if someone is dead set against having qt in their
76 system then they'll know from the dependency tree. There's no need to
77 peg the individual toolkit to packages like this just to enable a gui.
78
79
80 >
81 > Let me re-phrase my question... is there *ANY* set of circumstances
82 > under which any of X/xorg/wayland/mir/qt4/qt5/gtk2/gtk3/fltk USE flag
83 > can be set for a package *WITHOUT* requiring a gui? I can see any of X
84 > or xorg or Wayland or Mir being a requirement for any of
85 > qt4/qt5/gtk2/gtk3/fltk. But any of the Level 2 or Level 3 flags *FORCES*
86 > a GUI of one sort or another.
87
88
89 Likely there is but I'd need to search. Extending libraries mostly --
90 cairo, pango etc.. for X vs no-X, avahi for gtk*/qt* ...

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] [RFC] Global USE=gui Raymond Jennings <shentino@×××××.com>