When doing a routine upgrade of Plasma I was asked to add gtk3 to libdbusmenu even though I have default/linux/amd64/17.0/desktop/plasma as my default profile and a global USE flag -gtk3 Reproducible: Always Steps to Reproduce: 1. emerge -puDNt =kde-plasma/plasma-meta-5.12.5:5 2. 3. Actual Results: $ emerge -puDNt =kde-plasma/plasma-meta-5.12.5:5 These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild U ] kde-plasma/plasma-meta-5.12.5 [5.11.5] USE="legacy-systray%*" [ebuild U ] kde-plasma/kdeplasma-addons-5.12.5 [5.11.5] USE="-dictionary%" [ebuild U ] kde-plasma/systemsettings-5.12.5 [5.11.5] [ebuild U ] kde-plasma/powerdevil-5.12.5 [5.11.5] [ebuild U ] kde-plasma/plasma-desktop-5.12.5-r1 [5.11.5] [ebuild U ] kde-plasma/kscreen-5.12.5 [5.11.5] [ebuild U ] kde-plasma/kmenuedit-5.12.5 [5.11.5] [ebuild U ] kde-plasma/oxygen-5.12.5 [5.11.5] [ebuild U ] kde-plasma/khotkeys-5.12.5 [5.11.5] [ebuild NS ] dev-libs/libappindicator-12.10.0-r301 [12.10.0-r201] USE="introspection" ABI_X86="32 (64) (-x32)" [ebuild R ] dev-libs/libdbusmenu-12.10.2-r2 USE="gtk3*" The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by dev-libs/libappindicator-12.10.0-r301::gentoo # required by kde-plasma/plasma-meta-5.12.5::gentoo[legacy-systray,gtk] # required by @selected # required by @world (argument) >=dev-libs/libdbusmenu-12.10.2-r2 gtk3 Expected Results: emerge -puDNt =kde-plasma/plasma-meta-5.12.5_p1:5 These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild U ] kde-plasma/plasma-meta-5.12.5_p1 [5.11.5] USE="legacy-systray%* -gtk3%" [ebuild U ] kde-plasma/kdeplasma-addons-5.12.5 [5.11.5] USE="-dictionary%" [ebuild U ] kde-plasma/systemsettings-5.12.5 [5.11.5] [ebuild U ] kde-plasma/powerdevil-5.12.5 [5.11.5] [ebuild U ] kde-plasma/plasma-desktop-5.12.5-r1 [5.11.5] [ebuild U ] kde-plasma/kscreen-5.12.5 [5.11.5] [ebuild U ] kde-plasma/kmenuedit-5.12.5 [5.11.5] [ebuild U ] kde-plasma/oxygen-5.12.5 [5.11.5] [ebuild U ] kde-plasma/khotkeys-5.12.5 [5.11.5] I will attach a fixed ebuild and metadata.xml
Created attachment 532818 [details] ebuild for plasma-meta-5.12.5_p1 that use the gtk3 use flag
Created attachment 532820 [details] metadata.xml for plasma-meta-5.12.5_p1 that use the gtk3 use flag
Created attachment 532822 [details] Manifest for plasma-meta-5.12.5_p1 that use the gtk3 use flag
It didn't occur to you to simply switch off USE=gtk?
Here are your relevant USE flags on plasma-meta: $ equery u plasma-meta - - gtk : Enable Breeze widget style and KCM for GTK2 and GTK3 - - legacy-systray : Add support for GTK+ applications using legacy xembed systray icons
And here are the dependencies for kde-gtk-config which you did not switch off: $ equery g kde-plasma/kde-gtk-config * dependency graph for kde-plasma/kde-gtk-config-5.12.5 `-- kde-plasma/kde-gtk-config-5.12.5 `-- x11-libs/gtk+-2.24.32 `-- x11-libs/gtk+-3.22.30 So you still have gtk+3 being pulled in.
Bottom line, USE gtk3 makes no sense for plasma-meta-5.12.5 ebuild when kde-gtk-config hard-depends on both GTKs, and even gtk+:2 indirectly depends on gtk+:3 at this point. IF you want to avoid libappindicator:3 for some reason, then: - disable plasma-meta[legacy-systray] - emerge --noreplace libappindicator:2
My fix really does fix an unnecessary dependency on gtk+:3 gtk+:2 has a dependency on gtk+:3 if and ONLY if gnome-base/librsvg is built with the tools flag. As for kde-plasma/kde-gtk-config it seems to me that the CMakeLists.txt does not follow the recommendation to be distribution friendly and I think it can be modified relatively easy to _not_ depend on gtk+:3. As for disabling gtk/gtk2 - I use LibreOffice, which is only now getting a Qt5 interface, but have worked fine with the gtk2 interface. I am a firm believer in not installing something that I don't need but I admit gtk+:3 had slipped past me. I will see if I can fix the CMakeLists.txt of kde-plasma/kde-gtk-config tomorrow.
(In reply to Kristian Duus Østergaard from comment #8) > gtk+:2 has a dependency on gtk+:3 if and ONLY if gnome-base/librsvg is built > with the tools flag. GTK+2 depends on adwaita-icon-theme. adwaita-icon-theme depends on GTK+3. > As for kde-plasma/kde-gtk-config it seems to me that the CMakeLists.txt does > not follow the recommendation to be distribution friendly and I think it can > be modified relatively easy to _not_ depend on gtk+:3. > ... > I will see if I can fix the CMakeLists.txt of kde-plasma/kde-gtk-config > tomorrow. Good luck with that, patches are certainly welcome if upstreamable. > I am a firm believer in not installing something that I don't need I've already showed you how to circumvent that.
(In reply to Andreas Sturmlechner from comment #9) > (In reply to Kristian Duus Østergaard from comment #8) > > gtk+:2 has a dependency on gtk+:3 if and ONLY if gnome-base/librsvg is built > > with the tools flag. > GTK+2 depends on adwaita-icon-theme. > adwaita-icon-theme depends on GTK+3. x11-themes/adwaita-icon-theme-3.22.0-r2 does not depend on GTK+3 and it is still higher that the requirement of x11-themes/adwaita-icon-theme-3.14 x11-themes/adwaita-icon-theme-3.24 does require GTK+3
(In reply to Kristian Duus Østergaard from comment #10) > x11-themes/adwaita-icon-theme-3.22.0-r2 does not depend on GTK+3 and it is > still higher that the requirement of x11-themes/adwaita-icon-theme-3.14 That does not really matter: 1) 3.22 will be gone soon. 2) All stable uers get this update automtically unless they mask 3.24. 3) Considering that, switching off plasma-meta[legacy-systray] is much simpler.
Please open per-package bugs once you have patches for them. Until the gtk+ situation itself is solved though, the answer to $summary remains 'yes, it does.'