From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 4853713829C for ; Thu, 2 Jun 2016 15:09:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0D950142BA; Thu, 2 Jun 2016 15:09:36 +0000 (UTC) Received: from mail-oi0-f52.google.com (mail-oi0-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 208F2142B1 for ; Thu, 2 Jun 2016 15:09:35 +0000 (UTC) Received: by mail-oi0-f52.google.com with SMTP id j1so81546143oih.3 for ; Thu, 02 Jun 2016 08:09:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=IHTuR5Icnc4hqPk3K4lpi1amczBVaPWa3q2XRJaP0Z4=; b=JzVDMzJxQCJN/R8Dgr/mMbFKVv7bmm04IQdBPC6RVwLvOOY63s/j3vv8pmJrHhWZ5W 43JWMwopxk9nKItAIQA6BWcufDtkQtDMj2Ep+IXO+yWWFyaHsTY+9WQF/RT+4rwi3I0K Qcw7MdOpycsKy+j3Qh5YgdR5wrQDpup6iqdyoUenS3pUXQpiPtFRdpAJhrAu1Ulh9PYo 9TpAWhEKlQ6XQdHa3ZWHouAweVAL1pIvt/bUCUHCURFDNtgGd8W4wne6BIoJBLHHChSX woA0Iou9r77ZF1nuQaBT72HFwpXai8cVF49q0kCksGlFrN8VmlkXjb20pN7r0WmD+bwL vn+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=IHTuR5Icnc4hqPk3K4lpi1amczBVaPWa3q2XRJaP0Z4=; b=BR9CwUQRH58cmNZRbJhiVlPkxWZdZsJTfQtcoukZf1FNFgR0w+F5Kv9zK2jDlFWlS1 HWJqmBuLSG/Dr41JzzaI66VNAVvtasNoUM/Aoq6OKlzq6DWUBi16JpEfSMK00emxdp5+ rPlvhCu2JVWSXeXoFt2bSv08sH+uSCH5ydEw8bYY4kY5QSsivImRuOa/SMQiBdeoypHK gin9vdm2TIHWBACYIJw0uXkWKjjSkNks4zVch1UsZhCGu2VlSQAx+jVObonuKkmuze1H ygorGuRwj1Mdjhcp10/x/pOUWsdWkH66hXawXDCdQE0G7zauwJd6tnVff5S47/j3i1fL 0lMw== X-Gm-Message-State: ALyK8tLRtL3GxLoPWSnmjoCVDV+NG90R3LC2jyaQBlhq3cusRYqXVeRsO6djijRQzoD8d0YvOLEUbMah5pGO0A== X-Received: by 10.157.22.216 with SMTP id s24mr7110425ots.151.1464880174268; Thu, 02 Jun 2016 08:09:34 -0700 (PDT) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Received: by 10.202.244.72 with HTTP; Thu, 2 Jun 2016 08:08:54 -0700 (PDT) In-Reply-To: References: <1464791395.11446.42.camel@gentoo.org> <20160601175331.GA29301@waltdnes.org> <20160601195641.448939ad.mgorny@gentoo.org> <20160602021324.GA32486@waltdnes.org> From: Raymond Jennings Date: Thu, 2 Jun 2016 08:08:54 -0700 Message-ID: Subject: Re: [gentoo-dev] [RFC] Global USE=gui To: gentoo-dev Content-Type: multipart/alternative; boundary=001a113d12806d084f05344cfe13 X-Archives-Salt: 0783b27a-236d-4318-a576-ddcaa7cd0983 X-Archives-Hash: 6d120a9c48a887225cb9f1cf82fd126a --001a113d12806d084f05344cfe13 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable use case: Telling a package to build a gui without deciding which one to build. Also helps in cases where you have package A that can only build a qt gui, and package B that can build both qt and gtk, and package C that can build gtk only. You want to have a gui for all three, but you don't want to hav epackage B build both guis and at the same time while you may prefer qt, you don't want to leave package C without a gui. On Thu, Jun 2, 2016 at 7:20 AM, Ian Stakenvicius wrote: > On 01/06/16 10:13 PM, waltdnes@waltdnes.org wrote: > > On Wed, Jun 01, 2016 at 07:56:41PM +0200, Micha?? G=C3=B3rny wrote > > > >> waltdnes@waltdnes.org wrote: > >> > >>> I see this as at least a redundancy, if not a problem. First, let'= s > >>> look at the general case. An optional "UI" (User Interface) is also > >>> selected... > >>> * via the "tools" useflag 78 times in use.local.desc > >>> * via the "ncurses" useflag 10 times in use.local.desc. > >>> * for a lot of ebuilds via the "ncurses" useflag in use.desc (So why > >>> does "ncurses" show up in use.local.desc ???) > >>> > >>> There is no need for an additional "TUI" (Text User Interface) use > flag > >>> for these cases. "tools" and/or "ncurses" tells you enough. > Similarly, > >>> "GUI" is grab-bag of gtk2/gtk3/qt4/qt5/X/Wayland/whatever. The only > >>> thing they have in common is a hard-coded dependancy on graphics libs= . > >>> "GUI" is an implicit dependancy of > gtk2/gtk3/qt4/qt5/X/Wayland/whatever. > >>> Using any of them tells you enough. What do we accomplish by requiri= ng > >>> one more USE flag? This will also make dependancy resolution of > ebuilds > >>> more complex, i.e. slower. Why? > >> > >> Simple regular users don't want to be concerned with choice of toolkit > >> for every single package, as long as a GUI is provided. > > > > Then put one of X/xorg/wayland/mir/qt4/qt5/gtk2/gtk3/fltk into USE in > > make.conf. This will *FORCE* a gui where applicable. > > > > > The whole point of USE=3Dgui is to get away from needing to do that. > Those flags should be used to choose -which- gui toolkit users want > when one is available, not to choose IF a gui should be built or not. > Take my example into account, i don't want anything qt based if I can > avoid it, but i definitely want wpa-gui. Right now I only get wpa-gui > if I enable USE=3Dqt4 (or USE=3Dqt5 presumably) on wpa_supplicant. I'm > not going to set that globally though because I don't want to choose > qt4 based front-ends for anything else, and having to guess for every > random package when i don't care so that I can set a package.use entry > for it is annoying. > > > >> Furthermore, this matches the recommended USE flag design where the > >> more important flags are provided as feature flags, while specific > >> dependency choice flags are minor. > > > > This is going to require *THREE* levels of flags, with the first one > > being totally unnecessary... > > > > Level 1) GUI > > > > Level 2) X or xorg or Wayland or Mir > > > > Level 3) qt4 or qt5 or gtk2 or gtk3 or fltk > > > 1 - USE=3Dgui is for optional gui-or-no-gui, so yes in this scheme its > needed. > > 2 - If X or Wayland or Mir support is available in a package, then yes > -- also i don't see a way that we don't need these. > > 3 - toolkit selection choices when a package supports multiple (but > only chooses one) is also a yes. AND, because we're not tying any-gui > to one of these flags it means that users are free to set just the one > variant that they prefer, globally, instead of having to mess about > per-package. It also means we can get rid of any or all of these > particular flags from profiles (except for 'gnome' or 'plasma' or the > desktop-variant-specific ones). > > The point here is that if there's an app (say, wpa_supplicant as > mentioned before) that provides a gui tool but no options as to what > that tool needs in terms of toolkit etc, we can -just- have USE=3Dgui > control whether or not it's built. It'll pull in qt because qt is > what it needs, and if someone is dead set against having qt in their > system then they'll know from the dependency tree. There's no need to > peg the individual toolkit to packages like this just to enable a gui. > > > > > > Let me re-phrase my question... is there *ANY* set of circumstances > > under which any of X/xorg/wayland/mir/qt4/qt5/gtk2/gtk3/fltk USE flag > > can be set for a package *WITHOUT* requiring a gui? I can see any of X > > or xorg or Wayland or Mir being a requirement for any of > > qt4/qt5/gtk2/gtk3/fltk. But any of the Level 2 or Level 3 flags *FORCE= S* > > a GUI of one sort or another. > > > Likely there is but I'd need to search. Extending libraries mostly -- > cairo, pango etc.. for X vs no-X, avahi for gtk*/qt* ... > > > > > --001a113d12806d084f05344cfe13 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
use case: =C2=A0Telling a package to build a gui without d= eciding which one to build.=C2=A0 Also helps in cases where you have packag= e A that can only build a qt gui, and package B that can build both qt and = gtk, and package C that can build gtk only.=C2=A0 You want to have a gui fo= r all three, but you don't want to hav epackage B build both guis and a= t the same time while you may prefer qt, you don't want to leave packag= e C without a gui.

