commit:     1bcdfe6c44f42c2510cf5782200d082dc52ea23d
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  9 18:21:39 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Oct  9 19:29:17 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bcdfe6c

kde-plasma/plasma-desktop: kcms/mouse: Make button rebinding work again

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=506342

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...a-desktop-6.4.5-fix-mousebutton-rebinding.patch |  45 +++++
 .../plasma-desktop/plasma-desktop-6.4.5-r1.ebuild  | 188 +++++++++++++++++++++
 2 files changed, 233 insertions(+)

diff --git 
a/kde-plasma/plasma-desktop/files/plasma-desktop-6.4.5-fix-mousebutton-rebinding.patch
 
b/kde-plasma/plasma-desktop/files/plasma-desktop-6.4.5-fix-mousebutton-rebinding.patch
new file mode 100644
index 000000000000..7611fa48de02
--- /dev/null
+++ 
b/kde-plasma/plasma-desktop/files/plasma-desktop-6.4.5-fix-mousebutton-rebinding.patch
@@ -0,0 +1,45 @@
+From bedc79ee6d396e60800a6ae8c47bc2e153cfa726 Mon Sep 17 00:00:00 2001
+From: David Redondo <[email protected]>
+Date: Wed, 24 Sep 2025 17:23:16 +0200
+Subject: [PATCH] kcms/mouse: Make button rebinding work again
+
+2ec4cdfe92bcba736fa64b4fc6e534cfc15abb59 in Kirigami broke it
+for some reason, event handling code looks the same.
+For now as a workaround we can make the columnview non-interactive
+while listening for mouse buttons.
+BUG:506342
+FIXED-IN:6.4.6
+
+
+(cherry picked from commit 84f1f2f3cd62373b76d759f6a3e95f25b74b97cb)
+
+Co-authored-by: David Redondo <[email protected]>
+
+(cherry picked from commit 756a579f4a925158a485aeff45144b02d5e2145c)
+
+Co-authored-by: David Redondo <[email protected]>
+---
+ kcms/mouse/ui/bindings.qml | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/kcms/mouse/ui/bindings.qml b/kcms/mouse/ui/bindings.qml
+index 4d66fbda80..0abb179d85 100644
+--- a/kcms/mouse/ui/bindings.qml
++++ b/kcms/mouse/ui/bindings.qml
+@@ -31,6 +31,13 @@ KCMUtils.SimpleKCM {
+         hotplugMessage: root.KCMUtils.ConfigModule.hotplugMessage
+     }
+ 
++    Kirigami.ColumnView.onViewChanged: {
++        const view = Kirigami.ColumnView.view
++        if (view) {
++            view.interactive = Qt.binding(() => !newBinding.checked)
++        }
++    }
++
+     MouseArea {
+         // Deliberately using MouseArea on the page instead of a TapHandler 
on the button, so we can capture clicks anywhere
+         id: buttonCapture
+-- 
+2.51.0
+

diff --git a/kde-plasma/plasma-desktop/plasma-desktop-6.4.5-r1.ebuild 
b/kde-plasma/plasma-desktop/plasma-desktop-6.4.5-r1.ebuild
new file mode 100644
index 000000000000..6a350ee1720a
--- /dev/null
+++ b/kde-plasma/plasma-desktop/plasma-desktop-6.4.5-r1.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="true"
+KFMIN=6.16.0
+QTMIN=6.8.1
+inherit ecm plasma.kde.org optfeature xdg
+
+DESCRIPTION="KDE Plasma desktop"
+XORGHDRS="${PN}-override-include-dirs-4"
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${XORGHDRS}.tar.xz";
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="ibus input_devices_wacom scim screencast sdl +semantic-desktop webengine"
+
+RESTRICT="test" # missing selenium-webdriver-at-spi
+
+# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
+# kde-frameworks/kwindowsystem[X]: Uses KX11Extras
+# kde-plasma/plasma-workspace[X]: applets/pager/pagermodel.cpp includes 
xwindowtasksmodel.h
+COMMON_DEPEND="
+       >=dev-qt/qt5compat-${QTMIN}:6[qml]
+       
>=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,gui,network,sql,wayland,widgets,xml]
+       >=dev-qt/qtdeclarative-${QTMIN}:6
+       >=dev-qt/qtsvg-${QTMIN}:6
+       >=kde-frameworks/attica-${KFMIN}:6
+       >=kde-frameworks/karchive-${KFMIN}:6
+       >=kde-frameworks/kauth-${KFMIN}:6
+       >=kde-frameworks/kbookmarks-${KFMIN}:6
+       >=kde-frameworks/kcmutils-${KFMIN}:6
+       >=kde-frameworks/kcodecs-${KFMIN}:6
+       >=kde-frameworks/kcompletion-${KFMIN}:6
+       >=kde-frameworks/kconfig-${KFMIN}:6
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+       >=kde-frameworks/kcoreaddons-${KFMIN}:6
+       >=kde-frameworks/kcrash-${KFMIN}:6
+       >=kde-frameworks/kdbusaddons-${KFMIN}:6
+       >=kde-frameworks/kded-${KFMIN}:6
+       >=kde-frameworks/kglobalaccel-${KFMIN}:6
+       >=kde-frameworks/kguiaddons-${KFMIN}:6
+       >=kde-frameworks/ki18n-${KFMIN}:6
+       >=kde-frameworks/kiconthemes-${KFMIN}:6
+       >=kde-frameworks/kio-${KFMIN}-r1:6
+       >=kde-frameworks/kitemmodels-${KFMIN}:6
+       >=kde-frameworks/kitemviews-${KFMIN}:6
+       >=kde-frameworks/kjobwidgets-${KFMIN}:6
+       >=kde-frameworks/knewstuff-${KFMIN}:6
+       >=kde-frameworks/knotifications-${KFMIN}:6
+       >=kde-frameworks/knotifyconfig-${KFMIN}:6
+       >=kde-frameworks/kpackage-${KFMIN}:6
+       >=kde-frameworks/kparts-${KFMIN}:6
+       >=kde-frameworks/krunner-${KFMIN}:6
+       >=kde-frameworks/kservice-${KFMIN}:6
+       >=kde-frameworks/ksvg-${KFMIN}:6
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+       >=kde-frameworks/kwindowsystem-${KFMIN}:6[X]
+       >=kde-frameworks/kxmlgui-${KFMIN}:6
+       >=kde-frameworks/solid-${KFMIN}:6
+       >=kde-frameworks/sonnet-${KFMIN}:6
+       >=kde-plasma/kwin-${KDE_CATV}:6
+       >=kde-plasma/libksysguard-${KDE_CATV}:6
+       >=kde-plasma/libplasma-${KDE_CATV}:6
+       >=kde-plasma/plasma-activities-${KDE_CATV}:6
+       >=kde-plasma/plasma-activities-stats-${KDE_CATV}:6
+       >=kde-plasma/plasma-workspace-${KDE_CATV}:6[screencast?,X]
+       >=kde-plasma/plasma5support-${KDE_CATV}:6
+       media-libs/libcanberra
+       x11-libs/libX11
+       x11-libs/libxcb
+       x11-libs/libXcursor
+       x11-libs/libXi
+       x11-libs/libxkbcommon
+       x11-libs/libxkbfile
+       ibus? (
+               app-i18n/ibus
+               dev-libs/glib:2
+               x11-libs/xcb-util-keysyms
+       )
+       input_devices_wacom? (
+               dev-libs/wayland
+               dev-libs/libwacom:=
+       )
+       scim? ( app-i18n/scim )
+       sdl? ( media-libs/libsdl2[joystick] )
+       semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:6 )
+       webengine? (
+               kde-apps/kaccounts-integration:6
+               >=net-libs/accounts-qt-1.17[qt6(+)]
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       dev-libs/boost
+       x11-base/xorg-proto
+       input_devices_wacom? ( >=dev-libs/wayland-protocols-1.25 )
+       test? (
+               >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+               >=kde-plasma/kactivitymanagerd-${KDE_CATV}:6
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       !<kde-plasma/plasma-workspace-6.0.80
+       dev-libs/kirigami-addons:6
+       >=kde-frameworks/kirigami-${KFMIN}:6
+       >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+       >=kde-plasma/oxygen-${KDE_CATV}:6
+       >=kde-plasma/plasma-mimeapps-list-3
+       media-fonts/noto-emoji
+       sys-apps/util-linux
+       x11-apps/setxkbmap
+       x11-misc/xdg-user-dirs
+       screencast? ( >=kde-plasma/kpipewire-${KDE_CATV}:6 )
+       webengine? ( >=net-libs/signon-oauth2-0.25_p20210102[qt6(+)] )
+"
+RDEPEND+=" || ( >=dev-qt/qtbase-6.10:6[wayland] <dev-qt/qtwayland-6.10:6 )"
+BDEPEND="
+       dev-util/intltool
+       >=kde-frameworks/kcmutils-${KFMIN}:6
+       virtual/pkgconfig
+       input_devices_wacom? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-6.1.80-override-include-dirs.patch" # downstream 
patch
+       "${FILESDIR}/${P}-fix-mousebutton-rebinding.patch" # KDE-bug 506342, in 
6.4.6
+)
+
+src_prepare() {
+       ecm_src_prepare
+
+       if ! use ibus; then
+               sed -e "s/XCB_XCB_FOUND AND XCB_KEYSYMS_FOUND/false/" \
+                       -i applets/kimpanel/backend/ibus/CMakeLists.txt || die
+       fi
+
+       # TODO: try to get a build switch upstreamed
+       if ! use scim; then
+               sed -e "s/^pkg_check_modules.*SCIM/#&/" -i CMakeLists.txt || die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_KCM_MOUSE_X11=ON
+               -DBUILD_KCM_TOUCHPAD_X11=ON
+               -DXORGLIBINPUT_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+               -DXORGSERVER_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+               -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged
+               $(cmake_use_find_package ibus GLIB2)
+               -DBUILD_KCM_TABLET=$(usex input_devices_wacom)
+               $(cmake_use_find_package sdl SDL2)
+               $(cmake_use_find_package semantic-desktop KF6Baloo)
+               $(cmake_use_find_package webengine AccountsQt6)
+               $(cmake_use_find_package webengine KAccounts6)
+       )
+
+       ecm_src_configure
+}
+
+src_test() {
+       # parallel tests fail, foldermodeltest,positionertest hang, bug #646890
+       # test_kio_fonts needs D-Bus, bug #634166
+       # lookandfeel-kcmTest is unreliable for a long time, bug #607918
+       local myctestargs=(
+               -j1
+               -E 
"(foldermodeltest|positionertest|test_kio_fonts|lookandfeel-kcmTest)"
+       )
+
+       ecm_src_test
+}
+
+src_install() {
+       cmake_src_install
+
+       # Provide kde-mimeapps.list with distribution 
kde-plasma/plasma-mimeapps-list
+       rm "${ED}"/usr/share/applications/kde-mimeapps.list || die
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               optfeature "screen reader support" "app-accessibility/orca"
+       fi
+       xdg_pkg_postinst
+}

Reply via email to