Gentoo Archives: gentoo-dev

From: David Seifert <soap@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Introducing global USE=gui flag
Date: Sun, 21 Apr 2019 17:09:24
Message-Id: 0b47073a062a8b47d647f2397d06145305b50b20.camel@gentoo.org
1 Dear fellow developers,
2 as part of our effort in making Gentoo more pleasant to use, I am
3 suggesting to add the global USE=gui flag. This flag is the semantic
4 analogue of USE=ssl, namely
5
6 "Enable optional support for at least one GUI widget
7 toolkit".
8
9 Please notice: this is *NOT* about solving the issue of USE-cascades vs
10 REQUIRED_USE, as this is a much larger issue, that the introduction of
11 a single global USE flag cannot solve. See
12 https://bugs.gentoo.org/611564#c1
13 for the requirements to this problem.
14
15 Rationale: so why introduce yet another global USE flag? Because it
16 makes optional-GUI support *much* easier. Let's say we have one of the
17 following situations
18
19 1. a package that optionally supports GTK2, GTK3 and Qt5, but also
20 supports a pure CLI interface. USE=-gui allows users to disable the
21 GUI, without individually disabling USE=gtk2/gtk3/qt5, thereby easing
22 package.use hacking for non-GUI users (as all the widgets are hidden
23 behind a "gui? ( blabla )" clause or USE cascades).
24 2. a package that optionally supports *only* Qt5. In this case, many
25 packages would just enable the GUI when users have USE="qt5" enabled.
26 That is, USE=gui helps to clarify the semantics of the other toolkit
27 flags, namely as implementation-enabling USE flags, whereas currently
28 USE="qt5" means implementation-enabling-unless-it's-the-only-toolkit-
29 where-it-then-also-acts-as-GUI-enabling. This would be comparable to
30 USE=ssl, where the package only supports openssl and nothing else.
31 USE=ssl has well-defined semantics, and we should bring these semantics
32 to toolkit-consuming packages too.
33
34 Full disclosure:
35 This is not my idea, as it was brought up by leio about 3 years ago:
36 https://archives.gentoo.org/gentoo-dev/message/eecad370248118c474a0d819fa7f3576

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] Introducing global USE=gui flag Andrey Utkin <andrey_utkin@g.o>