2019-02-12 22:17:00 +00:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
|
|
|
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
|
2019-02-12 22:21:01 +00:00
|
|
|
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
|
2017-06-09 11:12:08 +00:00
|
|
|
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
|
|
|
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
2019-02-12 22:17:00 +00:00
|
|
|
;;;
|
|
|
|
;;; 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)
|
2017-06-09 11:20:42 +00:00
|
|
|
#:use-module (gnu packages freedesktop)
|
2019-02-12 22:17:00 +00:00
|
|
|
#:use-module (gnu packages glib)
|
|
|
|
#:use-module (gnu packages kde-frameworks)
|
2017-06-09 11:20:42 +00:00
|
|
|
#:use-module (gnu packages linux)
|
2019-02-12 22:17:00 +00:00
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
#:use-module (gnu packages qt)
|
|
|
|
#:use-module (gnu packages xorg))
|
|
|
|
|
2017-06-09 11:12:08 +00:00
|
|
|
(define-public kdecoration
|
|
|
|
(package
|
|
|
|
(name "kdecoration")
|
2019-02-15 10:22:49 +00:00
|
|
|
(version "5.15.0")
|
2017-06-09 11:12:08 +00:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://kde/stable/plasma/" version
|
|
|
|
"/kdecoration-" version ".tar.xz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2019-02-15 10:22:49 +00:00
|
|
|
"1pcyw6rrz0q7i2jnfvmjz2pixiw2aay19q3pxa1g3qvqydh3id5q"))))
|
2017-06-09 11:12:08 +00:00
|
|
|
(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+)))
|
|
|
|
|
2017-06-09 11:20:42 +00:00
|
|
|
(define-public kscreenlocker
|
|
|
|
(package
|
|
|
|
(name "kscreenlocker")
|
2019-02-15 10:22:49 +00:00
|
|
|
(version "5.15.0")
|
2017-06-09 11:20:42 +00:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://kde/stable/plasma/" version
|
|
|
|
"/kscreenlocker-" version ".tar.xz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2019-02-15 10:22:49 +00:00
|
|
|
"1hgj2mzbbiqn52j3px2mzz6xzzpzr78q3bcai8ddc4gcl1xgs6yi"))))
|
2017-06-09 11:20:42 +00:00
|
|
|
(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+)))
|
|
|
|
|
2019-02-12 22:17:00 +00:00
|
|
|
(define-public libkscreen
|
|
|
|
(package
|
|
|
|
(name "libkscreen")
|
2019-02-15 10:22:49 +00:00
|
|
|
(version "5.15.0")
|
2019-02-12 22:17:00 +00:00
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://kde/stable/plasma/" version "/"
|
|
|
|
name "-" version ".tar.xz"))
|
|
|
|
(sha256
|
2019-02-15 10:22:49 +00:00
|
|
|
(base32 "1clw8966fmwih1fsjasvpgvfq7w728hlabl3i0zjz53r87hdw3mb"))))
|
2019-02-12 22:17:00 +00:00
|
|
|
(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")
|
2019-02-15 10:22:49 +00:00
|
|
|
(version "5.15.0")
|
2019-02-12 22:17:00 +00:00
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://kde//stable/plasma/" version
|
|
|
|
"/libksysguard-" version ".tar.xz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2019-02-15 10:22:49 +00:00
|
|
|
"1aqkzbng2qq09rpb21r6drnn866b9y8yba3klhvhi0q5vg3p605d"))))
|
2019-02-12 22:17:00 +00:00
|
|
|
(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)
|
2019-02-03 18:33:47 +00:00
|
|
|
("kglobalaccel" ,kglobalaccel)
|
|
|
|
("kio" ,kio)
|
2019-02-12 22:17:00 +00:00
|
|
|
("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://www.kde.org/info/plasma-5.13.4.php")
|
|
|
|
(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+)))
|
|
|
|
|