summary refs log tree commit diff
path: root/gnu/packages/kde-plasma.scm
diff options
context:
space:
mode:
authorBrendan Tildesley <mail@brendan.scot>2021-10-03 13:42:31 +1100
committerMarius Bakke <marius@gnu.org>2022-09-01 17:24:01 +0200
commita38889b14d74e31c1b74c55d020445b760516c5d (patch)
treedab40efeefdf4a33e15dc152ec021adb1efe1290 /gnu/packages/kde-plasma.scm
parentb4e17996386b03ff3d50c3bbd1079e695f6586f8 (diff)
downloadguix-a38889b14d74e31c1b74c55d020445b760516c5d.tar.gz
gnu: Add kwayland-server.
* gnu/packages/kde-plasma.scm (kwayland-server): New variable.

Signed-off-by: Marius Bakke <marius@gnu.org>
Diffstat (limited to 'gnu/packages/kde-plasma.scm')
-rw-r--r--gnu/packages/kde-plasma.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index bff03dab50..634a44eecf 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -336,3 +336,53 @@ basic needs and easy to configure for those who want special setups.")
 manage running processes.  It obtains this information by interacting
 with a ksysguardd daemon, which may also run on a remote system.")
     (license license:gpl3+)))
+
+(define-public kwayland-server
+  (package
+    (name "kwayland-server")
+    (version "5.24.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma/" version
+                    "/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1279nqhy1qyz84dkn23rvzak8bg71hbrp09jlhv9mkjdb3bhnyfi"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules pkg-config))
+    (inputs
+     (list plasma-wayland-protocols
+           qtbase-5
+           qtwayland
+           kwayland
+           wayland
+           wayland-protocols-next))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-install-path
+           (lambda _
+             ;; Fixes errors including nonexistant /include/KF5
+             (substitute* "src/server/CMakeLists.txt"
+               (("KF5_INSTALL") "KDE_INSTALL"))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "XDG_RUNTIME_DIR" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (invoke "ctest" "-E"
+                       ;; This test fails inconsistently.
+                       "kwayland-testDragAndDrop")))))))
+    (home-page "https://api.kde.org/kwayland-server/html/index.html")
+    (synopsis "KDE wayland server component")
+    (description
+     "KWayland is a Qt-style API to interact with the wayland-client and
+wayland-server API.")
+    ;; Most files are LGPL2.1 or LGPL3.0 only, at the users option.
+    (license (list license:lgpl2.1 license:lgpl3
+                   ;; src/server/drm_fourcc.h carries the MIT license.
+                   license:expat))))
+