Merge branch 'gnome-team'

This commit is contained in:
Liliana Marie Prikler 2024-03-30 09:47:43 +01:00
commit a915a57d91
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
77 changed files with 3998 additions and 2376 deletions

View file

@ -4357,10 +4357,9 @@ to the in-kernel OOM killer.")
(license license:expat)))
(define-public eudev
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
(version "3.2.11")
(version "3.2.14")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/gentoo/eudev")
@ -4368,8 +4367,9 @@ to the in-kernel OOM killer.")
(file-name (git-file-name name version))
(sha256
(base32
"0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av"))
(patches (search-patches "eudev-rules-directory.patch"))))
"1f6lz57igi7iw2ls3fpzgw42bfznam4nf9368h7x8yf1mb737yxz"))
(patches (search-patches "eudev-rules-directory.patch"))
(modules '((guix build utils)))))
(build-system gnu-build-system)
(arguments
(list
@ -4380,6 +4380,31 @@ to the in-kernel OOM killer.")
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(search-input-file (or native-inputs inputs) "/bin/xsltproc")))))
(add-before 'bootstrap 'install-in-lib
(lambda _
;; When the udev-service-type instantiates /etc, it collects
;; hardware files from the <package>/lib/udev/hwdb.d directories
;; of different packages. Since we set sysconfdir to /etc, the
;; only package-dependent location we can install hwdb files is
;; in <package>/lib/udev/hwdb.d. Eudev is configured to install
;; these files in sysconfdir, but they should be placed into
;; udevlibexecdir.
(copy-file "hwdb/Makefile.am" "hwdb/files.am")
(call-with-output-file "hwdb/Makefile.am"
(lambda (port)
(format port "hardwarelibdir = $(udevlibexecdir)/hwdb.d\n")
(format port "include ./files.am")))
(substitute* "hwdb/files.am"
(("dist_udevhwdb_DATA =")
"dist_hardwarelib_DATA ="))
;; Do not install the empty udev.conf template.
(substitute* "src/udev/Makefile.am"
(("dist_udevconf_DATA =")
"dist_noinst_DATA ="))
;; Do not ensure that /etc/udev/rules.d exists.
(substitute* "rules/Makefile.am"
(("\\$\\(MKDIR_P\\) \\$\\(DESTDIR\\)\\$\\(udevconfdir\\)/rules\\.d")
"true"))))
(add-after 'install 'move-static-library
(lambda _
(let ((source (string-append #$output "/lib/libudev.a"))
@ -4391,19 +4416,17 @@ to the in-kernel OOM killer.")
;; such that Libtool looks for it in the usual places.
(substitute* (string-append #$output "/lib/libudev.la")
(("old_library=.*")
"old_library=''\n")))))
(add-after 'install 'build-hwdb
(lambda _
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
;; similar tools to display product names.
;;
;; XXX: This can't be done when cross-compiling. Find another way
;; to generate hwdb.bin for cross-built systems.
#$@(if (%current-target-system)
#~(#t)
#~((invoke (string-append #$output "/bin/udevadm")
"hwdb" "--update"))))))
#:configure-flags #~(list "--enable-manpages")))
"old_library=''\n"))))))
#:configure-flags
#~(list "--enable-manpages"
;; By default, autoconf uses $prefix/etc. The udev-service-type
;; makes sure /etc is set up with rules and hardware file
;; descriptions.
"--sysconfdir=/etc")))
(native-search-paths
(list (search-path-specification
(variable "UDEV_HWDB_PATH")
(files '("lib/udev/hwdb.d")))))
(native-inputs
(list autoconf
automake