summary refs log tree commit diff
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)
downloadguix-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.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,