summaryrefslogtreecommitdiff
path: root/gnu/packages/freedesktop.scm
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2023-08-17 18:38:23 +0800
committer宋文武 <iyzsong@member.fsf.org>2023-08-17 18:38:23 +0800
commit0ffbdf34567aedb0ae6cef6b869370a415cfaa65 (patch)
tree76425d441657ffbc6cfe996144cda706eb997a12 /gnu/packages/freedesktop.scm
parentd9320de5aa9b77adf5fa31c6429ec8eb08c24458 (diff)
parent1b2d43fe016848ea2ec16ff18cbc14340944fc4e (diff)
Merge remote-tracking branch 'origin/master' into kde-updates
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r--gnu/packages/freedesktop.scm132
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,