;;; 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, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system qt)
#: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 breeze
+ (package
+ (name "breeze")
+ (version "5.19.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0dpk1w7zcafrzf46j060i1qb0fwqpsflkfzr6gcar81llmjnc4b1"))))
+ (build-system qt-build-system)
+ ;; TODO: Warning at /gnu/store/…-kpackage-5.34.0/…/KF5PackageMacros.cmake:
+ ;; warnings during generation of metainfo for org.kde.breezedark.desktop:
+ ;; Package type "Plasma/LookAndFeel" not found
+ ;; TODO: Check whether is makes sence splitting into several outputs, like
+ ;; Debian does:
+ ;; - breeze-cursor-theme
+ ;; - "out", "devel"
+ ;; - kde-style-breeze - Widget style
+ ;; - kde-style-breeze-qt4 - propably not useful
+ ;; - kwin-style-breeze
+ ;; - qml-module-qtquick-controls-styles-breeze - QtQuick style
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("kcmutils" ,kcmutils) ; optional
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kde-frameworkintegration" ,kde-frameworkintegration) ; optional
+ ("kdecoration" ,kdecoration)
+ ("kguiaddons" ,kguiaddons)
+ ("ki18n" ,ki18n)
+ ("kiconthemes" ,kiconthemes) ; for optional kde-frameworkintegration
+ ("kpackage" ,kpackage)
+ ("kwayland" ,kwayland) ; optional
+ ("kwindowsystem" ,kwindowsystem)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative) ; optional
+ ("qtx11extras" ,qtx11extras)))
+ (home-page "https://invent.kde.org/plasma/breeze")
+ (synopsis "Default KDE Plasma theme")
+ (description "Artwork, styles and assets for the Breeze visual style for
+the Plasma Desktop. Breeze is the default theme for the KDE Plasma desktop.")
+ (license license:gpl2+)))
+
+(define-public kdecoration
+ (package
+ (name "kdecoration")
+ (version "5.19.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/kdecoration-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0pn8n7zyb0adzjnn92vmbcf7pmpss60k9k1rk5llamj016xzfgnf"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+ (inputs
+ `(("ki18n" ,ki18n)
+ ("qtbase" ,qtbase)))
+ (home-page "https://invent.kde.org/plasma/kdecoration")
+ (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 ksshaskpass
+ (package
+ (name "ksshaskpass")
+ (version "5.19.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/ksshaskpass-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1k2va2v9051f71w78dn3gihk642iyy5yzrkcfnp97fag8g6dpisi"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("kcoreaddons" ,kcoreaddons)
+ ("ki18n" ,ki18n)
+ ("kwallet" ,kwallet)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("qtbase" ,qtbase)))
+ (home-page "https://invent.kde.org/plasma/ksshaskpass")
+ (synopsis "Front-end for ssh-add using kwallet")
+ (description "Ksshaskpass is a front-end for @code{ssh-add} which stores the
+password of the ssh key in KWallet. Ksshaskpass is not meant to be executed
+directly, you need to tell @code{ssh-add} about it. @code{ssh-add} will then
+call it if it is not associated to a terminal.")
+ (license license:gpl2+)))
+
+(define-public kscreenlocker
+ (package
+ (name "kscreenlocker")
+ (version "5.19.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/kscreenlocker-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1fd5sqaqx9kj3kr0bgxpllhcm5arf8bc9pkpd9yk9c8xjy0j0fxi"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:tests? #f ;; TODO: make tests pass
+ #: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* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+ (invoke "dbus-launch" "ctest" ".")))
+ #t)))))
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ;; For tests.
+ ("dbus" ,dbus)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (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://invent.kde.org/plasma/kscreenlocker")
+ (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.14.5")
+ (version "5.19.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1vyaml5ap9siw9idiny92li2bykd0nwjsmwmg0c7ad912j4g1s7y"))))
- (build-system cmake-build-system)
+ (base32 "0rf1pm0yyc069f4n5s9ipdx4glzfr9zvv5cbrmn4q9i4v6z1qd8i"))))
+ (build-system qt-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
;; For testing.
("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)))))
+ '(#:tests? #f)) ; FIXME: 55% tests passed, 5 tests failed out of 11
(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
(define-public libksysguard
(package
(name "libksysguard")
- (version "5.14.5")
+ (version "5.19.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde//stable/plasma/" version
"/libksysguard-" version ".tar.xz"))
(sha256
- (base32
- "11nz0g7dqvpvgsv0a7sai445vgfsfi25plj7jb1i46n7zf8i8mya"))))
+ (base32 "1kd0h3p8bf9k5pqp0frhr81pa0yyrpkckg9zznirk9p1v88v7bfq"))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
("kcompletion" ,kcompletion)
("kconfig" ,kconfig)
("kcoreaddons" ,kcoreaddons)
+ ("kdeclarative" ,kdeclarative)
("kglobalaccel" ,kglobalaccel)
("kio" ,kio)
+ ("knewstuff" ,knewstuff)
("kwidgetsaddons" ,kwidgetsaddons)
("kservice" ,kservice)
("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
("qtscript" ,qtscript)
("qtwebkit" ,qtwebkit)
("qtx11extras" ,qtx11extras)
("plasma" ,plasma-framework)
("zlib" ,zlib)))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(arguments
`(#:configure-flags
`(,(string-append "-DKDE_INSTALL_DATADIR="
;; 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://www.kde.org/info/plasma-5.13.4.php")
+ (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