Subject: [bug#66099] [PATCH gnome-team v3 1/3] gnu: eudev: Update libudev version to 251.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 30 Sep 2023 19:59:58 +0200

Am Dienstag, dem 19.09.2023 um 13:23 +0200 schrieb Vivien Kraus:
> Support for version 251 is only provided as a merge request for now:
> 
> https://github.com/eudev-project/eudev/pull/253
> 
> This merge request bumps the eudev version to 3.2.14, but it has not
> been released yet.
> 
> Eudev now has a hardware database that installs descriptions of
> hardware in /etc, but they should go to /lib prior to being used. I
> added a phase to copy all the /etc files to /lib.
> 
> I submitted 3 patches to make udev hwdb more guix-friendly, fused in
> eudev-hwdb-bin-path.patch. libudev requires an indexed binary file
> that knows about all devices, and this file is generated by udevadm
> hwdb --update -o <prefix>/lib/udev/hwdb.bin. This udevadm hwdb
> command respects the UDEV_HWDB_PATH to collect all entries for the
> hwdb. Then, libudev can use UDEV_HWDB_BIN to select the database at
> run-time.
> 
> Another unreleased patch for PR 255 is also included.
> 
> I think everything could work out for Guix if we add a new profile
> hook that:
> 1. Calls udevadm hwdb --update -o <profile>/lib/udev/hwdb.bin;
> 2. Set UDEV_HWDB_BIN to <profile>/lib/udev/hwdb.bin.
> 
> This is why there are actually 2 search paths: one for
> UDEV_HWDB_PATH, and one for UDEV_HWDB_BIN (the latter accepting only
> 1 value).
Move personal comments below the --- line, keeping explanations above
the ChangeLog.

> * gnu/packages/linux.scm (eudev): Update to v3.2.12, but bump version
> to 3.2.14.beta.
Why not simply use git-version and a commit?  Or alternative have
v3.2.12 as the version while cherry-picking those commits.
> [#:phases] <allow-eudev-hwdb>: New phase.
> <build-hwdb>: Update accordingly.
> [native-search-paths]: Add UDEV_HWDB_PATH.
> * gnu/packages/patches/eudev-bump-to-251.patch: New file.
> * gnu/packages/patches/eudev-hwdb-bin-path.patch: New file.
> * gnu/packages/patches/eudev-pr-255.patch: New file.
You might want to rename these patches to explain what they do in the
file name, e.g. "eudev-libudev251-compat.patch".
> * gnu/packages/linux.scm (eudev): Use them here.
> * gnu/local.mk (dist_patch_DATA): Register them here.
> * guix/profiles.scm (udev-hwdb-bin): New profile hook to generate
> hwdb.bin.
> (%default-profile-hooks): Register it here.
Unless it's absolutely required to make use of eudev, you might want to
separate this hook into a separate patch.

Cheers