diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2024-11-17 20:57:42 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2024-11-18 21:03:46 +0100 |
commit | bf8be6c305870594df1950c3f8521ee94e8b9cf7 (patch) | |
tree | e5d0ec312d5ab6d315838753192ffe2894cc609d /kde-plasma | |
parent | kde-plasma/libksysguard: Pick 6.2 branch fixes (diff) | |
download | gentoo-bf8be6c305870594df1950c3f8521ee94e8b9cf7.tar.gz gentoo-bf8be6c305870594df1950c3f8521ee94e8b9cf7.tar.bz2 gentoo-bf8be6c305870594df1950c3f8521ee94e8b9cf7.zip |
kde-plasma/plasma-desktop: Backport IUSE input_devices_wacom to 6.2
Bug: https://bugs.gentoo.org/942817
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-plasma')
-rw-r--r-- | kde-plasma/plasma-desktop/files/plasma-desktop-6.2.3-tablet-kcm-optional.patch | 93 | ||||
-rw-r--r-- | kde-plasma/plasma-desktop/plasma-desktop-6.2.3-r1.ebuild | 183 |
2 files changed, 276 insertions, 0 deletions
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 <asturm@gentoo.org> +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 <asturm@gentoo.org> +(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 +} |