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* ... |