commit:     bf8be6c305870594df1950c3f8521ee94e8b9cf7
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 19:57:42 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 20:03:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf8be6c3

kde-plasma/plasma-desktop: Backport IUSE input_devices_wacom to 6.2

Bug: https://bugs.gentoo.org/942817
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../plasma-desktop-6.2.3-tablet-kcm-optional.patch |  93 +++++++++++
 .../plasma-desktop/plasma-desktop-6.2.3-r1.ebuild  | 183 +++++++++++++++++++++
 2 files changed, 276 insertions(+)

diff --git 
a/kde-plasma/plasma-desktop/files/plasma-desktop-6.2.3-tablet-kcm-optional.patch
 
b/kde-plasma/plasma-desktop/files/plasma-desktop-6.2.3-tablet-kcm-optional.patch
new file mode 100644
index 000000000000..b0d2f512ed9e
--- /dev/null
+++ 
b/kde-plasma/plasma-desktop/files/plasma-desktop-6.2.3-tablet-kcm-optional.patch
@@ -0,0 +1,93 @@
+From 5296ef03a9b14a6a9324d506d04f78e61e8512f6 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Mon, 4 Nov 2024 23:15:19 +0100
+Subject: [PATCH] cmake: Add BUILD_KCM_TABLET option to conditionalise Wayland
+ deps
+
+Follow-up to 240ca31717ebed55e43ffaf6ac906dea07e9f4c6
+
+Signed-off-by: Andreas Sturmlechner <[email protected]>
+(cherry picked from commit 8f0e9b4d625024469b4fbd0468e767e45b464872)
+---
+ CMakeLists.txt      | 30 ++++++++++++++++++------------
+ kcms/CMakeLists.txt |  5 ++++-
+ 2 files changed, 22 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6f764d1ef4..8222cfaed5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,6 +40,7 @@ option(BUILD_KCM_MOUSE_KWIN_WAYLAND "Build the Mouse KCM's 
KWin+Wayland backend"
+ option(BUILD_KCM_MOUSE_X11 "Build the Mouse KCM's X11 backend" ON)
+ option(BUILD_KCM_TOUCHPAD_KWIN_WAYLAND "Build the Touchpad KCM's KWin+Wayland 
backend" ON)
+ option(BUILD_KCM_TOUCHPAD_X11 "Build the Touchpad KCM's X11 backend" ON)
++option(BUILD_KCM_TABLET "Build the Tablet KCM" ON)
+ 
+ find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+     Quick
+@@ -51,7 +52,10 @@ find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED 
COMPONENTS
+     Core5Compat
+     Sql # kcms/activities
+ )
+-find_package(Qt6 ${QT_MIN_VERSION} CONFIG OPTIONAL_COMPONENTS WaylandClient)
++
++if(BUILD_KCM_TABLET)
++    find_package(Qt6WaylandClient ${QT_MIN_VERSION} CONFIG REQUIRED)
++endif()
+ 
+ find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
+     Auth
+@@ -139,17 +143,19 @@ set_package_properties(KF6QQC2DesktopStyle PROPERTIES
+     TYPE RUNTIME
+ )
+ 
+-find_package(WaylandProtocols 1.25)
+-set_package_properties(WaylandProtocols PROPERTIES
+-    TYPE REQUIRED
+-    PURPOSE "Collection of Wayland protocols that add functionality not 
available in the Wayland core protocol"
+-    URL "https://gitlab.freedesktop.org/wayland/wayland-protocols/";
+-)
+-find_package(Wayland 1.2)
+-set_package_properties(Wayland PROPERTIES
+-    TYPE REQUIRED
+-    PURPOSE "Required for building Tablet input KCM"
+-)
++if(BUILD_KCM_TABLET)
++    find_package(WaylandProtocols 1.25)
++    set_package_properties(WaylandProtocols PROPERTIES
++        TYPE REQUIRED
++        PURPOSE "Collection of Wayland protocols that add functionality not 
available in the Wayland core protocol"
++        URL "https://gitlab.freedesktop.org/wayland/wayland-protocols/";
++    )
++    find_package(Wayland 1.2)
++    set_package_properties(Wayland PROPERTIES
++        TYPE REQUIRED
++        PURPOSE "Required for building Tablet input KCM"
++    )
++endif()
+ 
+ find_package(SDL2 2.0.16)
+ set_package_properties(SDL2 PROPERTIES
+diff --git a/kcms/CMakeLists.txt b/kcms/CMakeLists.txt
+index 5b204a7c19..cea880c139 100644
+--- a/kcms/CMakeLists.txt
++++ b/kcms/CMakeLists.txt
+@@ -26,7 +26,6 @@ add_subdirectory(kded)
+ add_subdirectory(runners)
+ add_subdirectory(spellchecking)
+ add_subdirectory(qtquicksettings)
+-add_subdirectory(tablet)
+ add_subdirectory(touchscreen)
+ 
+ add_subdirectory(workspaceoptions)
+@@ -42,3 +41,7 @@ endif()
+ if (BUILD_KCM_TOUCHPAD_KWIN_WAYLAND OR BUILD_KCM_TOUCHPAD_X11)
+     add_subdirectory(touchpad)
+ endif()
++
++if(BUILD_KCM_TABLET)
++    add_subdirectory(tablet)
++endif()
+-- 
+2.47.0
+

diff --git a/kde-plasma/plasma-desktop/plasma-desktop-6.2.3-r1.ebuild 
b/kde-plasma/plasma-desktop/plasma-desktop-6.2.3-r1.ebuild
new file mode 100644
index 000000000000..429089f8e01a
--- /dev/null
+++ b/kde-plasma/plasma-desktop/plasma-desktop-6.2.3-r1.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="true"
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org optfeature
+
+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 ~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
+COMMON_DEPEND="
+       dev-libs/icu:=
+       >=dev-qt/qt5compat-${QTMIN}:6[qml]
+       >=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,gui,network,sql,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}: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-${PVCUT}:6
+       >=kde-plasma/libksysguard-${PVCUT}:6
+       >=kde-plasma/libplasma-${PVCUT}:6
+       >=kde-plasma/plasma-activities-${PVCUT}:6
+       >=kde-plasma/plasma-activities-stats-${PVCUT}:6
+       >=kde-plasma/plasma-workspace-${PVCUT}:6[screencast?]
+       >=kde-plasma/plasma5support-${PVCUT}: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-qt/qtwayland-${QTMIN}:6
+       )
+       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-${PVCUT}:6
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       !<kde-plasma/kdeplasma-addons-5.25.50
+       !<kde-plasma/plasma-workspace-6.0.80
+       dev-libs/kirigami-addons:6
+       >=dev-qt/qtwayland-${QTMIN}:6
+       >=kde-frameworks/kirigami-${KFMIN}:6
+       >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+       >=kde-plasma/oxygen-${PVCUT}:6
+       kde-plasma/plasma-mimeapps-list
+       media-fonts/noto-emoji
+       sys-apps/util-linux
+       x11-apps/setxkbmap
+       x11-misc/xdg-user-dirs
+       screencast? ( >=kde-plasma/kpipewire-${PVCUT}:6 )
+       webengine? ( >=net-libs/signon-oauth2-0.25_p20210102[qt6(+)] )
+"
+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}-tablet-kcm-optional.patch" # bug 942817
+)
+
+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
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               optfeature "screen reader support" "app-accessibility/orca"
+       fi
+       ecm_pkg_postinst
+}

Reply via email to