On Thu, Jun 2, 2016 at 7:20 AM, Ian Stakenvicius &= lt;axs@gentoo.org&g= t; wrote:
On 01/0= 6/16 10:13 PM, waltdnes@waltdnes.o= rg wrote:
> On Wed, Jun 01, 2016 at 07:56:41PM +0200, Micha?? G=C3=B3rny wrote
>
>> waltdnes@waltdnes.org= wrote:
>>
>>>=C2=A0 =C2=A0I see this as at least a redundancy, if not a prob= lem.=C2=A0 First, let's
>>> look at the general case.=C2=A0 An optional "UI" (Us= er Interface) is also
>>> selected...
>>> * via the "tools" useflag 78 times in use.local.desc=
>>> * via the "ncurses" useflag 10 times in use.local.de= sc.
>>> * for a lot of ebuilds via the "ncurses" useflag in = use.desc (So why
>>>=C2=A0 =C2=A0does "ncurses" show up in use.local.desc= ???)
>>>
>>>=C2=A0 There is no need for an additional "TUI" (Text= User Interface) use flag
>>> for these cases.=C2=A0 "tools" and/or "ncurses&= quot; tells you enough.=C2=A0 Similarly,
>>> "GUI" is grab-bag of gtk2/gtk3/qt4/qt5/X/Wayland/wha= tever.=C2=A0 The only
>>> thing they have in common is a hard-coded dependancy on graphi= cs libs.
>>> "GUI" is an implicit dependancy of gtk2/gtk3/qt4/qt5= /X/Wayland/whatever.
>>> Using any of them tells you enough.=C2=A0 What do we accomplis= h by requiring
>>> one more USE flag?=C2=A0 This will also make dependancy resolu= tion of ebuilds
>>> more complex, i.e. slower.=C2=A0 Why?
>>
>> Simple regular users don't want to be concerned with choice of= toolkit
>> for every single package, as long as a GUI is provided.
>
>=C2=A0 =C2=A0Then put one of X/xorg/wayland/mir/qt4/qt5/gtk2/gtk3/fltk = into USE in
> make.conf.=C2=A0 This will *FORCE* a gui where applicable.
>


