Re: [gentoo-dev] Introducing global USE=gui flag

2019-06-17 Thread David Seifert
On Mon, 2019-06-17 at 15:27 +0100, Andrey Utkin wrote:
> On Sun, Apr 21, 2019 at 07:09:12PM +0200, David Seifert wrote:
> > 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.
> 
> The idea seems sensible to me.
> What should be the next step?
> An experimental patchset handling some tricky packages in the
> proposed
> way?

We will formalise it in a new QA policy in the coming days.

David




Re: [gentoo-dev] Introducing global USE=gui flag

2019-06-17 Thread Andrey Utkin
On Sun, Apr 21, 2019 at 07:09:12PM +0200, David Seifert wrote:
> 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.

The idea seems sensible to me.
What should be the next step?
An experimental patchset handling some tricky packages in the proposed
way?


signature.asc
Description: Digital signature


[gentoo-dev] Introducing global USE=gui flag

2019-04-21 Thread David Seifert
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