Dear fellow developers, as part of our effort in making Gentoo more pleasant to use, I am suggesting to add the global USE=gui flag. This flag is the semantic analogue of USE=ssl, namely
"Enable optional support for at least one GUI widget toolkit". Please notice: this is *NOT* about solving the issue of USE-cascades vs REQUIRED_USE, as this is a much larger issue, that the introduction of a single global USE flag cannot solve. See https://bugs.gentoo.org/611564#c1 for the requirements to this problem. Rationale: so why introduce yet another global USE flag? Because it makes optional-GUI support *much* easier. Let's say we have one of the following situations 1. a package that optionally supports GTK2, GTK3 and Qt5, but also supports a pure CLI interface. USE=-gui allows users to disable the GUI, without individually disabling USE=gtk2/gtk3/qt5, thereby easing package.use hacking for non-GUI users (as all the widgets are hidden behind a "gui? ( blabla )" clause or USE cascades). 2. a package that optionally supports *only* Qt5. In this case, many packages would just enable the GUI when users have USE="qt5" enabled. That is, USE=gui helps to clarify the semantics of the other toolkit flags, namely as implementation-enabling USE flags, whereas currently USE="qt5" means implementation-enabling-unless-it's-the-only-toolkit- where-it-then-also-acts-as-GUI-enabling. This would be comparable to USE=ssl, where the package only supports openssl and nothing else. USE=ssl has well-defined semantics, and we should bring these semantics to toolkit-consuming packages too. Full disclosure: This is not my idea, as it was brought up by leio about 3 years ago: https://archives.gentoo.org/gentoo-dev/message/eecad370248118c474a0d819fa7f3576
signature.asc
Description: This is a digitally signed message part