commit:     a5355d9c719f407dc300af8412348bbe3fe4ba52
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 28 21:07:25 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 29 00:32:57 2024 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=a5355d9c

kde-plasma/kwin: set cap_sys_nice=ep on kwin_wayland

Closes: https://bugs.gentoo.org/941628
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 kde-plasma/kwin/kwin-6.2.49.9999.ebuild | 16 ++++++++++++----
 kde-plasma/kwin/kwin-9999.ebuild        | 16 ++++++++++++----
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/kde-plasma/kwin/kwin-6.2.49.9999.ebuild 
b/kde-plasma/kwin/kwin-6.2.49.9999.ebuild
index 3f811cdb2c..a9937c0712 100644
--- a/kde-plasma/kwin/kwin-6.2.49.9999.ebuild
+++ b/kde-plasma/kwin/kwin-6.2.49.9999.ebuild
@@ -8,14 +8,14 @@ ECM_TEST="true"
 KFMIN=6.6.0
 PVCUT=$(ver_cut 1-3)
 QTMIN=6.7.2
-inherit ecm plasma.kde.org
+inherit ecm fcaps plasma.kde.org
 
 DESCRIPTION="Flexible, composited Window Manager for windowing systems on 
Linux"
 
 LICENSE="GPL-2+"
 SLOT="6"
 KEYWORDS=""
-IUSE="accessibility +caps gles2-only lock screencast +shortcuts systemd"
+IUSE="accessibility gles2-only lock screencast +shortcuts systemd"
 
 RESTRICT="test"
 
@@ -106,7 +106,6 @@ DEPEND="${COMMON_DEPEND}
        >=dev-qt/qtwayland-${QTMIN}:6
        x11-base/xorg-proto
        x11-libs/xcb-util-image
-       caps? ( sys-libs/libcap )
        test? ( screencast? ( >=kde-plasma/kpipewire-${PVCUT}:6 ) )
 "
 BDEPEND="
@@ -115,6 +114,10 @@ BDEPEND="
        >=kde-frameworks/kcmutils-${KFMIN}:6
 "
 
+# https://bugs.gentoo.org/941628
+# -m 0755 to avoid suid with USE="-filecaps"
+FILECAPS=( -m 0755 cap_sys_nice=ep usr/bin/kwin_wayland )
+
 src_prepare() {
        ecm_src_prepare
 
@@ -134,10 +137,15 @@ src_configure() {
                # TODO: KWIN_BUILD_X11=$(usex xwayland) 
KWIN_BUILD_X11_BACKEND=$(usex X)
                # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still 
hard-depends on it
                $(cmake_use_find_package accessibility QAccessibilityClient6)
-               $(cmake_use_find_package caps Libcap)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Libcap=ON
                -DKWIN_BUILD_SCREENLOCKER=$(usex lock)
                -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts)
        )
 
        ecm_src_configure
 }
+
+pkg_postinst() {
+       ecm_pkg_postinst
+       fcaps_pkg_postinst
+}

diff --git a/kde-plasma/kwin/kwin-9999.ebuild b/kde-plasma/kwin/kwin-9999.ebuild
index 7d43c4d6b4..fe4ce40143 100644
--- a/kde-plasma/kwin/kwin-9999.ebuild
+++ b/kde-plasma/kwin/kwin-9999.ebuild
@@ -8,14 +8,14 @@ ECM_TEST="true"
 KFMIN=9999
 PVCUT=$(ver_cut 1-3)
 QTMIN=6.7.2
-inherit ecm plasma.kde.org
+inherit ecm fcaps plasma.kde.org
 
 DESCRIPTION="Flexible, composited Window Manager for windowing systems on 
Linux"
 
 LICENSE="GPL-2+"
 SLOT="6"
 KEYWORDS=""
-IUSE="accessibility +caps gles2-only lock screencast +shortcuts systemd"
+IUSE="accessibility gles2-only lock screencast +shortcuts systemd"
 
 RESTRICT="test"
 
@@ -106,7 +106,6 @@ DEPEND="${COMMON_DEPEND}
        >=dev-qt/qtwayland-${QTMIN}:6
        x11-base/xorg-proto
        x11-libs/xcb-util-image
-       caps? ( sys-libs/libcap )
        test? ( screencast? ( >=kde-plasma/kpipewire-${PVCUT}:6 ) )
 "
 BDEPEND="
@@ -115,6 +114,10 @@ BDEPEND="
        >=kde-frameworks/kcmutils-${KFMIN}:6
 "
 
+# https://bugs.gentoo.org/941628
+# -m 0755 to avoid suid with USE="-filecaps"
+FILECAPS=( -m 0755 cap_sys_nice=ep usr/bin/kwin_wayland )
+
 src_prepare() {
        ecm_src_prepare
 
@@ -134,10 +137,15 @@ src_configure() {
                # TODO: KWIN_BUILD_X11=$(usex xwayland) 
KWIN_BUILD_X11_BACKEND=$(usex X)
                # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still 
hard-depends on it
                $(cmake_use_find_package accessibility QAccessibilityClient6)
-               $(cmake_use_find_package caps Libcap)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Libcap=ON
                -DKWIN_BUILD_SCREENLOCKER=$(usex lock)
                -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts)
        )
 
        ecm_src_configure
 }
+
+pkg_postinst() {
+       ecm_pkg_postinst
+       fcaps_pkg_postinst
+}

Reply via email to