Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Avoiding GTK3
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
palacs
n00b
n00b


Joined: 20 Apr 2017
Posts: 4

PostPosted: Thu Apr 20, 2017 1:42 pm    Post subject: Avoiding GTK3 Reply with quote

Hi,

I'm thinking of migrating from CentOS 6 to Gentoo stable. One of the things I really liked about CentOS 6 that it did not have GTK3 which I find bloated and messed up (old themes do not work and are not ported well). I've read about USE= flags in Gentoo and also seen examples about the gtk3 flag.

Can keep my system completely gtk3-free?

What will happen if a package I want to install is dependent on gtk3 (e.g. Xfce)? Will emerge use an old version of the package?

If emerge can use an older version that is for gtk2, how long will this work?
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 6966
Location: Saint Amant, Acadiana

PostPosted: Thu Apr 20, 2017 1:43 pm    Post subject: Reply with quote

If a package depends on GTK3 it will be pulled in.
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
palacs
n00b
n00b


Joined: 20 Apr 2017
Posts: 4

PostPosted: Thu Apr 20, 2017 2:02 pm    Post subject: Reply with quote

Yeah, that's obvious.

My question is that how can I prevent emerge to pull in GTK3 for Xfce when Xfce for GTK3 gets into the stable branch?
Back to top
View user's profile Send private message
xaviermiller
Administrator
Administrator


Joined: 23 Jul 2004
Posts: 7898
Location: ~Brussels - Belgique

PostPosted: Thu Apr 20, 2017 2:04 pm    Post subject: Reply with quote

You have to mask gtk+3 and all versions that hard-depend on it.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
palacs
n00b
n00b


Joined: 20 Apr 2017
Posts: 4

PostPosted: Thu Apr 20, 2017 2:25 pm    Post subject: Reply with quote

Will this result in Xfce receiving no more updates at all?
Back to top
View user's profile Send private message
cboldt
l33t
l33t


Joined: 24 Aug 2005
Posts: 829

PostPosted: Thu Apr 20, 2017 2:34 pm    Post subject: Reply with quote

Possible or not depends on the packages you want to install.

I kept gtk+:3 off my systems until recently. firefox built with gtk+:2 crashed several times a day. I tried firefox-bin. It didn't crash but it "looked different," not bad, just different. When firefox-bin was unmasked to v52, it pulled in pulseaudio, which I also avoid. A jury-rigged ebuild to avoid pulsaudio resulted in no AV from firefox-bin, so I removed the gtk2 USEflag from a firefox build. Built firefox v52 with gtk+:3, and it does not crash.

The root cause is perhaps something other than the diff between gtk+:2 and gtk+:3, but I will say that I rebuilt literally everything that firefox and its dependencies could depend on (emerge -e firefox), and with the gtk2 USEflag, it still crashed. I am annoyed with this outcome, but can live with it. I'd appreciate any tips to resolve it.

The only other package that depends on gtk+:3 on my systems is ghostscript-gpl, and that is NOT a hard dependency. On a system that has gtk+:3, ghostscript-gpl builds with it. On a system that ONLY has gtk+:2, ghostscrpit-gpl happily builds with that.

With regard to xfce, I think its "gtk3" USEflag will control.

Edit to add, gtk+:3 is NOW in the stable branch.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6825
Location: Austria

PostPosted: Thu Apr 20, 2017 3:17 pm    Post subject: Reply with quote

cboldt wrote:
I kept gtk+:3 off my systems until recently. firefox built with gtk+:2 crashed several times a day. I tried firefox-bin. It didn't crash but it "looked different," not bad, just different. When firefox-bin was unmasked to v52, it pulled in pulseaudio, which I also avoid. A jury-rigged ebuild to avoid pulsaudio resulted in no AV from firefox-bin, so I removed the gtk2 USEflag from a firefox build. Built firefox v52 with gtk+:3, and it does not crash.

I'm sure that's not gtk+2 related - at least it works perfectly fine here.

