* [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
@ 2016-05-27 14:21 Mart Raudsepp
2016-05-27 15:02 ` Brian Dolbec
` (8 more replies)
0 siblings, 9 replies; 32+ messages in thread
From: Mart Raudsepp @ 2016-05-27 14:21 UTC (permalink / raw
To: gentoo-dev; +Cc: gnome
Hello,
Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
upstream, many applications still support only gtk2, have subtle issues
with their gtk3 port, or support both, with some of our userbase
clinging to gtk2 for dubious political or aesthetical reasons.
For the latter cases, despite GNOME teams policy and strong preference
on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
working as good as gtk2), some cases exist where the maintainers want
to provide such choice. In some cases it is understandable for a short
while during transition, e.g firefox. In other cases, it is purely for
the sake of providing the choice of working with a deprecated toolkit,
apparently.
My highly biased essay aside, we need to finally globally agree on what
we do in this situation. If we allow this choice at all, only for
special cases, or widespread. And if this choice is provided, how do we
name the USE flag.
Historically, for very good reasons in past and present GNOME team
members opinion, USE=gtk has always meant to mean to provide support
for gtk in general, not any particular version. This is opposite to
what the Qt team has been doing.
In our opinion, in a perfect world, only USE=gtk would exist, and no
USE=gtk2 or USE=gtk3 would be necessary. But as we don't live in a
perfect world, we have made use of USE=gtk3 for providing gtk3 support
from library packages to mean to build gtk3 support. Sadly that
overloads USE=gtk in many cases to then mean to build gtk2 support.
This would ideally not be needed, as the package would instead be
slotted and parallel installable for gtk2 and gtk3, which should be
theoretically possible in all cases, because gtk2 and gtk3 may not live
in the same process, so not the same library either.
Due to some packages needing too much manpower effort to do such a
split, USE flags are used in such a case.
Good examples of such slot splits existing are for example the
libappindicator stack. This used to be the case with almost all GNOME
libraries as well, but most of them only provide gtk3 now, as gtk2 is,
well, dead.
Bad examples would be e.g avahi and gtk-vnc, which deemed too hard to
split up into separate SLOTs. In some cases it might have been meant as
a transitional thing, until all consumers are ported to gtk3, but it
has been lingering on due to consumer apps not being ported or we
haven't yet noticed to remove the gtk2 support in the library package.
Now these are libraries, and despite some USE flag confusion, it's not
a huge issue, because consumers are USE depending on what is required.
This all is written out in
https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#gtk3
since the GNOME project pages moving to wiki, and also long before that
in GuideXML era, and we've pointed people towards that.
And then we have applications that support building against either gtk2
or gtk3.
In most cases, any requests to provide the choice to have an
application use gtk2 instead of gtk3 gets instantly marked as duplicate
of https://bugs.gentoo.org/374057 but in some cases the maintainer has
chosen to provide this choice for now, and here is the problem - we
don't really have a good agreed on way to name such a choice in USE
flags, if we should provide such a choice at all.
USE=gtk2 is not good, due to the confusion issues with USE=gtk3 and
USE=gtk and it being problematic. The GNOME team shall probably veto
such USE flag usage if we are deemed to have such an authority as gtk+
maintainers, unless we rework it all in expectations of gtk2 corpse
being carried around for a decade as well... I have quite a few bugs
against packages to file already for this, afair.
I kind of like what firefox did there, going in the spirit of the
force-openrc flag we have for avoiding systemd dependency, even if it
currently means worse user experience. So if we provide such a choice
for apps at all, I might agree to USE=force-gtk2 for this for apps. And
we would like to eventually (or immediately) p.use.mask this and once
it's 2017 and gtk2 truly dead and buried and full of known security
holes, get rid of it again.
But this highlighted the inconsistency we are having, ending up with QA
initiated bug https://bugs.gentoo.org/581662
tl;dr and my proposal would be the following:
* USE=gtk means providing support for GTK+; because we don't have a
USE=gui, this also means "provide a GUI version built on top of gtk+"
for packages where a GUI is optional.
* USE=gtk3 may be used only for controlling extra libraries to be
shipped for gtk3 support (the extra library file will link to gtk3),
_in addition_ to gtk2 version. This is a temporarily measure until gtk2
support can be dropped and it will only ship gtk3 version of the
library. This gives a flag to be able to USE depend on by gtk3 apps.
This leaves the question about the opposite open, however. This is why
USE=gtk2 would be bad for apps, maybe we need to use it for this
library case, when gtk3 version is primary and we just have 1 app
remaining that needs the gtk2 version or something.
The concept of library is broad here, covering also gtk theme engines
(x11-themes/gtk-engine-*, but they shouldn't be hard to split) and
modules (e.g caribou, libcanberra)
* Applications may only use a gtk2 based stack or gtk3 based stack in a
given version/revision. gtk3 is strongly preferred when it is deemed to
not have any regressions compared to gtk2 build, but the choice is
ultimately with the maintainer. Once the application converts to using
gtk3 in our distribution, it should try hard to stay that way in
upcoming versions as well.
* Some exceptions to the above may exist under heavy consideration,
especially in cases where the toolkit usage is complex and may have
some issues for some, but in general gtk3 support is deemed good by
upstream. Most notable here would be browsers like firefox and
chromium, which are using gtk dependency more for emulating the theme
it uses, rather than using it as its real toolkit. If such exceptions
are allowed, the USE flag naming here must be consistent amongst the
exceptions. My proposal would be USE=force-gtk2 then, as I have no
better ideas without stomping on the USE=gtk{2,3} historical meaning.
When arguing in favor of supporting gtk2 builds more for apps, please
do keep in mind that gtk2 really is pretty much dead. And no, MATE,
XFCE and others are NOT continuing its support; they are just slow in
fully converting to gtk3, but they are doing so and I expect both of
those to be fully done this year, around autumn.
If the issue is political or just a general gnome3 or gtk3 hate, then I
would ask you to keep your political opinions or hate outside this
thread and go contemplate on more important life issues.
If the issue is lack of themes, then I would like you to help package
more gtk3 themes. gtk3.20 now has a stable CSS based theme API and
themes shouldn't be breaking anymore beyond this point, theoretically.
And gtk3 theme packages should pretty much just be CSS files and some
metadata. Though we have yet to get over that bumpy thing yet (a main
reason gtk3.20 isn't in main tree yet).
Thoughts? Agreements? Suggestions?
I'm particularly interested in QA opinion here. I believe WilliamH
wanted to spearhead this from their side.
Regards,
Mart Raudsepp
Gentoo developer, GNOME team
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
@ 2016-05-27 15:02 ` Brian Dolbec
2016-05-27 16:35 ` Canek Peláez Valdés
2016-05-27 15:34 ` Ian Stakenvicius
` (7 subsequent siblings)
8 siblings, 1 reply; 32+ messages in thread
From: Brian Dolbec @ 2016-05-27 15:02 UTC (permalink / raw
To: gentoo-dev
On Fri, 27 May 2016 17:21:06 +0300
Mart Raudsepp <leio@gentoo.org> wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle
> issues with their gtk3 port, or support both, with some of our
> userbase clinging to gtk2 for dubious political or aesthetical
> reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on
> what we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do
> we name the USE flag.
>
> Historically, for very good reasons in past and present GNOME team
> members opinion, USE=gtk has always meant to mean to provide support
> for gtk in general, not any particular version. This is opposite to
> what the Qt team has been doing.
> In our opinion, in a perfect world, only USE=gtk would exist, and no
> USE=gtk2 or USE=gtk3 would be necessary. But as we don't live in a
> perfect world, we have made use of USE=gtk3 for providing gtk3 support
> from library packages to mean to build gtk3 support. Sadly that
> overloads USE=gtk in many cases to then mean to build gtk2 support.
> This would ideally not be needed, as the package would instead be
> slotted and parallel installable for gtk2 and gtk3, which should be
> theoretically possible in all cases, because gtk2 and gtk3 may not
> live in the same process, so not the same library either.
> Due to some packages needing too much manpower effort to do such a
> split, USE flags are used in such a case.
> Good examples of such slot splits existing are for example the
> libappindicator stack. This used to be the case with almost all GNOME
> libraries as well, but most of them only provide gtk3 now, as gtk2 is,
> well, dead.
> Bad examples would be e.g avahi and gtk-vnc, which deemed too hard to
> split up into separate SLOTs. In some cases it might have been meant
> as a transitional thing, until all consumers are ported to gtk3, but
> it has been lingering on due to consumer apps not being ported or we
> haven't yet noticed to remove the gtk2 support in the library package.
>
> Now these are libraries, and despite some USE flag confusion, it's not
> a huge issue, because consumers are USE depending on what is required.
> This all is written out in
> https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#gtk3
> since the GNOME project pages moving to wiki, and also long before
> that in GuideXML era, and we've pointed people towards that.
>
> And then we have applications that support building against either
> gtk2 or gtk3.
> In most cases, any requests to provide the choice to have an
> application use gtk2 instead of gtk3 gets instantly marked as
> duplicate of https://bugs.gentoo.org/374057 but in some cases the
> maintainer has chosen to provide this choice for now, and here is the
> problem - we don't really have a good agreed on way to name such a
> choice in USE flags, if we should provide such a choice at all.
>
> USE=gtk2 is not good, due to the confusion issues with USE=gtk3 and
> USE=gtk and it being problematic. The GNOME team shall probably veto
> such USE flag usage if we are deemed to have such an authority as gtk+
> maintainers, unless we rework it all in expectations of gtk2 corpse
> being carried around for a decade as well... I have quite a few bugs
> against packages to file already for this, afair.
>
> I kind of like what firefox did there, going in the spirit of the
> force-openrc flag we have for avoiding systemd dependency, even if it
> currently means worse user experience. So if we provide such a choice
> for apps at all, I might agree to USE=force-gtk2 for this for apps.
> And we would like to eventually (or immediately) p.use.mask this and
> once it's 2017 and gtk2 truly dead and buried and full of known
> security holes, get rid of it again.
> But this highlighted the inconsistency we are having, ending up with
> QA initiated bug https://bugs.gentoo.org/581662
>
> tl;dr and my proposal would be the following:
>
> * USE=gtk means providing support for GTK+; because we don't have a
> USE=gui, this also means "provide a GUI version built on top of gtk+"
> for packages where a GUI is optional.
>
> * USE=gtk3 may be used only for controlling extra libraries to be
> shipped for gtk3 support (the extra library file will link to gtk3),
> _in addition_ to gtk2 version. This is a temporarily measure until
> gtk2 support can be dropped and it will only ship gtk3 version of the
> library. This gives a flag to be able to USE depend on by gtk3 apps.
> This leaves the question about the opposite open, however. This is why
> USE=gtk2 would be bad for apps, maybe we need to use it for this
> library case, when gtk3 version is primary and we just have 1 app
> remaining that needs the gtk2 version or something.
> The concept of library is broad here, covering also gtk theme engines
> (x11-themes/gtk-engine-*, but they shouldn't be hard to split) and
> modules (e.g caribou, libcanberra)
>
> * Applications may only use a gtk2 based stack or gtk3 based stack in
> a given version/revision. gtk3 is strongly preferred when it is
> deemed to not have any regressions compared to gtk2 build, but the
> choice is ultimately with the maintainer. Once the application
> converts to using gtk3 in our distribution, it should try hard to
> stay that way in upcoming versions as well.
>
> * Some exceptions to the above may exist under heavy consideration,
> especially in cases where the toolkit usage is complex and may have
> some issues for some, but in general gtk3 support is deemed good by
> upstream. Most notable here would be browsers like firefox and
> chromium, which are using gtk dependency more for emulating the theme
> it uses, rather than using it as its real toolkit. If such exceptions
> are allowed, the USE flag naming here must be consistent amongst the
> exceptions. My proposal would be USE=force-gtk2 then, as I have no
> better ideas without stomping on the USE=gtk{2,3} historical meaning.
>
>
> When arguing in favor of supporting gtk2 builds more for apps, please
> do keep in mind that gtk2 really is pretty much dead. And no, MATE,
> XFCE and others are NOT continuing its support; they are just slow in
> fully converting to gtk3, but they are doing so and I expect both of
> those to be fully done this year, around autumn.
> If the issue is political or just a general gnome3 or gtk3 hate, then
> I would ask you to keep your political opinions or hate outside this
> thread and go contemplate on more important life issues.
> If the issue is lack of themes, then I would like you to help package
> more gtk3 themes. gtk3.20 now has a stable CSS based theme API and
> themes shouldn't be breaking anymore beyond this point, theoretically.
> And gtk3 theme packages should pretty much just be CSS files and some
> metadata. Though we have yet to get over that bumpy thing yet (a main
> reason gtk3.20 isn't in main tree yet).
>
> Thoughts? Agreements? Suggestions?
> I'm particularly interested in QA opinion here. I believe WilliamH
> wanted to spearhead this from their side.
>
>
> Regards,
> Mart Raudsepp
> Gentoo developer, GNOME team
>
I'll be really sad when gtk2 is totally abolished in Gentoo. :(
I suppose I'll have to break down and switch to KDE maybe.
In my opinion the upstream gtk developers have gone somewhat bonkers
with their cartoonish changes to the look, feel and generally
un-intuitive user interface. The new file selector is irritating to use
despite getting all the old behaviour settings I know of set, the lack
of the ability to paste a path into it, forcing you to navigate
directory by directory, and other BS behaviour... Some apps even have
less functionality and usefullnes. I have a local copy of
dev-vcs/gitg-0.27 ebuild which I use daily which despite some
instability is far more useful than it's "modern" counterpart. I use
xfce4 for both work and my own workstation, and like it, but it's apps
are getting increasingly more corrupted by gtk3isms :(
So, I accept I'll not be liked by the gtk team for wanting to keep gtk2
around still.
--
Brian Dolbec <dolsen>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
2016-05-27 15:02 ` Brian Dolbec
@ 2016-05-27 15:34 ` Ian Stakenvicius
2016-05-27 15:40 ` William Hubbs
` (6 subsequent siblings)
8 siblings, 0 replies; 32+ messages in thread
From: Ian Stakenvicius @ 2016-05-27 15:34 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 3259 bytes --]
On 27/05/16 10:21 AM, Mart Raudsepp wrote:
> [ Snip! ]
Agree on all other portions above; its the Applications part below
that is most contentious though and is also what I care most about:
> * Applications may only use a gtk2 based stack or gtk3 based stack in a
> given version/revision. gtk3 is strongly preferred when it is deemed to
> not have any regressions compared to gtk2 build, but the choice is
> ultimately with the maintainer. Once the application converts to using
> gtk3 in our distribution, it should try hard to stay that way in
> upcoming versions as well.
>
> * Some exceptions to the above may exist under heavy consideration,
> especially in cases where the toolkit usage is complex and may have
> some issues for some, but in general gtk3 support is deemed good by
> upstream. Most notable here would be browsers like firefox and
> chromium, which are using gtk dependency more for emulating the theme
> it uses, rather than using it as its real toolkit. If such exceptions
> are allowed, the USE flag naming here must be consistent amongst the
> exceptions. My proposal would be USE=force-gtk2 then, as I have no
> better ideas without stomping on the USE=gtk{2,3} historical meaning.
Personally I don't see an issue at all with maintainers of
applications allowing a package to be built against gtk2 instead of
gtk3 even if gtk3 is deemed "good enough" by upstream. There are a
number of end-users (myself included) that prefer the gtk2 experience
over gtk3, and so to me I'd like to not limit what app maintainers
want to do, but rather just limit the way they can do it. The
'force-gtk2' flag to me seems appropriate for this, especially since
this type of choice should explicitly not be linked to a flag in any
profiles (and i believe both gtk2 and gtk3 exist in some profile or
another).
> When arguing in favor of supporting gtk2 builds more for apps, please
> do keep in mind that gtk2 really is pretty much dead. And no, MATE,
> XFCE and others are NOT continuing its support; they are just slow in
> fully converting to gtk3, but they are doing so and I expect both of
> those to be fully done this year, around autumn.
> If the issue is political or just a general gnome3 or gtk3 hate, then I
> would ask you to keep your political opinions or hate outside this
> thread and go contemplate on more important life issues.
> If the issue is lack of themes, then I would like you to help package
> more gtk3 themes. gtk3.20 now has a stable CSS based theme API and
> themes shouldn't be breaking anymore beyond this point, theoretically.
> And gtk3 theme packages should pretty much just be CSS files and some
> metadata. Though we have yet to get over that bumpy thing yet (a main
> reason gtk3.20 isn't in main tree yet).
As to the death of gtk2, well, despite firefox officially adopting
gtk3 as the default in 46.0 there's still a lot of open bugs, some of
which have been around for years, and the other mozilla products have
barely tried to port their UIs over. I expect it will be 2018 at
least before mozilla doesn't officially need gtk2 anymore. Dead
upstream or not, I expect there will still be consumers of gtk2 for a
few years yet.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
2016-05-27 15:02 ` Brian Dolbec
2016-05-27 15:34 ` Ian Stakenvicius
@ 2016-05-27 15:40 ` William Hubbs
2016-05-27 17:28 ` rindeal
` (2 more replies)
2016-05-27 15:56 ` Patrick Lauer
` (5 subsequent siblings)
8 siblings, 3 replies; 32+ messages in thread
From: William Hubbs @ 2016-05-27 15:40 UTC (permalink / raw
To: gentoo-dev; +Cc: qa, council
[-- Attachment #1: Type: text/plain, Size: 1885 bytes --]
On Fri, May 27, 2016 at 05:21:06PM +0300, Mart Raudsepp wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle issues
> with their gtk3 port, or support both, with some of our userbase
> clinging to gtk2 for dubious political or aesthetical reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on what
> we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do we
> name the USE flag.
(qa hat in place)
There is a qa policy about this. All packages in the tree should
move away from the non-versioned gtk use flag to versioned use flags,
like the ones the qt team uses [1] [2].
This seems to be the best compromise. It allows the maintainers of the
packages to decide which toolkit they want to support. If there is too
much work involved in maintaining a package with dual support, don't do
the work, just make it support the appropriate toolkit version.
I have not seen any reason why something like this couldn't work. After
all, it seems to work for the qt team.
William
[1]
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Policies#gtk.2Fgtk2.2Fgtk3_USE_flag_situation
[2]
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#GTK_flag_situation
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
` (2 preceding siblings ...)
2016-05-27 15:40 ` William Hubbs
@ 2016-05-27 15:56 ` Patrick Lauer
2016-05-27 16:15 ` Austin English
` (4 subsequent siblings)
8 siblings, 0 replies; 32+ messages in thread
From: Patrick Lauer @ 2016-05-27 15:56 UTC (permalink / raw
To: gentoo-dev
On 05/27/2016 04:21 PM, Mart Raudsepp wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle issues
> with their gtk3 port, or support both, with some of our userbase
> clinging to gtk2 for dubious political or aesthetical reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on what
> we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do we
> name the USE flag.
Looking at the gtk-apps I use ...
Firefox with gtk3 is TOFU. UI elements are invisible, Scrollbars are
broken, etc.
The font rendering is hilariously wrong, even more so than gtk2. I'd
call this "late alpha" if I'm in a good mood.
("wrong" ? well, everything else at fontsize ~8-9 is the same as gtk2 at
fontsize 24, and gtk3 at ~32. Which means that the defaults are
literally unreadable because text ends up 3 pixels high. I have no idea
why everything else understands config, and special snowflake has to
guess instead...)
Thunderbird ... oy vey. The new new theme in 45.1 after a new theme in
45 repeats all the problems with font rendering, and it's "flat" because
who needs to know where UI elements are, where they end, or if they are
active/usable. Also fun that *now* it is 'catching up' with the UI
stupidity of Android-4, which is abandoned. Change to have change ... :\
I think Chromium uses their own layer of madness on top of gtk.
Chromium-51 has a tiny URL bar which is not resizable (sizing only
affects the html viewport). It is proportionally smaller than
Chromium-50, so I guess they switched to gtk3 too.
All in all: GTK+-3 looks substantially worse, has wrong font rendering
(which gtk2 already got wrong), and I consider it a strict downgrade
from gtk2. So where I can, when I can, I will aim to keep gtk2 until I
can switch to something that isn't dead upstream or just braindead.
So while I understand that you don't want to support a toolkit that has
no or little support (like qt4, btw, which is abandoned but only about
half the things have been ported to qt5) ... as long as it's not at
feature-parity some users like me will fight for the option to have
usable software. And that means, for now, requiring gtk2 / gtk3 useflags
to allow us to choose the correct version where possible. I don't care
much how it is exposed, I don't consider "force-gtk2" worse than "gtk2"
or "partial-sanity". But it'll take a lot of improvement before you can
consider deprecating gtk2, and crude methods like the suggested
package.use.mask will motivate me to fix the mistake by reverting it.
(I remember fighting with ssuominen over guvcview, he always tried to
remove the last gtk2 version of it, I readded it because otherwise
there's a whole pile of new bad dependencies, he'd remove it again, I
readded it, lots of fun. Let's not play that game too much please ...)
Thanks,
Patrick
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
` (3 preceding siblings ...)
2016-05-27 15:56 ` Patrick Lauer
@ 2016-05-27 16:15 ` Austin English
2016-05-27 16:54 ` landis blackwell
` (3 subsequent siblings)
8 siblings, 0 replies; 32+ messages in thread
From: Austin English @ 2016-05-27 16:15 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 05/27/2016 09:21 AM, Mart Raudsepp wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle issues
> with their gtk3 port, or support both, with some of our userbase
> clinging to gtk2 for dubious political or aesthetical reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on what
> we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do we
> name the USE flag.
>
> Historically, for very good reasons in past and present GNOME team
> members opinion, USE=gtk has always meant to mean to provide support
> for gtk in general, not any particular version. This is opposite to
> what the Qt team has been doing.
What are those good reasons? Every discussion I've seen about this has
Gnome team saying "There are good reasons" without actually _listing_
them. It sounds like the 'good reason' is that people will get some sort
of gtk support no matter what the application supports, but as had been
said already, that isn't exactly a good thing.
AFAICT, this only serves to cause more confusion. A user setting USE=gtk
may expect gtk2 (because that's what it provided in the past), then all
of a sudden has their system pulled out from underneath them to get gtk3.
Ignoring that past issue, there's no discussion here of how the
transition to gtk4 would be handled in a situation where gtk=gtk-any,
but not all applications support gtk4. What will you do then, introduce
a force-gtk3 USE flag to work around the problem in the future?
No one is saying cleaning up the mess will be easy, but it is needed to
prevent user confusion and prevent further problems down the road.
I have no political feelings towards gtk2/3, for the record :).
- -Austin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJXSHKKAAoJEACzKVe5S/Ph3hcQAKpAHkn3SRrfG4ZiU7Hd2qj8
yOE2lvWAzPUN922uZbhzf1un1GG+xlQ5mgtPoWI/d6LQEjzOIL94gD1GjsEzLn8+
pGjD+dZfyzz1QdyQ6YOm6mbvVrQpNY8m8eZ++Evf7q/zdsYbvmyEu+dnIrcCz6SO
EkCLwKt5BlyyGUiMcgNRoy+SmBbk31YV9VeIkmhv0FC05O1gPZMzaDhCMwPYW8JK
7IBeMn1C2oTno9Pd6C360+xjPsIdtVvUJ9dfebLu1DfOPD+qBzfY69jtMsOFyOIM
xf7L/o/Lmr0JvFqmtX0G3OooglxiMC8yzj7xhuNADDERh1mjVWo0ktfPKOCVRFU9
LqeJr4uZneuezXbP1LVb44vGWyiMSCZYuM7sXfVSn1dbtBvgb932A7sud1NSTVmQ
TMyLUAGVNXlOXNbMcFPnXBcMLzy/fTNYDclpc8cwHD5Pyq8WR0MybS141jD7Z55F
J1RRSPETKyq8WxSwCNjDYgguJmY0HrFFlfa7P45EHzhKktcPacCE3bOg5joNPsTM
aMREjMtb4zG0tWRdJ4JaSGFCHcrK709I/ED0v1qr378Rgu8+OJxU+f/IWFh7NRZY
auefisbLU9LRcMQUbn07t2GQTREFjgahM/8a2WhcQgV7qIc01ih6I2o7jQgO6SfN
ob/dqOl8/yVzbfAVA14m
=dD1I
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 15:02 ` Brian Dolbec
@ 2016-05-27 16:35 ` Canek Peláez Valdés
2016-05-27 17:17 ` Brian Dolbec
0 siblings, 1 reply; 32+ messages in thread
From: Canek Peláez Valdés @ 2016-05-27 16:35 UTC (permalink / raw
To: gentoo-dev
On Fri, May 27, 2016 at 10:02 AM, Brian Dolbec <dolsen@gentoo.org> wrote:
[snip]
> I'll be really sad when gtk2 is totally abolished in Gentoo. :(
> I suppose I'll have to break down and switch to KDE maybe.
>
> In my opinion the upstream gtk developers have gone somewhat bonkers
> with their cartoonish changes to the look, feel and generally
> un-intuitive user interface. The new file selector is irritating to use
> despite getting all the old behaviour settings I know of set, the lack
> of the ability to paste a path into it, forcing you to navigate
> directory by directory, and other BS behaviour...
What's wrong with Ctrl-L to open the "Enter location or URL" text
field and pasting the path there?
Regards.
--
Dr. Canek Peláez Valdés
Profesor de Carrera Asociado C
Departamento de Matemáticas
Facultad de Ciencias
Universidad Nacional Autónoma de México
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
` (4 preceding siblings ...)
2016-05-27 16:15 ` Austin English
@ 2016-05-27 16:54 ` landis blackwell
2016-05-27 16:59 ` rindeal
2016-05-27 18:10 ` waltdnes
` (2 subsequent siblings)
8 siblings, 1 reply; 32+ messages in thread
From: landis blackwell @ 2016-05-27 16:54 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 7731 bytes --]
I stopped reading after you reminded me it was 2016
On May 27, 2016 9:21 AM, "Mart Raudsepp" <leio@gentoo.org> wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle issues
> with their gtk3 port, or support both, with some of our userbase
> clinging to gtk2 for dubious political or aesthetical reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on what
> we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do we
> name the USE flag.
>
> Historically, for very good reasons in past and present GNOME team
> members opinion, USE=gtk has always meant to mean to provide support
> for gtk in general, not any particular version. This is opposite to
> what the Qt team has been doing.
> In our opinion, in a perfect world, only USE=gtk would exist, and no
> USE=gtk2 or USE=gtk3 would be necessary. But as we don't live in a
> perfect world, we have made use of USE=gtk3 for providing gtk3 support
> from library packages to mean to build gtk3 support. Sadly that
> overloads USE=gtk in many cases to then mean to build gtk2 support.
> This would ideally not be needed, as the package would instead be
> slotted and parallel installable for gtk2 and gtk3, which should be
> theoretically possible in all cases, because gtk2 and gtk3 may not live
> in the same process, so not the same library either.
> Due to some packages needing too much manpower effort to do such a
> split, USE flags are used in such a case.
> Good examples of such slot splits existing are for example the
> libappindicator stack. This used to be the case with almost all GNOME
> libraries as well, but most of them only provide gtk3 now, as gtk2 is,
> well, dead.
> Bad examples would be e.g avahi and gtk-vnc, which deemed too hard to
> split up into separate SLOTs. In some cases it might have been meant as
> a transitional thing, until all consumers are ported to gtk3, but it
> has been lingering on due to consumer apps not being ported or we
> haven't yet noticed to remove the gtk2 support in the library package.
>
> Now these are libraries, and despite some USE flag confusion, it's not
> a huge issue, because consumers are USE depending on what is required.
> This all is written out in
> https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#gtk3
> since the GNOME project pages moving to wiki, and also long before that
> in GuideXML era, and we've pointed people towards that.
>
> And then we have applications that support building against either gtk2
> or gtk3.
> In most cases, any requests to provide the choice to have an
> application use gtk2 instead of gtk3 gets instantly marked as duplicate
> of https://bugs.gentoo.org/374057 but in some cases the maintainer has
> chosen to provide this choice for now, and here is the problem - we
> don't really have a good agreed on way to name such a choice in USE
> flags, if we should provide such a choice at all.
>
> USE=gtk2 is not good, due to the confusion issues with USE=gtk3 and
> USE=gtk and it being problematic. The GNOME team shall probably veto
> such USE flag usage if we are deemed to have such an authority as gtk+
> maintainers, unless we rework it all in expectations of gtk2 corpse
> being carried around for a decade as well... I have quite a few bugs
> against packages to file already for this, afair.
>
> I kind of like what firefox did there, going in the spirit of the
> force-openrc flag we have for avoiding systemd dependency, even if it
> currently means worse user experience. So if we provide such a choice
> for apps at all, I might agree to USE=force-gtk2 for this for apps. And
> we would like to eventually (or immediately) p.use.mask this and once
> it's 2017 and gtk2 truly dead and buried and full of known security
> holes, get rid of it again.
> But this highlighted the inconsistency we are having, ending up with QA
> initiated bug https://bugs.gentoo.org/581662
>
> tl;dr and my proposal would be the following:
>
> * USE=gtk means providing support for GTK+; because we don't have a
> USE=gui, this also means "provide a GUI version built on top of gtk+"
> for packages where a GUI is optional.
>
> * USE=gtk3 may be used only for controlling extra libraries to be
> shipped for gtk3 support (the extra library file will link to gtk3),
> _in addition_ to gtk2 version. This is a temporarily measure until gtk2
> support can be dropped and it will only ship gtk3 version of the
> library. This gives a flag to be able to USE depend on by gtk3 apps.
> This leaves the question about the opposite open, however. This is why
> USE=gtk2 would be bad for apps, maybe we need to use it for this
> library case, when gtk3 version is primary and we just have 1 app
> remaining that needs the gtk2 version or something.
> The concept of library is broad here, covering also gtk theme engines
> (x11-themes/gtk-engine-*, but they shouldn't be hard to split) and
> modules (e.g caribou, libcanberra)
>
> * Applications may only use a gtk2 based stack or gtk3 based stack in a
> given version/revision. gtk3 is strongly preferred when it is deemed to
> not have any regressions compared to gtk2 build, but the choice is
> ultimately with the maintainer. Once the application converts to using
> gtk3 in our distribution, it should try hard to stay that way in
> upcoming versions as well.
>
> * Some exceptions to the above may exist under heavy consideration,
> especially in cases where the toolkit usage is complex and may have
> some issues for some, but in general gtk3 support is deemed good by
> upstream. Most notable here would be browsers like firefox and
> chromium, which are using gtk dependency more for emulating the theme
> it uses, rather than using it as its real toolkit. If such exceptions
> are allowed, the USE flag naming here must be consistent amongst the
> exceptions. My proposal would be USE=force-gtk2 then, as I have no
> better ideas without stomping on the USE=gtk{2,3} historical meaning.
>
>
> When arguing in favor of supporting gtk2 builds more for apps, please
> do keep in mind that gtk2 really is pretty much dead. And no, MATE,
> XFCE and others are NOT continuing its support; they are just slow in
> fully converting to gtk3, but they are doing so and I expect both of
> those to be fully done this year, around autumn.
> If the issue is political or just a general gnome3 or gtk3 hate, then I
> would ask you to keep your political opinions or hate outside this
> thread and go contemplate on more important life issues.
> If the issue is lack of themes, then I would like you to help package
> more gtk3 themes. gtk3.20 now has a stable CSS based theme API and
> themes shouldn't be breaking anymore beyond this point, theoretically.
> And gtk3 theme packages should pretty much just be CSS files and some
> metadata. Though we have yet to get over that bumpy thing yet (a main
> reason gtk3.20 isn't in main tree yet).
>
> Thoughts? Agreements? Suggestions?
> I'm particularly interested in QA opinion here. I believe WilliamH
> wanted to spearhead this from their side.
>
>
> Regards,
> Mart Raudsepp
> Gentoo developer, GNOME team
>
>
[-- Attachment #2: Type: text/html, Size: 8744 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 16:54 ` landis blackwell
@ 2016-05-27 16:59 ` rindeal
2016-05-27 17:14 ` Anthony G. Basile
0 siblings, 1 reply; 32+ messages in thread
From: rindeal @ 2016-05-27 16:59 UTC (permalink / raw
To: gentoo-dev; +Cc: blackwelllandis
On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.com> wrote:
> I stopped reading after you reminded me it was 2016
Good to know, thanks for stopping by.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 16:59 ` rindeal
@ 2016-05-27 17:14 ` Anthony G. Basile
2016-05-27 17:44 ` William Hubbs
` (3 more replies)
0 siblings, 4 replies; 32+ messages in thread
From: Anthony G. Basile @ 2016-05-27 17:14 UTC (permalink / raw
To: gentoo-dev
On 5/27/16 12:59 PM, rindeal wrote:
> On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.com> wrote:
>> I stopped reading after you reminded me it was 2016
>
> Good to know, thanks for stopping by.
>
Yeah the "its <current> year" meme has been making its rounds of the
internet.
anyhow, my 2017 question is about avahi. right now i have USE=gtk and
gtk3, where gtk really means gtk2. i'm not going to change that because
it fits QA's specs. but i could remove it altogether and just drop gtk2
support for the next release. good idea? bad idea? i guess i'm asking
whats the status of gtk2 in gentoo seeing as its dead upstream.
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : blueness@gentoo.org
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 16:35 ` Canek Peláez Valdés
@ 2016-05-27 17:17 ` Brian Dolbec
0 siblings, 0 replies; 32+ messages in thread
From: Brian Dolbec @ 2016-05-27 17:17 UTC (permalink / raw
To: gentoo-dev
On Fri, 27 May 2016 11:35:01 -0500
Canek Peláez Valdés <caneko@gmail.com> wrote:
> On Fri, May 27, 2016 at 10:02 AM, Brian Dolbec <dolsen@gentoo.org>
> wrote: [snip]
> > I'll be really sad when gtk2 is totally abolished in Gentoo. :(
> > I suppose I'll have to break down and switch to KDE maybe.
> >
> > In my opinion the upstream gtk developers have gone somewhat bonkers
> > with their cartoonish changes to the look, feel and generally
> > un-intuitive user interface. The new file selector is irritating
> > to use despite getting all the old behaviour settings I know of
> > set, the lack of the ability to paste a path into it, forcing you
> > to navigate directory by directory, and other BS behaviour...
>
> What's wrong with Ctrl-L to open the "Enter location or URL" text
> field and pasting the path there?
>
> Regards.
The unintuitive knowledge that that even existed for one.
I have been informed in IRC about this and tried it. I also found out
that you can just paste it without opening that box (haven't tried
that yet) . Also typing / will bring it up. Without a / will start a
search...
All unintuitive changes since gtk2. I admit I don't know all the in's
and out's of gtk2 either, but in gtk2 there was a small icon to open
the text/paste box if it wasn't already a default.
Also what is intuitive about special keystrokes in a gui? After all
gui stands for Graphical User Interface. Keyboard shortcuts are one
thing, totally hiding them from the interface quite another. There is
a reason I tend to prefer __GOOD__ gui apps over command line ones
in most cases. I hate trying/needing to memorize 100+ special
keystrokes and/or commands and/or options for apps. It's more I know
what I want to do, so do the few clicks/done, not spend half my time
trying to read man pages/learn/memorize _some_app_ special keystrokes
and/or command option in order to do it.
--
Brian Dolbec <dolsen>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 15:40 ` William Hubbs
@ 2016-05-27 17:28 ` rindeal
2016-05-27 18:23 ` M. J. Everitt
2016-05-27 21:22 ` NP-Hardass
2 siblings, 0 replies; 32+ messages in thread
From: rindeal @ 2016-05-27 17:28 UTC (permalink / raw
To: gentoo-dev, qa, council
> (qa hat in place)
>
> There is a qa policy about this. All packages in the tree should
> move away from the non-versioned gtk use flag to versioned use flags,
> like the ones the qt team uses [1] [2].
>
> This seems to be the best compromise. It allows the maintainers of the
> packages to decide which toolkit they want to support. If there is too
> much work involved in maintaining a package with dual support, don't do
> the work, just make it support the appropriate toolkit version.
>
> I have not seen any reason why something like this couldn't work. After
> all, it seems to work for the qt team.
>
> William
>
> [1]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Policies#gtk.2Fgtk2.2Fgtk3_USE_flag_situation
> [2]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#GTK_flag_situation
Shouldn't this rule be generalized? Eg. sqlite will relatively soon
face a similar issue with SQLite4 and there are certainly more
examples.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 17:14 ` Anthony G. Basile
@ 2016-05-27 17:44 ` William Hubbs
2016-05-27 17:55 ` Anthony G. Basile
2016-05-27 18:23 ` Mart Raudsepp
` (2 subsequent siblings)
3 siblings, 1 reply; 32+ messages in thread
From: William Hubbs @ 2016-05-27 17:44 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 980 bytes --]
On Fri, May 27, 2016 at 01:14:17PM -0400, Anthony G. Basile wrote:
> On 5/27/16 12:59 PM, rindeal wrote:
> > On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.com> wrote:
> >> I stopped reading after you reminded me it was 2016
> >
> > Good to know, thanks for stopping by.
> >
>
> Yeah the "its <current> year" meme has been making its rounds of the
> internet.
>
> anyhow, my 2017 question is about avahi. right now i have USE=gtk and
> gtk3, where gtk really means gtk2. i'm not going to change that because
> it fits QA's specs. but i could remove it altogether and just drop gtk2
> support for the next release. good idea? bad idea? i guess i'm asking
> whats the status of gtk2 in gentoo seeing as its dead upstream.
From QA's pov, the gtk2 support is up to you, but I also would recommend
adding a gtk2 use flag if you keep it around. The idea is to eventually
get away from the non-versioned use flag.
Thanks,
William
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 17:44 ` William Hubbs
@ 2016-05-27 17:55 ` Anthony G. Basile
2016-05-27 21:09 ` William Hubbs
0 siblings, 1 reply; 32+ messages in thread
From: Anthony G. Basile @ 2016-05-27 17:55 UTC (permalink / raw
To: gentoo-dev
On 5/27/16 1:44 PM, William Hubbs wrote:
> On Fri, May 27, 2016 at 01:14:17PM -0400, Anthony G. Basile wrote:
>> On 5/27/16 12:59 PM, rindeal wrote:
>>> On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.com> wrote:
>>>> I stopped reading after you reminded me it was 2016
>>>
>>> Good to know, thanks for stopping by.
>>>
>>
>> Yeah the "its <current> year" meme has been making its rounds of the
>> internet.
>>
>> anyhow, my 2017 question is about avahi. right now i have USE=gtk and
>> gtk3, where gtk really means gtk2. i'm not going to change that because
>> it fits QA's specs. but i could remove it altogether and just drop gtk2
>> support for the next release. good idea? bad idea? i guess i'm asking
>> whats the status of gtk2 in gentoo seeing as its dead upstream.
>
> From QA's pov, the gtk2 support is up to you, but I also would recommend
> adding a gtk2 use flag if you keep it around. The idea is to eventually
> get away from the non-versioned use flag.
It wouldn't be adding, it would be renaming a flag which is possible but
annoying. Anyhow I'll cross that bridge after the next release of avahi.
>
> Thanks,
>
> William
>
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : blueness@gentoo.org
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
` (5 preceding siblings ...)
2016-05-27 16:54 ` landis blackwell
@ 2016-05-27 18:10 ` waltdnes
2016-05-27 18:26 ` Mart Raudsepp
2016-05-27 18:57 ` [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Daniel Campbell
2016-05-27 21:08 ` NP-Hardass
8 siblings, 1 reply; 32+ messages in thread
From: waltdnes @ 2016-05-27 18:10 UTC (permalink / raw
To: gentoo-dev
On Fri, May 27, 2016 at 05:21:06PM +0300, Mart Raudsepp wrote
> This would ideally not be needed, as the package would instead be
> slotted and parallel installable for gtk2 and gtk3, which should be
> theoretically possible in all cases, because gtk2 and gtk3 may not live
> in the same process, so not the same library either.
> Due to some packages needing too much manpower effort to do such a
> split, USE flags are used in such a case.
> Good examples of such slot splits existing are for example the
> libappindicator stack. This used to be the case with almost all GNOME
> libraries as well, but most of them only provide gtk3 now, as gtk2 is,
> well, dead.
What at the original gtk+, for which the "gtk" flag was probably
originally invented?
[i3][waltdnes][~] ls /usr/portage/x11-libs/gtk+/*.ebuild
/usr/portage/x11-libs/gtk+/gtk+-1.2.10-r13.ebuild
/usr/portage/x11-libs/gtk+/gtk+-2.24.28-r1.ebuild
/usr/portage/x11-libs/gtk+/gtk+-2.24.29.ebuild
/usr/portage/x11-libs/gtk+/gtk+-2.24.30.ebuild
/usr/portage/x11-libs/gtk+/gtk+-3.16.7.ebuild
/usr/portage/x11-libs/gtk+/gtk+-3.18.7.ebuild
/usr/portage/x11-libs/gtk+/gtk+-3.18.9.ebuild
> tl;dr and my proposal would be the following:
>
> * USE=gtk means providing support for GTK+; because we don't have a
> USE=gui, this also means "provide a GUI version built on top of gtk+"
> for packages where a GUI is optional.
There is a way to specify a GUI...
[i3][waltdnes][~] grep "^\(X \|wayland \)" /usr/portage/profiles/use.desc
X - Add support for X11
wayland - Enable dev-libs/wayland backend
If overloading the meaning of USE="gtk" is the problem, the better
solution would be to use "X" or "wayland" or whatever to indicate the
GUI you need. "gtk" is a relic from the days of gtk+-1.x, when there
were no other versions of gtk. With the advent of multiple versions, we
arguably need "gtkn" useflags for every version in the tree, where "n"
is the major version #.
While we're at it, why are there 23 occurences of the "X" useflag in
/usr/portage/profiles/use.local.desc when it exists in
/usr/portage/profiles/use.desc ??? I'm talking about stuff like...
app-misc/vifm:X - Add support for X11
dev-libs/m17n-lib:X - Builds the Graphical User Interface API and
utilities for the package.
dev-libs/wlc:X - Enable X11 backend and XWayland support.
dev-python/PyQt4:X - Build bindings for the QtGui module
dev-python/pyside:X - Build QtGui and QtTest modules
--
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 15:40 ` William Hubbs
2016-05-27 17:28 ` rindeal
@ 2016-05-27 18:23 ` M. J. Everitt
2016-05-27 21:22 ` NP-Hardass
2 siblings, 0 replies; 32+ messages in thread
From: M. J. Everitt @ 2016-05-27 18:23 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2389 bytes --]
On 27/05/16 16:40, William Hubbs wrote:
> On Fri, May 27, 2016 at 05:21:06PM +0300, Mart Raudsepp wrote:
>> Hello,
>>
>> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
>> upstream, many applications still support only gtk2, have subtle issues
>> with their gtk3 port, or support both, with some of our userbase
>> clinging to gtk2 for dubious political or aesthetical reasons.
>>
>> For the latter cases, despite GNOME teams policy and strong preference
>> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
>> working as good as gtk2), some cases exist where the maintainers want
>> to provide such choice. In some cases it is understandable for a short
>> while during transition, e.g firefox. In other cases, it is purely for
>> the sake of providing the choice of working with a deprecated toolkit,
>> apparently.
>>
>> My highly biased essay aside, we need to finally globally agree on what
>> we do in this situation. If we allow this choice at all, only for
>> special cases, or widespread. And if this choice is provided, how do we
>> name the USE flag.
> (qa hat in place)
>
> There is a qa policy about this. All packages in the tree should
> move away from the non-versioned gtk use flag to versioned use flags,
> like the ones the qt team uses [1] [2].
>
> This seems to be the best compromise. It allows the maintainers of the
> packages to decide which toolkit they want to support. If there is too
> much work involved in maintaining a package with dual support, don't do
> the work, just make it support the appropriate toolkit version.
>
> I have not seen any reason why something like this couldn't work. After
> all, it seems to work for the qt team.
>
> William
>
> [1]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Policies#gtk.2Fgtk2.2Fgtk3_USE_flag_situation
> [2]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#GTK_flag_situation
Having read the QA policies, surely the route forwards is fairly obvious
thus:-
- gtk is deprecated and discouraged for any new ebuilds
- we add a QA check to repoman to ensure that the 'gtk' use flag is not
used in any new ebuilds
- existing packages using 'gtk' will get updated to use 'gtk2' or 'gkt3'
in the normal cycle
Any edge cases here, or is this something that could be workable?
MJE
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 17:14 ` Anthony G. Basile
2016-05-27 17:44 ` William Hubbs
@ 2016-05-27 18:23 ` Mart Raudsepp
2016-05-27 18:28 ` Ian Stakenvicius
2016-05-27 19:06 ` Daniel Campbell
2016-05-30 15:17 ` Mart Raudsepp
3 siblings, 1 reply; 32+ messages in thread
From: Mart Raudsepp @ 2016-05-27 18:23 UTC (permalink / raw
To: gentoo-dev
Ühel kenal päeval, R, 27.05.2016 kell 13:14, kirjutas Anthony G.
Basile:
> On 5/27/16 12:59 PM, rindeal wrote:
> > On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.co
> > m> wrote:
> > > I stopped reading after you reminded me it was 2016
> >
> > Good to know, thanks for stopping by.
> >
>
> Yeah the "its <current> year" meme has been making its rounds of the
> internet.
>
> anyhow, my 2017 question is about avahi. right now i have USE=gtk
> and
> gtk3, where gtk really means gtk2. i'm not going to change that
> because
> it fits QA's specs. but i could remove it altogether and just drop
> gtk2
> support for the next release. good idea? bad idea? i guess i'm
> asking
> whats the status of gtk2 in gentoo seeing as its dead upstream.
I don't see a strong reason to have gtk2 support if there are no gtk2
consumers remaining in the tree. I somehow doubt that's the case for
avahi, though?
If gtk2 support is removed though, then per gnome policy gtk3 component
should come with USE=gtk and per QA policy USE=gtk3.
The QA policy is not finalized and completely contradicts our side of
things, hence discussions are needed, but did not conclude.
This is a thread to continue this discussion, I suppose.
I wouldn't change anything till then really, especially for libraries,
where it's mostly handled by USE depends anyway.
One thing is USE flag naming for gtk2 and gtk3, another thing is if
apps should provide support on building against either.
I strongly disagree with using the same flag names for "provide gtk2
linking higher level library" and "Build this GUI application against
gtk version 2". QA proposed policy has this regression.
Also for libraries it is a "either or both" situation, for apps it's a
"one or the other" situation. This gets awful very quick if any
application maintainer decides to express it with a
REQUIRED_USE="^^ ( gtk2 gtk3 )", combined with the libraries in tree
that then would have REQUIRED_USE="|| ( gtk2 gtk3 )" + libraries in
tree where gtk component is optional, and if available both gtk2 and
gtk3 versions are available with
REQUIRED_USE="gtk? ( || ( gtk2 gtk3 ))".
This would be clean with only libraries using gtk2/gtk3 as is GNOME
teams current policy. Then the natural thing would be to have a
different USE flag to mean to prefer gtk2 for user facing applications
when possible instead of gtk3 (USE="force-gtk2" being suggested here
for that)
With this approach we can cleanly handle any upcoming gtk4 as well,
while naturally moving users who don't care into using the latest
version.
I also strongly believe that USE flags should be first and foremost
about features, not an expression of the name of an external
dependency.
Gilles did a huge start of work on mapping gtk* use flag usages in a
spreadsheet, but given the volume, got distracted before finished.
I pointed this out to the QA team to look at, but have not heard
anything back.
The point of the exercise was, that it turns out half of the tree seem
to mis-use USE=gtk in some way, and QA should really concentrate on
helping with that first. Then the situation would be much clearer, as
there wouldn't be all that many USE=gtk's remaining.
Anyhow, this is where the discussions stalled last time around.
I think we should first figure out about the USE flag usages (naming +
library only or not).
We can bikeshed if gtk2 version for applications should be provided
more liberally in addition to gtk3 as a one or the other choice later
on. I don't feel too strongly about making that hard if it doesn't step
on our library USE flag namespace.
Mart
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 18:10 ` waltdnes
@ 2016-05-27 18:26 ` Mart Raudsepp
2016-05-27 18:44 ` rindeal
0 siblings, 1 reply; 32+ messages in thread
From: Mart Raudsepp @ 2016-05-27 18:26 UTC (permalink / raw
To: gentoo-dev
Ühel kenal päeval, R, 27.05.2016 kell 14:10, kirjutas
waltdnes@waltdnes.org:
> While we're at it, why are there 23 occurences of the "X" useflag
> in
> /usr/portage/profiles/use.local.desc when it exists in
> /usr/portage/profiles/use.desc ??? I'm talking about stuff like...
>
> app-misc/vifm:X - Add support for X11
> dev-libs/m17n-lib:X - Builds the Graphical User Interface API and
> utilities for the package.
> dev-libs/wlc:X - Enable X11 backend and XWayland support.
> dev-python/PyQt4:X - Build bindings for the QtGui module
> dev-python/pyside:X - Build QtGui and QtTest modules
Because they specify in more details what the USE flag does
specifically, in the context of that package.
Such more exact local descriptions are something I at least personally
strongly advocate in favour of.
app-misc/vifm local desc seems redundant though, but the rest listed
here seem useful and necessary.
Mart
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 18:23 ` Mart Raudsepp
@ 2016-05-27 18:28 ` Ian Stakenvicius
0 siblings, 0 replies; 32+ messages in thread
From: Ian Stakenvicius @ 2016-05-27 18:28 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 737 bytes --]
On 27/05/16 02:23 PM, Mart Raudsepp wrote:
> If gtk2 support is removed though, then per gnome policy gtk3 component
> should come with USE=gtk and per QA policy USE=gtk3.
>
> The QA policy is not finalized and completely contradicts our side of
> things, hence discussions are needed, but did not conclude.
> This is a thread to continue this discussion, I suppose.
>
Agreed -- it sounds like gnome and QA need to sit down and come to
concensus, and then we can work out the plan to move forward.
I think as long as the rest of us aren't bound to using only gtk3 if
our packages support gtk2 and we want to maintain said gtk2 support,
we should be fine with whatever decision you two groups come up with.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 18:26 ` Mart Raudsepp
@ 2016-05-27 18:44 ` rindeal
2016-05-27 18:51 ` [gentoo-dev] [RFC] improper use of X Ian Stakenvicius
0 siblings, 1 reply; 32+ messages in thread
From: rindeal @ 2016-05-27 18:44 UTC (permalink / raw
To: gentoo-dev; +Cc: leio
On 27 May 2016 at 20:26, Mart Raudsepp <leio@gentoo.org> wrote:
> Ühel kenal päeval, R, 27.05.2016 kell 14:10, kirjutas
> waltdnes@waltdnes.org:
>> While we're at it, why are there 23 occurences of the "X" useflag
>> in
>> /usr/portage/profiles/use.local.desc when it exists in
>> /usr/portage/profiles/use.desc ??? I'm talking about stuff like...
>>
>> app-misc/vifm:X - Add support for X11
>> dev-libs/m17n-lib:X - Builds the Graphical User Interface API and
>> utilities for the package.
>> dev-libs/wlc:X - Enable X11 backend and XWayland support.
>> dev-python/PyQt4:X - Build bindings for the QtGui module
>> dev-python/pyside:X - Build QtGui and QtTest modules
>
> Because they specify in more details what the USE flag does
> specifically, in the context of that package.
> Such more exact local descriptions are something I at least personally
> strongly advocate in favour of.
> app-misc/vifm local desc seems redundant though, but the rest listed
> here seem useful and necessary.
>
It also clearly shows how is this flag misused:
dev-python/PyQt4:X - Build bindings for the QtGui module
dev-python/pyside:X - Build QtGui and QtTest modules
media-gfx/fbida:X - Install the Motif based image viewer "ida"
media-video/aravis:X - Build the GTK+-based video viewer for aravis.
This requires GStreamer and a few plugins but technically not the GST
plugin for aravis.
net-irc/quassel:X - Build the Qt 4 GUI client for quassel. If this USE
flag is disabled, the GUI is not built, and cannot be used. You might
want to disable this on the server, but you need it enabled on the
client.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] improper use of X
2016-05-27 18:44 ` rindeal
@ 2016-05-27 18:51 ` Ian Stakenvicius
0 siblings, 0 replies; 32+ messages in thread
From: Ian Stakenvicius @ 2016-05-27 18:51 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 794 bytes --]
On 27/05/16 02:44 PM, rindeal wrote:
>
> It also clearly shows how is this flag misused:
>
> dev-python/PyQt4:X - Build bindings for the QtGui module
> dev-python/pyside:X - Build QtGui and QtTest modules
> media-gfx/fbida:X - Install the Motif based image viewer "ida"
> media-video/aravis:X - Build the GTK+-based video viewer for aravis.
> This requires GStreamer and a few plugins but technically not the GST
> plugin for aravis.
> net-irc/quassel:X - Build the Qt 4 GUI client for quassel. If this USE
> flag is disabled, the GUI is not built, and cannot be used. You might
> want to disable this on the server, but you need it enabled on the
> client.
>
Some of those date back rather far, to when IUSE="X" was effectively
the same as the proposed IUSE="gui".
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
` (6 preceding siblings ...)
2016-05-27 18:10 ` waltdnes
@ 2016-05-27 18:57 ` Daniel Campbell
2016-05-27 21:45 ` NP-Hardass
2016-05-27 21:08 ` NP-Hardass
8 siblings, 1 reply; 32+ messages in thread
From: Daniel Campbell @ 2016-05-27 18:57 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 11060 bytes --]
On 05/27/2016 07:21 AM, Mart Raudsepp wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle issues
> with their gtk3 port, or support both, with some of our userbase
> clinging to gtk2 for dubious political or aesthetical reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on what
> we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do we
> name the USE flag.
>
> Historically, for very good reasons in past and present GNOME team
> members opinion, USE=gtk has always meant to mean to provide support
> for gtk in general, not any particular version. This is opposite to
> what the Qt team has been doing.
> In our opinion, in a perfect world, only USE=gtk would exist, and no
> USE=gtk2 or USE=gtk3 would be necessary. But as we don't live in a
> perfect world, we have made use of USE=gtk3 for providing gtk3 support
> from library packages to mean to build gtk3 support. Sadly that
> overloads USE=gtk in many cases to then mean to build gtk2 support.
> This would ideally not be needed, as the package would instead be
> slotted and parallel installable for gtk2 and gtk3, which should be
> theoretically possible in all cases, because gtk2 and gtk3 may not live
> in the same process, so not the same library either.
> Due to some packages needing too much manpower effort to do such a
> split, USE flags are used in such a case.
> Good examples of such slot splits existing are for example the
> libappindicator stack. This used to be the case with almost all GNOME
> libraries as well, but most of them only provide gtk3 now, as gtk2 is,
> well, dead.
> Bad examples would be e.g avahi and gtk-vnc, which deemed too hard to
> split up into separate SLOTs. In some cases it might have been meant as
> a transitional thing, until all consumers are ported to gtk3, but it
> has been lingering on due to consumer apps not being ported or we
> haven't yet noticed to remove the gtk2 support in the library package.
>
> Now these are libraries, and despite some USE flag confusion, it's not
> a huge issue, because consumers are USE depending on what is required.
> This all is written out in
> https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#gtk3
> since the GNOME project pages moving to wiki, and also long before that
> in GuideXML era, and we've pointed people towards that.
>
> And then we have applications that support building against either gtk2
> or gtk3.
> In most cases, any requests to provide the choice to have an
> application use gtk2 instead of gtk3 gets instantly marked as duplicate
> of https://bugs.gentoo.org/374057 but in some cases the maintainer has
> chosen to provide this choice for now, and here is the problem - we
> don't really have a good agreed on way to name such a choice in USE
> flags, if we should provide such a choice at all.
>
> USE=gtk2 is not good, due to the confusion issues with USE=gtk3 and
> USE=gtk and it being problematic. The GNOME team shall probably veto
> such USE flag usage if we are deemed to have such an authority as gtk+
> maintainers, unless we rework it all in expectations of gtk2 corpse
> being carried around for a decade as well... I have quite a few bugs
> against packages to file already for this, afair.
>
> I kind of like what firefox did there, going in the spirit of the
> force-openrc flag we have for avoiding systemd dependency, even if it
> currently means worse user experience. So if we provide such a choice
> for apps at all, I might agree to USE=force-gtk2 for this for apps. And
> we would like to eventually (or immediately) p.use.mask this and once
> it's 2017 and gtk2 truly dead and buried and full of known security
> holes, get rid of it again.
> But this highlighted the inconsistency we are having, ending up with QA
> initiated bug https://bugs.gentoo.org/581662
>
> tl;dr and my proposal would be the following:
>
> * USE=gtk means providing support for GTK+; because we don't have a
> USE=gui, this also means "provide a GUI version built on top of gtk+"
> for packages where a GUI is optional.
>
> * USE=gtk3 may be used only for controlling extra libraries to be
> shipped for gtk3 support (the extra library file will link to gtk3),
> _in addition_ to gtk2 version. This is a temporarily measure until gtk2
> support can be dropped and it will only ship gtk3 version of the
> library. This gives a flag to be able to USE depend on by gtk3 apps.
> This leaves the question about the opposite open, however. This is why
> USE=gtk2 would be bad for apps, maybe we need to use it for this
> library case, when gtk3 version is primary and we just have 1 app
> remaining that needs the gtk2 version or something.
> The concept of library is broad here, covering also gtk theme engines
> (x11-themes/gtk-engine-*, but they shouldn't be hard to split) and
> modules (e.g caribou, libcanberra)
>
> * Applications may only use a gtk2 based stack or gtk3 based stack in a
> given version/revision. gtk3 is strongly preferred when it is deemed to
> not have any regressions compared to gtk2 build, but the choice is
> ultimately with the maintainer. Once the application converts to using
> gtk3 in our distribution, it should try hard to stay that way in
> upcoming versions as well.
>
> * Some exceptions to the above may exist under heavy consideration,
> especially in cases where the toolkit usage is complex and may have
> some issues for some, but in general gtk3 support is deemed good by
> upstream. Most notable here would be browsers like firefox and
> chromium, which are using gtk dependency more for emulating the theme
> it uses, rather than using it as its real toolkit. If such exceptions
> are allowed, the USE flag naming here must be consistent amongst the
> exceptions. My proposal would be USE=force-gtk2 then, as I have no
> better ideas without stomping on the USE=gtk{2,3} historical meaning.
>
>
> When arguing in favor of supporting gtk2 builds more for apps, please
> do keep in mind that gtk2 really is pretty much dead. And no, MATE,
> XFCE and others are NOT continuing its support; they are just slow in
> fully converting to gtk3, but they are doing so and I expect both of
> those to be fully done this year, around autumn.
> If the issue is political or just a general gnome3 or gtk3 hate, then I
> would ask you to keep your political opinions or hate outside this
> thread and go contemplate on more important life issues.
> If the issue is lack of themes, then I would like you to help package
> more gtk3 themes. gtk3.20 now has a stable CSS based theme API and
> themes shouldn't be breaking anymore beyond this point, theoretically.
> And gtk3 theme packages should pretty much just be CSS files and some
> metadata. Though we have yet to get over that bumpy thing yet (a main
> reason gtk3.20 isn't in main tree yet).
>
> Thoughts? Agreements? Suggestions?
> I'm particularly interested in QA opinion here. I believe WilliamH
> wanted to spearhead this from their side.
>
>
> Regards,
> Mart Raudsepp
> Gentoo developer, GNOME team
>
As far as I'm concerned, if any package I maintain offers both gtk2 and
gtk3 support, it would be irresponsible for me to *not* offer that
choice. Gentoo is about flexibility and giving power to the user. Choice
is a central part of that, and basically *the* reason I switched to
Gentoo or bothered to become a developer.
GTK3 might be fine for some, or in some applications. In my experience,
the theme is terrible (and a, frankly, half-assed promise from upstream
that they'll keep the API stable is not reassuring given their history
of quicksand APIs), scrollbars resize and disappear, the file choosing
dialog is worse, and some features from GTK2 were dropped altogether. If
GTK3 was largely a superset of what GTK2 offered, had better theming,
was more stable, etc, I don't think any of us would be debating much
about it. The fact of the matter is GTK3 has been handled poorly by
upstream. That's evidenced by the sheer amount of pushback they've
received from both users and developers, and the fact that yet again
we're having a discussion about dropping GTK2. Some projects that used
to use GTK are also switching to Qt due to the ever-changing APIs. The
LXDE team is one such team as they are working on LXQt.
You mentioned that there are security concerns that haven't been fixed
in GTK2. Can you link to some? If they're so bad, why haven't we seen
GLSAs about them?
You also mentioned that Mate and XFCE won't be supporting GTK2. Got any
links there?
Ultimately I don't care about the USE-flag naming problem. I'm in favor
of USE="gtk" meaning "support the latest gtk version". That's sane and
fair behavior. Using "gtk2" and "gtk3" for library support makes sense,
just like qt4 and qt5. Changing "gtk2" to "force-gtk2" in library
consumers is fine, too. As long as we don't get people telling others
that their choices, as developers or users, aren't important and
attempting to get GTK2 dropped from the tree altogether. If it compiles
and it works, there's no good reason to drop it yet.
I will maintain GTK2 compatibility in any package I maintain until GTK2
simply stops working altogether. It's what the users deserve and is most
representative of my upstreams. If you want to discuss USE flag name
changes, I'm all eyes. As long as we agree on something tree-wide.
Lastly...
> Some exceptions to the above may exist under heavy consideration,
> especially in cases where the toolkit usage is complex and may have
> some issues for some, but in general gtk3 support is deemed good by
> upstream.
Of course upstream is going to say support is good. Consider the source.
If they only write the toolkit and don't build real-world applications,
with real users, around it, how can their opinion be trusted? Also
consider said source's history. No upstream that I've spoken with has
relished working with GTK3. Maybe that will change with 3.20, if it's as
good as GNOME upstream is claiming. I'll be part of the group that sits
and waits. Results matter to me more than empty promises.
Just my two cents.
~zlg
--
Daniel Campbell - Gentoo Developer
OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 17:14 ` Anthony G. Basile
2016-05-27 17:44 ` William Hubbs
2016-05-27 18:23 ` Mart Raudsepp
@ 2016-05-27 19:06 ` Daniel Campbell
2016-05-30 15:17 ` Mart Raudsepp
3 siblings, 0 replies; 32+ messages in thread
From: Daniel Campbell @ 2016-05-27 19:06 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 1210 bytes --]
On 05/27/2016 10:14 AM, Anthony G. Basile wrote:
> On 5/27/16 12:59 PM, rindeal wrote:
>> On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.com> wrote:
>>> I stopped reading after you reminded me it was 2016
>>
>> Good to know, thanks for stopping by.
>>
>
> Yeah the "its <current> year" meme has been making its rounds of the
> internet.
>
> anyhow, my 2017 question is about avahi. right now i have USE=gtk and
> gtk3, where gtk really means gtk2. i'm not going to change that because
> it fits QA's specs. but i could remove it altogether and just drop gtk2
> support for the next release. good idea? bad idea? i guess i'm asking
> whats the status of gtk2 in gentoo seeing as its dead upstream.
>
I use GTK2 whenever possible. I gave 3 a chance, mostly during testing
of my packages and to really see what the big deal was, and was left
wanting. None of the toolkits are really that great, but GTK3 in
particular feels wrong on a desktop computer. It's probably great on a
phone or tablet, like GNOME itself.
--
Daniel Campbell - Gentoo Developer
OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
` (7 preceding siblings ...)
2016-05-27 18:57 ` [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Daniel Campbell
@ 2016-05-27 21:08 ` NP-Hardass
8 siblings, 0 replies; 32+ messages in thread
From: NP-Hardass @ 2016-05-27 21:08 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 1898 bytes --]
On 05/27/2016 10:21 AM, Mart Raudsepp wrote:
> Hello,
>
> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
> upstream, many applications still support only gtk2, have subtle issues
> with their gtk3 port, or support both, with some of our userbase
> clinging to gtk2 for dubious political or aesthetical reasons.
>
> For the latter cases, despite GNOME teams policy and strong preference
> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
> working as good as gtk2), some cases exist where the maintainers want
> to provide such choice. In some cases it is understandable for a short
> while during transition, e.g firefox. In other cases, it is purely for
> the sake of providing the choice of working with a deprecated toolkit,
> apparently.
>
> My highly biased essay aside, we need to finally globally agree on what
> we do in this situation. If we allow this choice at all, only for
> special cases, or widespread. And if this choice is provided, how do we
> name the USE flag.
>
I don't see the benefit of forcing people off of gtk2 to gtk3 when gtk2
is working just fine. gtk2 is entrenched, and will take a while to
migrate apps from. A parallel, why don't we just drop python2.7? It's
old, superseded, and plenty of things support python3.x. I disagree
with this logic. In my opinion, we should remove support for them when
it seems that it has been dropped by a majority of packages or unfixed
security issues make it not worth keeping around. I don't think we are
anywhere near that point.
[...]
> Thoughts? Agreements? Suggestions?
> I'm particularly interested in QA opinion here. I believe WilliamH
> wanted to spearhead this from their side.
>
>
> Regards,
> Mart Raudsepp
> Gentoo developer, GNOME team
>
Flag specific comments to follow in WilliamH's reply.
--
NP-Hardass
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 17:55 ` Anthony G. Basile
@ 2016-05-27 21:09 ` William Hubbs
0 siblings, 0 replies; 32+ messages in thread
From: William Hubbs @ 2016-05-27 21:09 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1444 bytes --]
On Fri, May 27, 2016 at 01:55:41PM -0400, Anthony G. Basile wrote:
> On 5/27/16 1:44 PM, William Hubbs wrote:
> > On Fri, May 27, 2016 at 01:14:17PM -0400, Anthony G. Basile wrote:
> >> On 5/27/16 12:59 PM, rindeal wrote:
> >>> On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.com> wrote:
> >>>> I stopped reading after you reminded me it was 2016
> >>>
> >>> Good to know, thanks for stopping by.
> >>>
> >>
> >> Yeah the "its <current> year" meme has been making its rounds of the
> >> internet.
> >>
> >> anyhow, my 2017 question is about avahi. right now i have USE=gtk and
> >> gtk3, where gtk really means gtk2. i'm not going to change that because
> >> it fits QA's specs. but i could remove it altogether and just drop gtk2
> >> support for the next release. good idea? bad idea? i guess i'm asking
> >> whats the status of gtk2 in gentoo seeing as its dead upstream.
> >
> > From QA's pov, the gtk2 support is up to you, but I also would recommend
> > adding a gtk2 use flag if you keep it around. The idea is to eventually
> > get away from the non-versioned use flag.
>
> It wouldn't be adding, it would be renaming a flag which is possible but
> annoying. Anyhow I'll cross that bridge after the next release of avahi.
Ok, I did mis-speak a bit here. You can keep the gtk use flag, but it
refers to gtk2 only.
The gtk3 use flag should be used for gtk3.
Thanks,
William
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 15:40 ` William Hubbs
2016-05-27 17:28 ` rindeal
2016-05-27 18:23 ` M. J. Everitt
@ 2016-05-27 21:22 ` NP-Hardass
2 siblings, 0 replies; 32+ messages in thread
From: NP-Hardass @ 2016-05-27 21:22 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 2743 bytes --]
On 05/27/2016 11:40 AM, William Hubbs wrote:
> On Fri, May 27, 2016 at 05:21:06PM +0300, Mart Raudsepp wrote:
>> Hello,
>>
>> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
>> upstream, many applications still support only gtk2, have subtle issues
>> with their gtk3 port, or support both, with some of our userbase
>> clinging to gtk2 for dubious political or aesthetical reasons.
>>
>> For the latter cases, despite GNOME teams policy and strong preference
>> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
>> working as good as gtk2), some cases exist where the maintainers want
>> to provide such choice. In some cases it is understandable for a short
>> while during transition, e.g firefox. In other cases, it is purely for
>> the sake of providing the choice of working with a deprecated toolkit,
>> apparently.
>>
>> My highly biased essay aside, we need to finally globally agree on what
>> we do in this situation. If we allow this choice at all, only for
>> special cases, or widespread. And if this choice is provided, how do we
>> name the USE flag.
>
> (qa hat in place)
>
> There is a qa policy about this. All packages in the tree should
> move away from the non-versioned gtk use flag to versioned use flags,
> like the ones the qt team uses [1] [2].
>
> This seems to be the best compromise. It allows the maintainers of the
> packages to decide which toolkit they want to support. If there is too
> much work involved in maintaining a package with dual support, don't do
> the work, just make it support the appropriate toolkit version.
>
> I have not seen any reason why something like this couldn't work. After
> all, it seems to work for the qt team.
>
> William
>
> [1]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Policies#gtk.2Fgtk2.2Fgtk3_USE_flag_situation
> [2]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#GTK_flag_situation
>
Explicit gtk version flags is fine by me:
REQUIRED_USE=" || ( gtk2 gtk3 ) ^^ ( gtk2 gtk3 ) ?? ( gtk2 gtk3 )"
I think an unversioned gtk flag semantically makes and simplifies some
ebuild logic in cases where gtk support is completely optional.
DEPEND="
gtk? (
cat/foo
cat/gorp[gtk2=,gtk3=]
gtk2? (
cat/bar:2
cat/baz[gtk2]
x11-misc/gtk:2
)
gtk3? (
cat/bar:3
x11-misc/gtk:3
)
)
"
So, in summary, I'm content to move away from unversioned gtk flags in
all cases except when using it to describe "optional gtk support" which
is then backed up with versioned gtk flags.
Also, regardless of the decision, I'd be happy to help refactor the tree
to conform with the decision.
--
NP-Hardass
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 18:57 ` [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Daniel Campbell
@ 2016-05-27 21:45 ` NP-Hardass
2016-05-27 22:05 ` Daniel Campbell
0 siblings, 1 reply; 32+ messages in thread
From: NP-Hardass @ 2016-05-27 21:45 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 703 bytes --]
On 05/27/2016 02:57 PM, Daniel Campbell wrote:
> As far as I'm concerned, if any package I maintain offers both gtk2 and
> gtk3 support, it would be irresponsible for me to *not* offer that
> choice. Gentoo is about flexibility and giving power to the user. Choice
> is a central part of that, and basically *the* reason I switched to
> Gentoo or bothered to become a developer.
+1
> You also mentioned that Mate and XFCE won't be supporting GTK2. Got any
> links there?
Not on hand, but as the MATE maintainer, I can tell you that starting
with MATE-1.14, two packages are gtk3 only, and starting with 1.16, four
more are.
> Just my two cents.
>
> ~zlg
>
--
NP-Hardass
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 21:45 ` NP-Hardass
@ 2016-05-27 22:05 ` Daniel Campbell
2016-05-27 22:21 ` NP-Hardass
0 siblings, 1 reply; 32+ messages in thread
From: Daniel Campbell @ 2016-05-27 22:05 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 975 bytes --]
On 05/27/2016 02:45 PM, NP-Hardass wrote:
> On 05/27/2016 02:57 PM, Daniel Campbell wrote:
>> As far as I'm concerned, if any package I maintain offers both gtk2 and
>> gtk3 support, it would be irresponsible for me to *not* offer that
>> choice. Gentoo is about flexibility and giving power to the user. Choice
>> is a central part of that, and basically *the* reason I switched to
>> Gentoo or bothered to become a developer.
>
> +1
>
>> You also mentioned that Mate and XFCE won't be supporting GTK2. Got any
>> links there?
>
> Not on hand, but as the MATE maintainer, I can tell you that starting
> with MATE-1.14, two packages are gtk3 only, and starting with 1.16, four
> more are.
>
>> Just my two cents.
>>
>> ~zlg
>>
>
Aha, thanks for offering that info. Which ones if you don't mind?
--
Daniel Campbell - Gentoo Developer
OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 22:05 ` Daniel Campbell
@ 2016-05-27 22:21 ` NP-Hardass
2016-05-30 20:46 ` Joakim Tjernlund
0 siblings, 1 reply; 32+ messages in thread
From: NP-Hardass @ 2016-05-27 22:21 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 523 bytes --]
On 05/27/2016 06:05 PM, Daniel Campbell wrote:
> On 05/27/2016 02:45 PM, NP-Hardass wrote:
>> Not on hand, but as the MATE maintainer, I can tell you that starting
>> with MATE-1.14, two packages are gtk3 only, and starting with 1.16, four
>> more are.
>>
>
> Aha, thanks for offering that info. Which ones if you don't mind?
>
in 1.14 x11-misc/mozo and mate-extra/mate-system-monitor. Don't have
the 1.16 ones handy as I haven't been able to work on it the last week
(more hw issues)
--
NP-Hardass
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 17:14 ` Anthony G. Basile
` (2 preceding siblings ...)
2016-05-27 19:06 ` Daniel Campbell
@ 2016-05-30 15:17 ` Mart Raudsepp
3 siblings, 0 replies; 32+ messages in thread
From: Mart Raudsepp @ 2016-05-30 15:17 UTC (permalink / raw
To: gentoo-dev
Ühel kenal päeval, R, 27.05.2016 kell 13:14, kirjutas Anthony G.
Basile:
> On 5/27/16 12:59 PM, rindeal wrote:
> > On 27 May 2016 at 18:54, landis blackwell <blackwelllandis@gmail.co
> > m> wrote:
> > > I stopped reading after you reminded me it was 2016
> >
> > Good to know, thanks for stopping by.
> >
>
> Yeah the "its <current> year" meme has been making its rounds of the
> internet.
>
> anyhow, my 2017 question is about avahi. right now i have USE=gtk
> and
> gtk3, where gtk really means gtk2. i'm not going to change that
> because
> it fits QA's specs. but i could remove it altogether and just drop
> gtk2
> support for the next release. good idea? bad idea? i guess i'm
> asking
> whats the status of gtk2 in gentoo seeing as its dead upstream.
Instead you should have 3 packages here.
avahi that ships the non-gtk linking bits.
avahi-gtk2 that ships the gtk2 library.
avahi-gtk3 that ships the gtk3 library.
This wasn't done originally as we lacked the manpower there and hoped
that gtk2 consumers will go away soon anyway. If that isn't the case,
the work should be done long ago. I hear there have been various
dependency issues already anyways due to the splitting not having been
done.
If there are no more avahi-gtk2 consumers, you could drop the gtk2
support altogether and maybe not need the splitting.
Then the question is if you name it USE="gtk" or USE="gtk3" to build
the gtk3 component.
Either way, consumers would USE depend correctly on which they need - I
don't think it's magical, so consumers would always actually link to it
and a clear USE depend can be in place.
So in an ideal world, you wouldn't have any USE=gtk* whatsoever here
anyways.
Mart
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-27 22:21 ` NP-Hardass
@ 2016-05-30 20:46 ` Joakim Tjernlund
2016-06-06 15:37 ` NP-Hardass
0 siblings, 1 reply; 32+ messages in thread
From: Joakim Tjernlund @ 2016-05-30 20:46 UTC (permalink / raw
To: gentoo-dev@lists.gentoo.org
On Fri, 2016-05-27 at 18:21 -0400, NP-Hardass wrote:
> On 05/27/2016 06:05 PM, Daniel Campbell wrote:
> > On 05/27/2016 02:45 PM, NP-Hardass wrote:
> > > Not on hand, but as the MATE maintainer, I can tell you that starting
> > > with MATE-1.14, two packages are gtk3 only, and starting with 1.16, four
> > > more are.
> > >
>
> >
> > Aha, thanks for offering that info. Which ones if you don't mind?
> >
> in 1.14 x11-misc/mozo and mate-extra/mate-system-monitor. Don't have
> the 1.16 ones handy as I haven't been able to work on it the last week
> (more hw issues)
>
NP, there are 2 patches floating on the MATE ml that move the dependency on sys-power/upower-pm-utils
consolekit(suspend/resume is handled by consolekit instead). Wold you be interested to
add those to gentoo MATE?
Jocke
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation
2016-05-30 20:46 ` Joakim Tjernlund
@ 2016-06-06 15:37 ` NP-Hardass
0 siblings, 0 replies; 32+ messages in thread
From: NP-Hardass @ 2016-06-06 15:37 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1.1: Type: text/plain, Size: 556 bytes --]
On 05/30/2016 04:46 PM, Joakim Tjernlund wrote:
>
> NP, there are 2 patches floating on the MATE ml that move the dependency on sys-power/upower-pm-utils
> consolekit(suspend/resume is handled by consolekit instead). Wold you be interested to
> add those to gentoo MATE?
>
> Jocke
>
I'm not terribly fond of the idea of grabbing random patches that bypass
upstream. Would make more sense IMO to convince upstream to make that
toggleable either at runtime by a dconf setting or at compile time via a
configure flag.
--
NP-Hardass
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2016-06-06 15:37 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-27 14:21 [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Mart Raudsepp
2016-05-27 15:02 ` Brian Dolbec
2016-05-27 16:35 ` Canek Peláez Valdés
2016-05-27 17:17 ` Brian Dolbec
2016-05-27 15:34 ` Ian Stakenvicius
2016-05-27 15:40 ` William Hubbs
2016-05-27 17:28 ` rindeal
2016-05-27 18:23 ` M. J. Everitt
2016-05-27 21:22 ` NP-Hardass
2016-05-27 15:56 ` Patrick Lauer
2016-05-27 16:15 ` Austin English
2016-05-27 16:54 ` landis blackwell
2016-05-27 16:59 ` rindeal
2016-05-27 17:14 ` Anthony G. Basile
2016-05-27 17:44 ` William Hubbs
2016-05-27 17:55 ` Anthony G. Basile
2016-05-27 21:09 ` William Hubbs
2016-05-27 18:23 ` Mart Raudsepp
2016-05-27 18:28 ` Ian Stakenvicius
2016-05-27 19:06 ` Daniel Campbell
2016-05-30 15:17 ` Mart Raudsepp
2016-05-27 18:10 ` waltdnes
2016-05-27 18:26 ` Mart Raudsepp
2016-05-27 18:44 ` rindeal
2016-05-27 18:51 ` [gentoo-dev] [RFC] improper use of X Ian Stakenvicius
2016-05-27 18:57 ` [gentoo-dev] [RFC] gtk/gtk2/gtk3 USE flag situation Daniel Campbell
2016-05-27 21:45 ` NP-Hardass
2016-05-27 22:05 ` Daniel Campbell
2016-05-27 22:21 ` NP-Hardass
2016-05-30 20:46 ` Joakim Tjernlund
2016-06-06 15:37 ` NP-Hardass
2016-05-27 21:08 ` NP-Hardass
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox