diff options
author | 宋文武 <iyzsong@member.fsf.org> | 2023-08-17 18:38:23 +0800 |
---|---|---|
committer | 宋文武 <iyzsong@member.fsf.org> | 2023-08-17 18:38:23 +0800 |
commit | 0ffbdf34567aedb0ae6cef6b869370a415cfaa65 (patch) | |
tree | 76425d441657ffbc6cfe996144cda706eb997a12 /gnu/packages/freedesktop.scm | |
parent | d9320de5aa9b77adf5fa31c6429ec8eb08c24458 (diff) | |
parent | 1b2d43fe016848ea2ec16ff18cbc14340944fc4e (diff) | |
download | guix-0ffbdf34567aedb0ae6cef6b869370a415cfaa65.tar.gz |
Merge remote-tracking branch 'origin/master' into kde-updates
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r-- | gnu/packages/freedesktop.scm | 132 |
1 files changed, 72 insertions, 60 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 88dbcb581d..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> @@ -339,7 +339,7 @@ tests.") (define-public malcontent (package (name "malcontent") - (version "0.8.0") + (version "0.11.1") (source (origin (method git-fetch) @@ -348,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 @@ -359,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)) @@ -644,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 @@ -653,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"))) @@ -680,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) @@ -704,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") @@ -743,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, |