The whole point of USE=3Dgui is to get away from needing to do that.=
Those flags should be used to choose -which- gui toolkit users want
when one is available, not to choose IF a gui should be built or not.
Take my example into account, i don't want anything qt based if I can avoid it, but i definitely want wpa-gui.=C2=A0 Right now I only get wpa-gui=
if I enable USE=3Dqt4 (or USE=3Dqt5 presumably) on wpa_supplicant.=C2=A0 I&= #39;m
not going to set that globally though because I don't want to choose qt4 based front-ends for anything else, and having to guess for every
random package when i don't care so that I can set a package.use entry<= br> for it is annoying.


>> Furthermore, this matches the recommended USE flag design where th= e
>> more important flags are provided as feature flags, while specific=
>> dependency choice flags are minor.
>
>=C2=A0 =C2=A0This is going to require *THREE* levels of flags, with the= first one
> being totally unnecessary...
>
> Level 1) GUI
>
> Level 2) X or xorg or Wayland or Mir
>
> Level 3) qt4 or qt5 or gtk2 or gtk3 or fltk


1 - USE=3Dgui is for optional gui-or-no-gui, so yes in this scheme i= ts
needed.

2 - If X or Wayland or Mir support is available in a package, then yes
-- also i don't see a way that we don't need these.

3 - toolkit selection choices when a package supports multiple (but
only chooses one) is also a yes.=C2=A0 AND, because we're not tying any= -gui
to one of these flags it means that users are free to set just the one
variant that they prefer, globally, instead of having to mess about
per-package.=C2=A0 It also means we can get rid of any or all of these
particular flags from profiles (except for 'gnome' or 'plasma&#= 39; or the
desktop-variant-specific ones).

The point here is that if there's an app (say, wpa_supplicant as
mentioned before) that provides a gui tool but no options as to what
that tool needs in terms of toolkit etc, we can -just- have USE=3Dgui
control whether or not it's built.=C2=A0 It'll pull in qt because q= t is
what it needs, and if someone is dead set against having qt in their
system then they'll know from the dependency tree.=C2=A0 There's no= need to
peg the individual toolkit to packages like this just to enable a gui.


>
>=C2=A0 =C2=A0Let me re-phrase my question... is there *ANY* set of circ= umstances
> under which any of X/xorg/wayland/mir/qt4/qt5/gtk2/gtk3/fltk USE flag<= br> > can be set for a package *WITHOUT* requiring a gui?=C2=A0 I can see an= y of X
> or xorg or Wayland or Mir being a requirement for any of
> qt4/qt5/gtk2/gtk3/fltk.=C2=A0 But any of the Level 2 or Level 3 flags = *FORCES*
> a GUI of one sort or another.


Likely there is but I'd need to search.=C2=A0 Extending librarie= s mostly --
cairo, pango etc.. for X vs no-X, avahi for gtk*/qt* ...





--001a113d12806d084f05344cfe13--