I don't have GTK+3 installed, which is no problem because I'm using Plasma-5 - obviously. Any rolling release distro is a bad choice if you want to keep using Xfce at an old version (that does not require GTK+3).
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
palacs
n00b
n00b


Joined: 20 Apr 2017
Posts: 4

PostPosted: Thu Apr 20, 2017 5:17 pm    Post subject: Reply with quote

I'm afraid I'm stuck on CentOS 6 for the next couple of years. :? Fortunately there is no GTK3, nor pulseaudio, no system, just a fast and stable system which is well tested and all bug fixes and security fixes are ported back. So the system is just becoming more and more stable, that's why I like LTS. However, I would also like the concept of compiling my packages for the exact hardware I use and thus achieve some performance improvement.

I know the disadvantage of rolling releases still I thought Gentoo's focus has always been customizability. And if I have a customizable OS, then I can tell it what packages to keep back. However my question would be that could the ebuild system trace the version of all packages, that are dependent on GTK3, and then find the last avilable version for GTK2, then stick to them? Or do I need to do this by hand?
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2546

PostPosted: Thu Apr 20, 2017 7:38 pm    Post subject: Reply with quote

If you mask gtk3 portage will inform you automagically anytime new or updated software requires it.

However, rather than sticking with obsolete packages I would recommend rerouting. There are plenty of options for 90% of tasks so choosing one that doesn't have the gtk3 deps shouldn't be too difficult.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1692

PostPosted: Thu Apr 20, 2017 7:50 pm    Post subject: Reply with quote

Gtk+2 and gtk+3 are two completely different API's that are not inter-changable, so you can't just swap the 2 around unless the package was programed to use both. The dependencies in the ebuilds are (or should be) set to list all of the dependencies that upstream has specified. If upstream says they won't support gtk+2 for their package, then portage has no choice but to accept that. As far as keeping track, gtk+ is slotted, meaning you can have both gtk+2 and gtk+3 installed at the same time; using slot 2 and slot 3 respectively. Generally, there will be a USE flag to control a conditional dependency like gtk+2 or gtk+3 to be used (again assuming the devs did it right). If you don't get a choice on if it uses gtk+3, then it's not going to have an USE flag (hence being an unconditional dependency).
Back to top
View user's profile Send private message
stqn
n00b
n00b


Joined: 07 Apr 2015
Posts: 49

PostPosted: Fri Apr 21, 2017 12:22 pm    Post subject: Reply with quote

Staying on old software versions to avoid Gtk3 can work for a while but not forever. For example I have masked subtitleeditor 0.5 and above because it started using Gtk3, but I just tried to run it and it fails. Trying to rebuild it with "emerge subtitleeditor" fails because the ebuild for the version I’m using is no longer in portage. "eix subtitleeditor" doesn’t even tell me which version I have installed (I guess I should have copied the ebuild to my local overlay…).

As The Doctor said it’s a better solution to switch to software that doesn’t use Gtk. I switched from Xfce to LXQt for that reason and I don’t regret it (OpenBox actually solved one or two issues I had with Xfwm4).
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10306
Location: Córdoba (Spain)

PostPosted: Fri Apr 21, 2017 2:19 pm    Post subject: Reply with quote

Some packages do suppert gtk2 upstream (for how long, that's uncertain). Xfce and bluefish, for example, do. So, it's a matter of swapping the gtk version and a build flag in the ebuild to get them to compile against gtk2. You can keep that in your local overlay for as long as you want. Same goes for gtk2 itself if/when it get masked and, after that, eliminated from the official tree.

As long as you can (re)compile it using the installed gcc and libs, you will be fine. That can be years or decades, who knows.

Gentoo being rolling release shouldn't be much of a problem since you can overlay whatever you want to preserve.

You gotta keep the pieces yourself, of course.
_________________
Gentoo Handbook | My website
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2583

PostPosted: Sat Apr 22, 2017 8:21 am    Post subject: Reply with quote

and it looks like also firefox were dropping gtk2 support
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6825
Location: Austria

PostPosted: Sat Apr 22, 2017 8:24 am    Post subject: Reply with quote

Yes, only ESR is buying us some time.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum