aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrendan Tildesley <mail@brendan.scot>2022-02-21 21:47:28 +1100
committerMarius Bakke <marius@gnu.org>2022-11-21 22:01:12 +0100
commit72b80b9b177ef11054482f3a53d66a8aa67d83c2 (patch)
tree8203debcc8f24edef5abb4dd3ddb60ca02f22feb
parent8f877c2c4b619c6f4d7ae670d7eb40744dda7229 (diff)
downloadguix-72b80b9b177ef11054482f3a53d66a8aa67d83c2.tar.gz
guix-72b80b9b177ef11054482f3a53d66a8aa67d83c2.zip
gnu: Add plasma-workspace.
* gnu/packages/kde-plasma.scm (plasma-workspace): New variable. Signed-off-by: Marius Bakke <marius@gnu.org>
-rw-r--r--gnu/packages/kde-plasma.scm148
1 files changed, 148 insertions, 0 deletions
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index fdcbc2af29..7bb627a789 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -47,11 +47,14 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages networking)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
@@ -1440,6 +1443,151 @@ sensors, process information and other system resources.")
(home-page "https://invent.kde.org/plasma/plasma-systemmonitor")
(license (list license:gpl2 license:gpl3))))
+(define-public plasma-workspace
+ (package
+ (name "plasma-workspace")
+ (version "5.25.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/" name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0pxwg3i07sipfchn4qkmlr6kcgqbhj2s10xq69wi32x1fc13jx5x"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules kdoctools pkg-config qtsvg-5
+ qttools-5))
+ (inputs (list appmenu-gtk-module
+ appstream-qt
+ baloo
+ breeze
+ breeze-icons
+ dbus
+ fontconfig
+ iso-codes
+ kactivities
+ kactivities-stats
+ karchive
+ kcmutils
+ kcoreaddons
+ kcrash
+ kdbusaddons
+ kdeclarative
+ kded
+ kdesu
+ kglobalaccel
+ kguiaddons
+ kholidays
+ ki18n
+ kiconthemes
+ kidletime
+ kinit
+ kio
+ kio-extras
+ kio-fuse
+ kitemmodels
+ kirigami
+ knewstuff
+ knotifications
+ knotifyconfig
+ kquickcharts
+ kpackage
+ kpeople
+ krunner
+ kscreenlocker
+ ktexteditor
+ ktextwidgets
+ kunitconversion
+ kuserfeedback
+ kwallet
+ kwayland
+ kwin
+ layer-shell-qt
+ libkscreen
+ libksysguard
+ libqalculate
+ gmp
+ mpfr
+ libsm
+ libxft
+ libxkbcommon
+ libxrender
+ libxtst
+ networkmanager-qt
+ phonon
+ pipewire-0.3
+ plasma-framework
+ plasma-workspace-wallpapers
+ plasma-wayland-protocols
+ prison
+ qtbase-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtwayland-5
+ qtgraphicaleffects
+ qtx11extras
+ wayland
+ wayland-protocols-next
+ xcb-util
+ xcb-util-image
+ xcb-util-keysyms
+ xrdb
+ xmessage
+ xsetroot
+ zlib))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-wallpaper
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "sddm-theme/theme.conf.cmake"
+ (("background=..KDE_INSTALL_FULL_WALLPAPERDIR.")
+ (string-append "background="
+ #$(this-package-input "breeze")
+ "/share/wallpapers")))))
+ (add-after 'unpack 'patch-workspace-bins
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xmessage (search-input-file inputs "/bin/xmessage"))
+ (xsetroot (search-input-file inputs "/bin/xsetroot"))
+ (xrdb (search-input-file inputs "/bin/xrdb"))
+ (kinit #$(this-package-input "kinit")))
+ (substitute* "startkde/startplasma.cpp"
+ (("xmessage") xmessage)
+ (("xsetroot") xsetroot))
+ (substitute* (list "kcms/fonts/fontinit.cpp"
+ "kcms/fonts/fonts.cpp"
+ "kcms/krdb/krdb.cpp")
+ (("xrdb") xrdb))
+ (substitute* "startkde/plasma-session/startup.cpp"
+ (("CMAKE_INSTALL_FULL_LIBEXECDIR_KF5..")
+ (string-append "\"" kinit
+ "/lib/libexec/kf5")))
+ (substitute* (list
+ "startkde/startplasma-wayland.cpp"
+ "startkde/startplasma-x11.cpp")
+ (("kdeinit5_shutdown")
+ (string-append kinit "/bin/kdeinit5_shutdown"))))))
+ (delete 'check)
+ (add-after 'install 'check-after-install
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" (getcwd))
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ (setenv "XDG_CACHE_HOME" (getcwd))
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (setenv "QT_PLUGIN_PATH"
+ (string-append #$output
+ "/lib/qt5/plugins:"
+ (getenv "QT_PLUGIN_PATH")))
+ (invoke "ctest" "-E"
+ "(appstreamtest|lookandfeel-kcmTest|tst_triangleFilter|systemtraymodeltest|testdesktop| screenpooltest)")))))))
+ (home-page "https://invent.kde.org/plasma/plasma-workspace")
+ (synopsis "Plasma workspace components")
+ (description
+ "Workspaces provide support for KDE Plasma Widgets, integrated search,
+hardware management, and a high degree of customizability.")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public plasma-workspace-wallpapers
(package
(name "plasma-workspace-wallpapers")