Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 656396

Summary: kde-plasma/plasma-meta-5.12.5 pulls dev-libs/libappindicator:3 with -gtk3
Product: Gentoo Linux Reporter: Kristian Duus Østergaard <duus-gentoobugs>
Component: Current packagesAssignee: Gentoo KDE team <kde>
Status: RESOLVED WONTFIX    
Severity: normal CC: duus-gentoobugs
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ebuild for plasma-meta-5.12.5_p1 that use the gtk3 use flag
metadata.xml for plasma-meta-5.12.5_p1 that use the gtk3 use flag
Manifest for plasma-meta-5.12.5_p1 that use the gtk3 use flag

Description Kristian Duus Østergaard 2018-05-24 11:13:52 UTC
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
Comment 1 Kristian Duus Østergaard 2018-05-24 11:16:17 UTC
Created attachment 532818 [details]
ebuild for plasma-meta-5.12.5_p1 that use the gtk3 use flag
Comment 2 Kristian Duus Østergaard 2018-05-24 11:17:02 UTC
Created attachment 532820 [details]
metadata.xml for plasma-meta-5.12.5_p1 that use the gtk3 use flag
Comment 3 Kristian Duus Østergaard 2018-05-24 11:18:13 UTC
Created attachment 532822 [details]
Manifest for plasma-meta-5.12.5_p1 that use the gtk3 use flag
Comment 4 Andreas Sturmlechner gentoo-dev 2018-05-24 11:46:36 UTC
It didn't occur to you to simply switch off USE=gtk?
Comment 5 Andreas Sturmlechner gentoo-dev 2018-05-24 11:48:05 UTC
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
Comment 6 Andreas Sturmlechner gentoo-dev 2018-05-24 11:51:46 UTC
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.
Comment 7 Andreas Sturmlechner gentoo-dev 2018-05-24 13:19:04 UTC
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
Comment 8 Kristian Duus Østergaard 2018-05-26 04:18:27 UTC
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.
Comment 9 Andreas Sturmlechner gentoo-dev 2018-05-26 07:34:42 UTC
(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.
Comment 10 Kristian Duus Østergaard 2018-05-27 01:24:37 UTC
(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
Comment 11 Andreas Sturmlechner gentoo-dev 2018-05-27 05:49:27 UTC
(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.
Comment 12 Andreas Sturmlechner gentoo-dev 2018-06-02 09:41:05 UTC
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.'