diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index cd27917c2c..94533d24c2 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -76,6 +76,7 @@ #:use-module (gnu packages video) #:use-module (gnu packages vpn) #:use-module (gnu packages vulkan) + #:use-module (gnu packages wm) #:use-module (gnu packages textutils) #:use-module (gnu packages qt) #:use-module (gnu packages xdisorg) @@ -1298,18 +1299,24 @@ KDE Frameworks components.") (define-public kwin (package (name "kwin") - (version "5.27.7") + (version "6.1.2") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/plasma/" version "/" + (uri (string-append "mirror://kde/stable/plasma/" + version "/" name "-" version ".tar.xz")) (patches (search-patches "kwin-unwrap-executable-name-for-dot-desktop-search.patch")) (sha256 (base32 - "0bssp76lzqqlan5pfg6wjf4z9c6pl6p66ri8p82vqqw406x5bzyb")))) + "03y0als06vryf1cwiladnn9a3vnsp32gp9bcvp42mm017g485ic2")))) (build-system qt-build-system) (arguments (list + #:qtbase qtbase + #:configure-flags + #~(list (string-append "-DQtWaylandScanner_EXECUTABLE=" + #$(this-package-native-input "qtwayland") + "/lib/qt6/libexec/qtwaylandscanner")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch @@ -1327,8 +1334,8 @@ KDE Frameworks components.") (string-append "setProgram(QByteArrayLiteral(\"" (which "glxgears") "\")"))) (substitute* - '("src/wayland/tests/renderingservertest.cpp" - "src/wayland/tests/waylandservertest.cpp") + '("tests/renderingservertest.cpp" + "tests/waylandservertest.cpp") (("QByteArrayLiteral\\(\"Xwayland\"\\)") (string-append "QByteArrayLiteral(\"" (which "Xwayland") "\")"))) @@ -1345,14 +1352,6 @@ KDE Frameworks components.") (substitute* '("cmake/modules/Findhwdata.cmake") (("/usr/share") (string-append #$(this-package-input "hwdata") "/share"))))) - (add-after 'install 'add-symlinks - (lambda* (#:key outputs #:allow-other-keys) - (let ((kst5 (string-append #$output - "/share/kservicetypes5/"))) - (symlink (string-append kst5 "kwineffect.desktop") - (string-append kst5 "kwin-effect.desktop")) - (symlink (string-append kst5 "kwinscript.desktop") - (string-append kst5 "kwin-script.desktop"))))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -1363,7 +1362,7 @@ KDE Frameworks components.") (getenv "XDG_DATA_DIRS"))) (setenv "QT_PLUGIN_PATH" (string-append #$output - "/lib/qt5/plugins:" + "/lib/qt6/plugins:" (getenv "QT_PLUGIN_PATH"))) (setenv "DISPLAY" ":1") (system "Xvfb :1 &") @@ -1372,31 +1371,39 @@ KDE Frameworks components.") "ctest" "-E" (string-join - (list "kwin-testXkb" - "kwin-testPointerInput" - "kwin-testXdgShellWindow" - "kwin-testXdgShellWindow-waylandonly" - "kwin-testSceneOpenGLES" - "kwin-testSceneOpenGLES-waylandonly" - "kwin-testNightColor" - "kwin-testNightColor-waylandonly" - "kwin-testScriptedEffects" - "kwayland-testWaylandSurface") + (list + "kwin-testDrm" ;; require Drm + "kwin-testInputMethod" + "kwin-testPlasmaWindow" ;; require plasma-workspace qml module. + "kwin-testButtonRebind" + "kwin-testPointerInput" + "kwin-testXdgShellWindow" + "kwin-testXdgShellWindow-waylandonly" + "kwin-testSceneOpenGLES" + "kwin-testSceneOpenGLES-waylandonly" + "kwin-testNightColor" + "kwin-testNightColor-waylandonly" + "kwin-testScriptedEffects" + "kwayland-testServerSideDecoration" + "kwayland-testWaylandSurface") "|")))))))) (native-inputs (list extra-cmake-modules dbus kdoctools mesa-utils pkg-config - qttools-5 - wayland-protocols - xorg-server-for-tests)) + qttools + wayland-protocols-next + xorg-server-for-tests + python-minimal + ;; for QtWaylandScanner + qtwayland)) (inputs (list breeze eudev fontconfig freetype `(,hwdata "pnp") - kactivities + plasma-activities kcmutils kcompletion kconfig @@ -1407,6 +1414,7 @@ KDE Frameworks components.") kdeclarative kdecoration kglobalaccel + kglobalacceld ki18n kiconthemes kidletime @@ -1421,6 +1429,9 @@ KDE Frameworks components.") kwayland kwindowsystem kxmlgui + ksvg + kauth + kguiaddons libqaccessibilityclient lcms libcap @@ -1429,13 +1440,13 @@ KDE Frameworks components.") libinput libxkbcommon pipewire - plasma-framework + libplasma plasma-wayland-protocols - qtbase-5 - qtdeclarative-5 - qtmultimedia-5 - qtwayland-5 - qtx11extras + qt5compat + qtdeclarative + qtmultimedia + qtwayland + qtsensors wayland xcb-util ;fails at build time without this xcb-util-cursor @@ -1444,6 +1455,7 @@ KDE Frameworks components.") xcmsdb xinput ;XXX: Says disabled in configure phase xorg-server-xwayland + libdisplay-info zlib)) ;; Runtime-only dependency needed for mapping monitor hardware vendor IDs to full names ;; * QtQuick.Controls-QMLModule, QML module 'QtQuick.Controls' is a runtime dependency. diff --git a/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch b/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch index 8f67553138..6256ff24e3 100644 --- a/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch +++ b/gnu/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch @@ -14,12 +14,11 @@ new file mode 100644 index 0000000..726065d --- /dev/null +++ b/src/guix_utils.h -@@ -0,0 +1,24 @@ +@@ -0,0 +1,23 @@ +#ifndef GUIX_UTILS_H +#define GUIX_UTILS_H + +// kwin -+#include + +namespace KWin +{