summaryrefslogtreecommitdiff
path: root/gnu/packages/kde-plasma.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/kde-plasma.scm')
-rw-r--r--gnu/packages/kde-plasma.scm228
1 files changed, 228 insertions, 0 deletions
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
new file mode 100644
index 0000000000..d2aa90b26d
--- /dev/null
+++ b/gnu/packages/kde-plasma.scm
@@ -0,0 +1,228 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages kde-plasma)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages xorg))
+
+(define-public kdecoration
+ (package
+ (name "kdecoration")
+ (version "5.15.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/kdecoration-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1pcyw6rrz0q7i2jnfvmjz2pixiw2aay19q3pxa1g3qvqydh3id5q"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+ (inputs
+ `(("ki18n" ,ki18n)
+ ("qtbase" ,qtbase)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _ (setenv "QT_QPA_PLATFORM" "offscreen") #t)))))
+ (home-page "https://cgit.kde.org/kdecoration.git")
+ (synopsis "Plugin based library to create window decorations")
+ (description "KDecoration is a library to create window decorations.
+These window decorations can be used by for example an X11 based window
+manager which re-parents a Client window to a window decoration frame.")
+ (license license:lgpl3+)))
+
+(define-public kscreenlocker
+ (package
+ (name "kscreenlocker")
+ (version "5.15.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/kscreenlocker-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1hgj2mzbbiqn52j3px2mzz6xzzpzr78q3bcai8ddc4gcl1xgs6yi"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (system (string-append (assoc-ref inputs "xorg-server")
+ "/bin/Xvfb :1 -screen 0 640x480x24 &"))
+ (setenv "DISPLAY" ":1")
+ #t))
+ (delete 'check)
+ ;; Tests use the installed library and require a DBus session.
+ (add-after 'install 'check
+ (lambda _
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+ (invoke "dbus-launch" "ctest" "."))))))
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+
+ ;; For tests.
+ ("dbus" ,dbus)
+ ("xorg-server" ,xorg-server)))
+ (inputs
+ `(("kcmutils" ,kcmutils)
+ ("kcrash" ,kcrash)
+ ("kdeclarative" ,kdeclarative)
+ ("kglobalaccel" ,kglobalaccel)
+ ("ki18n" ,ki18n)
+ ("kidletime" ,kidletime)
+ ("knotifications" ,knotifications)
+ ("ktextwidgets" ,ktextwidgets)
+ ("kwayland" ,kwayland)
+ ("kwindowsystem" ,kwindowsystem)
+ ("kxmlgui" ,kxmlgui)
+ ("libseccomp" ,libseccomp) ;for sandboxing the look'n'feel package
+ ("libxcursor" ,libxcursor) ;missing in CMakeList.txt
+ ("libxi" ,libxi) ;XInput, required for grabbing XInput2 devices
+ ("linux-pam" ,linux-pam)
+ ("logind" ,elogind) ;optional loginctl support
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtx11extras" ,qtx11extras)
+ ("solid" ,solid)
+ ("wayland" ,wayland)
+ ("xcb-util-keysyms" ,xcb-util-keysyms)))
+ (home-page "https://cgit.kde.org/kscreenlocker.git")
+ (synopsis "Screen locking library")
+ (description
+ "@code{kscreenlocker} is a library for creating secure lock screens.")
+ (license license:gpl2+)))
+
+(define-public libkscreen
+ (package
+ (name "libkscreen")
+ (version "5.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1clw8966fmwih1fsjasvpgvfq7w728hlabl3i0zjz53r87hdw3mb"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ;; For testing.
+ ("dbus" ,dbus)))
+ (inputs
+ `(("kwayland" ,kwayland)
+ ("libxrandr" ,libxrandr)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)))
+ (arguments
+ '(#:tests? #f ; FIXME: 55% tests passed, 5 tests failed out of 11
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; For the missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ ;; Run the tests offscreen.
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ #t)))))
+ (home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
+ (synopsis "KDE's screen management software")
+ (description "KScreen is the new screen management software for KDE Plasma
+Workspaces which tries to be as magic and automatic as possible for users with
+basic needs and easy to configure for those who want special setups.")
+ (license license:gpl2+)))
+
+(define-public libksysguard
+ (package
+ (name "libksysguard")
+ (version "5.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde//stable/plasma/" version
+ "/libksysguard-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1aqkzbng2qq09rpb21r6drnn866b9y8yba3klhvhi0q5vg3p605d"))))
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("kconfigwidgets" ,kconfigwidgets)
+ ("kiconthemes" ,kiconthemes)
+ ("kwindowsystem" ,kwindowsystem)
+ ("ki18n" ,ki18n)
+ ("kauth" ,kauth)
+ ("kcompletion" ,kcompletion)
+ ("kconfig" ,kconfig)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kglobalaccel" ,kglobalaccel)
+ ("kio" ,kio)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kservice" ,kservice)
+ ("qtbase" ,qtbase)
+ ("qtscript" ,qtscript)
+ ("qtwebkit" ,qtwebkit)
+ ("qtx11extras" ,qtx11extras)
+ ("plasma" ,plasma-framework)
+ ("zlib" ,zlib)))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ `(,(string-append "-DKDE_INSTALL_DATADIR="
+ (assoc-ref %outputs "out") "/share"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+ (lambda _
+ ;; TODO: Verify: This should no longer be necessary, since
+ ;; KF5AuthConfig.cmake.in contains this already.
+ (substitute* "processcore/CMakeLists.txt"
+ (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR"))))
+ (add-before 'check 'check-setup
+ (lambda _
+ ;; make Qt render "offscreen", required for tests
+ (setenv "QT_QPA_PLATFORM" "offscreen")))
+ (replace 'check
+ (lambda _
+ ;; TODO: Fix this failing test-case
+ (invoke "ctest" "-E" "processtest"))))))
+ (home-page "https://userbase.kde.org/KSysGuard")
+ (synopsis "Network enabled task and system monitoring")
+ (description "KSysGuard can obtain information on system load and
+manage running processes. It obtains this information by interacting
+with a ksysguardd daemon, which may also run on a remote system.")
+ (license license:gpl3+)))
+