Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 672520 - kde-misc/yakuake should not depend on kwayland
Summary: kde-misc/yakuake should not depend on kwayland
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-04 19:38 UTC by Logan Perkins
Modified: 2023-04-22 12:06 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Logan Perkins 2018-12-04 19:38:41 UTC
kde-misc/yakuake-3.0.5 ebuild depends on kwayland, which is only required on systems using Wayland.  Removing the dependency allows building and running yakuake on X11 systems.  The dependency is created on line 34 of the ebuild.

Possibly the most proper solution would be to use the wayland USE flag, if the dependency is actually required on Wayland based systems.
Comment 1 Andreas Sturmlechner gentoo-dev 2018-12-04 19:56:17 UTC
Believe it or not, but this dependency is not for wayland support. It is actually for absolute positioning support of yakuake, which is supported by 'compositors supporting the PlasmaShell protocol' - which is likely limited to KWin.

So while you can make the dependency optional, what you lose is a feature that is also relevant while in an X session.
Comment 2 Logan Perkins 2018-12-04 20:19:14 UTC
If I understand correctly, kwayland gives an extra feature to yakuake, when yakuake is running on KWin or another PlasmaShell.  yakuake will detect kwayland at compile time, via CMake, in order to enable this functionality.  

kde-plasma/kwin-5.14.4.ebuild also depends on kwayland, so if kwin is installed, the user should already have kwayland.  What is the benefit to also listing kwayland as a dependency for yakuake, given that yakuake runs happily on other desktop environments?  

The problem I see would be if yakuake is built before kwin, then yakuake might get built without kwayland.  I'm not sure what the proper solution here is.
Comment 3 Andreas Sturmlechner gentoo-dev 2018-12-04 20:28:04 UTC
You are describing a transitive dependency, which this is not - but Gentoo disallows this anyway, dependencies must be explicit. kwayland is listed as dependency because yakuake's build system is checking for that, indeed.
Comment 4 Logan Perkins 2018-12-04 20:56:50 UTC
So, if the kwayland dependency is predicated on a use flag, would that require making yakuake ignore kwayland if kwayland is installed but not selected?  To make the outcome independent of the package build order, I would think it would.  This can be done by adding -DCMAKE_DISABLE_FIND_PACKAGE_KF5Wayland=ON to the cmake command during configure.
Comment 5 Andreas Sturmlechner gentoo-dev 2018-12-04 20:58:36 UTC
Yes, indeed. The only question is how we would name the USE flag, as 'wayland' does not describe the function well at all.
Comment 6 Logan Perkins 2018-12-04 21:13:35 UTC
One obvious choice would be absolute_positioning, but I suspect that is just the first fancy feature kwayland adds, there will probably be more in the future.  According to the git commit comments adding kwayland as an optional dependency, it is used to create a PlasmaShellSurface, via the PlasmaShell protocol.  I would think a USE flag derived from the protocol name would be appropriate, perhaps plasma-shell.  As near as I can tell, it's not currently used by any other packages, so it's unlikely to cause issues with someone having it set globally, and should be obvious that it does something for yakuake operating with KDE Plasma.
Comment 7 Larry the Git Cow gentoo-dev 2018-12-04 22:26:16 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/kde.git/commit/?id=a81db9f5a1c5af77abb62563dd5b98ce4b6b20b4

commit a81db9f5a1c5af77abb62563dd5b98ce4b6b20b4
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-12-04 21:53:17 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-12-04 21:53:17 +0000

    kde-misc/yakuake: Add USE absolute-position, X
    
    Bug: https://bugs.gentoo.org/672520
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 kde-misc/yakuake/metadata.xml        |  3 +++
 kde-misc/yakuake/yakuake-9999.ebuild | 21 ++++++++++++++++-----
 2 files changed, 19 insertions(+), 5 deletions(-)
Comment 8 Andreas Sturmlechner gentoo-dev 2018-12-04 23:22:59 UTC
(In reply to Logan Perkins from comment #6)
> One obvious choice would be absolute_positioning
I went for something similar, this is currently in overlay for testing in addition to a new X flag making libX11 and qtx11extras optional.
Comment 9 Logan Perkins 2018-12-05 00:58:05 UTC
That appears to work.  I can test it on a wayland box later and see how it handles USE=-X 

Should the absolute-position flag be enabled by default?  I don't know how commonly yakuake is used independent of KWin, but I would think anyone running the rest of the KDE suite would want it enabled.

Also, I believe it must have at least one of X or Wayland, which we might want to reflect in the ebuild.
Comment 10 Andreas Sturmlechner gentoo-dev 2018-12-05 00:59:38 UTC
(In reply to Logan Perkins from comment #9)
> Should the absolute-position flag be enabled by default?  I don't know how
> commonly yakuake is used independent of KWin
This is best done by package.use in plasma profile.

(In reply to Logan Perkins from comment #9)
> Also, I believe it must have at least one of X or Wayland, which we might
> want to reflect in the ebuild.
That's not clear at all but will need to be tested.
Comment 11 Logan Perkins 2018-12-05 01:16:40 UTC
(In reply to Andreas Sturmlechner from comment #10)
> (In reply to Logan Perkins from comment #9)
> > Should the absolute-position flag be enabled by default?  I don't know how
> > commonly yakuake is used independent of KWin
> This is best done by package.use in plasma profile.

That makes sense.

> (In reply to Logan Perkins from comment #9)
> > Also, I believe it must have at least one of X or Wayland, which we might
> > want to reflect in the ebuild.
> That's not clear at all but will need to be tested.

Apparently not.  I just merged it with both flags disabled and it still runs on top of X11.  No mention in the log of anything missing either.  Looks like yakuake uses some KF5 libraries for windowing, so doesn't need X11 directly.
Comment 12 Larry the Git Cow gentoo-dev 2018-12-22 14:02:58 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f8fce40fe9e5386460dc4246360e60bc486787b

commit 8f8fce40fe9e5386460dc4246360e60bc486787b
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-12-22 13:12:07 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-12-22 14:02:03 +0000

    kde-misc/yakuake: Add USE absolute-position, X
    
    Add several post-release fixes while at it.
    
    Closes: https://bugs.gentoo.org/672520
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 kde-misc/yakuake/Manifest                |  1 +
 kde-misc/yakuake/metadata.xml            |  9 ++---
 kde-misc/yakuake/yakuake-3.0.5-r1.ebuild | 65 ++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+), 6 deletions(-)