Simon South wrote 1 years ago
(address . guix-patches@gnu.org)
Here are a couple patches that fix build failures of libsmbios, a library for
accessing System Management BIOS[0] data, by restricting its package to only
platforms the library supports (Linux on x86 and x86-64).
They also make libsmbios an optional input to fwupd (its only dependent),
allowing fwupd to build successfully on non-Intel/AMD platforms.
I've tested this on AArch64 and x86-64 and everything appears fine. I've been
unable to test cross-building fwupd, though, as this fails with
guix build: error: gnu/packages/gnome.scm:3504:2: librsvg@2.56.4: build
system `cargo' does not support cross builds
By way of justification for these changes: libsmbios is intended for PCs and
expects[1] to find a sys/io.h header file on the host. This is supplied by
glibc only for architectures that support peripheral I/O via ports: x86,
x86-64 and DEC Alpha using Linux; and i386 using the Hurd[2].
Of these Guix does not support Linux on Alpha, while libsmbios does not
support the Hurd at all[3].
--
Simon South
simon@simonsouth.net
[2] "find -type f -name 'io.h'" at the top level of glibc's source tree makes
this apparent.
Simon South (2):
gnu: libsmbios: Restrict to only supported systems.
gnu: fwupd: Depend on libsmbios only on supported systems.
gnu/packages/firmware.scm | 34 +++++++++++++++++++---------------
gnu/packages/hardware.scm | 1 +
2 files changed, 20 insertions(+), 15 deletions(-)
base-commit: ac69b423865f12310cef5662d9c303aa4b90c869
--
2.41.0