diff options
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r-- | gnu/packages/freedesktop.scm | 144 |
1 files changed, 81 insertions, 63 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 112ae5afeb..0a1c9bffb3 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017, 2018, 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> @@ -101,6 +101,7 @@ #:use-module (gnu packages ibus) #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages kde) #:use-module (gnu packages language) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) @@ -338,7 +339,7 @@ tests.") (define-public malcontent (package (name "malcontent") - (version "0.8.0") + (version "0.11.1") (source (origin (method git-fetch) @@ -347,7 +348,7 @@ tests.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vnf0pk516fwwh41v96c29l2i7h1pnwhivlkbf53kkx1q35g7lb3")))) + (base32 "0g622ig5ffrzk9184xff3lardk7rnmkvj8y5g6h6s41bfh51b71m")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -358,25 +359,26 @@ tests.") (lambda _ (substitute* "libmalcontent/tests/app-filter.c" (("g_test_add_func \\(\"/app-filter/appinfo\", test_app_filter_appinfo\\);") - "")) - #t))))) + ""))))))) (native-inputs - `(("desktop-file-utils" ,desktop-file-utils) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("itstool" ,itstool) - ("libglib-testing" ,libglib-testing) - ("libxml2" ,libxml2) - ("pkg-config" ,pkg-config))) + (list desktop-file-utils + gettext-minimal + `(,glib "bin") + gobject-introspection + `(,gtk "bin") + itstool + libglib-testing + libxml2 + pkg-config)) (inputs (list accountsservice + appstream appstream-glib dbus flatpak glib - gtk+ + gtk + libadwaita libostree linux-pam polkit)) @@ -643,7 +645,7 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "246.10") + (version "252.9") (source (origin (method git-fetch) (uri (git-reference @@ -652,25 +654,30 @@ the freedesktop.org XDG Base Directory specification.") (file-name (git-file-name name version)) (sha256 (base32 - "16045bhpwjq2nqgswln67ipg1zrz2djxlgkfngqng3jqpwagmnzq")) - (patches (search-patches - "elogind-revert-polkit-detection.patch")))) + "049cfv97975x700s7lx4p9i22nv6v7j046iwkspxba7kr5qq7akw")) + (patches (search-patches "elogind-fix-rpath.patch")))) (build-system meson-build-system) (arguments `(#:configure-flags ,#~(let* ((out #$output) (sysconf (string-append out "/etc")) (libexec (string-append out "/libexec/elogind")) - (dbuspolicy (string-append out "/etc/dbus-1/system.d")) + (dbus-data (string-append out "/share/dbus-1")) + (dbuspolicy (string-append dbus-data "/system.d")) + (dbussessionservice (string-append dbus-data "/services")) + (dbussystemservice (string-append dbus-data + "/system-services")) + (dbusinterfaces (string-append dbus-data "/interfaces")) + #$@(if (not (target-riscv64?)) - #~((kexec-tools #$(this-package-input "kexec-tools"))) - #~()) + #~((kexec-tools #$(this-package-input "kexec-tools"))) + #~()) (shadow #$(this-package-input "shadow")) (shepherd #$(this-package-input "shepherd")) (halt-path (string-append shepherd "/sbin/halt")) #$@(if (not (target-riscv64?)) - #~((kexec-path (string-append kexec-tools "/sbin/kexec"))) - #~()) + #~((kexec-path (string-append kexec-tools "/sbin/kexec"))) + #~()) (nologin-path (string-append shadow "/sbin/nologin")) (poweroff-path (string-append shepherd "/sbin/shutdown")) (reboot-path (string-append shepherd "/sbin/reboot"))) @@ -679,12 +686,15 @@ the freedesktop.org XDG Base Directory specification.") (string-append "-Dsysconfdir=" sysconf) (string-append "-Drootlibexecdir=" libexec) (string-append "-Ddbuspolicydir=" dbuspolicy) + (string-append "-Ddbussessionservicedir=" dbussessionservice) + (string-append "-Ddbussystemservicedir=" dbussystemservice) + (string-append "-Ddbus-interfaces-dir=" dbusinterfaces) (string-append "-Dc_link_args=-Wl,-rpath=" libexec) (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) (string-append "-Dhalt-path=" halt-path) #$@(if (not (target-riscv64?)) - #~((string-append "-Dkexec-path=" kexec-path)) - #~()) + #~((string-append "-Dkexec-path=" kexec-path)) + #~()) (string-append "-Dpoweroff-path=" poweroff-path) (string-append "-Dreboot-path=" reboot-path) (string-append "-Dnologin-path=" nologin-path) @@ -703,21 +713,28 @@ the freedesktop.org XDG Base Directory specification.") ;; XXX There is no run-time setting to set this per-process, only a ;; build-time, hard-coded list of global directories. (lambda _ - (substitute* (list "src/login/elogind-dbus.c" - "src/sleep/sleep.c") + (substitute* (list "src/login/logind-core.c" + "src/login/logind-dbus.c" + "src/sleep/sleep.c" + "src/shared/sleep-config.c") (("PKGSYSCONFDIR") "\"/etc/elogind\"")))) (add-after 'unpack 'adjust-tests (lambda _ - ;; Skip the following test, which depends on users such as 'root' - ;; existing in the build environment. - (invoke "sed" "/src\\/test\\/test-user-util.c/,+2s/^/#/g" - "-i" "src/test/meson.build") + ;; Skip the user-util tests, which depends on users such as + ;; 'root' existing in the build environment. + (substitute* "src/test/meson.build" + ((".*'test-user-util.c'.*") "") + ((".*'test-cgroup.c'.*") "")) ;; This test tries to copy some bytes from /usr/lib/os-release, ;; which does not exist in the build container. Choose something ;; more likely to be available. (substitute* "src/test/test-copy.c" (("/usr/lib/os-release") - "/etc/passwd")) + "/etc/passwd") + ;; Skip the copy_holes test, which fails for unknown reasons + ;; (see: https://github.com/elogind/elogind/issues/261). + (("TEST_RET\\(copy_holes).*" all) + (string-append all " return 77;\n"))) ;; Use a shebang that works in the build container. (substitute* "src/test/test-exec-util.c" (("#!/bin/sh") @@ -742,41 +759,37 @@ the freedesktop.org XDG Base Directory specification.") ;; loopback device, but that fails because /sys is unavailable. (substitute* "src/libelogind/sd-device/test-sd-device-thread.c" ((".*sd_device_new_from_syspath.*/sys/class/net/lo.*") - "return 77;")) - ;; Most of these tests require cgroups or an actual live - ;; logind system so that it can flicker the monitor, etc. - ;; Just skip it until a more narrow selection can be made. - (substitute* "src/libelogind/sd-login/test-login.c" - (("test_login\\(\\);") "return 77;")))) (add-after 'unpack 'change-pid-file-path (lambda _ (substitute* "src/login/elogind.c" (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.5) - ("docbook-xml-4.2" ,docbook-xml-4.2) - ("docbook-xsl" ,docbook-xsl) - ("gettext" ,gettext-minimal) - ("gperf" ,gperf) - ("libxml2" ,libxml2) ;for XML_CATALOG_FILES - ("m4" ,m4) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("xsltproc" ,libxslt))) + (list docbook-xml-4.5 + docbook-xml-4.2 + docbook-xsl + gettext-minimal + gperf + libxml2 ;for XML_CATALOG_FILES + m4 + pkg-config + python + python-jinja2 + libxslt)) (inputs (append - (if (not (target-riscv64?)) - (list kexec-tools) - '()) - (list linux-pam - libcap - shadow ; for 'nologin' - shepherd ; for 'halt' and 'reboot', invoked - ; when pressing the power button - dbus - eudev - acl))) ; to add individual users to ACLs on /dev nodes + (if (not (target-riscv64?)) + (list kexec-tools) + '()) + (list linux-pam + libcap + `(,util-linux "lib") ;for 'libmount' + shadow ;for 'nologin' + shepherd ;for 'halt' and 'reboot', invoked + ;when pressing the power button + dbus + eudev + acl))) ; to add individual users to ACLs on /dev nodes (home-page "https://github.com/elogind/elogind") (synopsis "User, seat, and session management service") (description "Elogind is the systemd project's \"logind\" service, @@ -2891,14 +2904,14 @@ interfaces.") (define-public xdg-desktop-portal-kde (package (name "xdg-desktop-portal-kde") - (version "5.25.5") + (version "5.27.6") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "0l3lmwihxyl65y0mkyg3afk1k6gc0ldjw2vg92g7yydbgmn39q7k")))) + "0wzp21l521d9z9mnfgiapzljqpg5qc5ghyzndpr8cz54c2bf9mdf")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list cups @@ -2917,7 +2930,12 @@ interfaces.") kiconthemes qtdeclarative-5 qtwayland-5 - wayland)) + wayland + kglobalaccel + kguiaddons + libxkbcommon + kio-fuse + wayland-protocols)) (synopsis "Backend implementation for xdg-desktop-portal using Qt/KF5") (description "This package provides a backend implementation for xdg-desktop-portal that is using Qt/KF5.") |