From d2e03bf41495d317ab5ce557f1b4ccd01f6fb0fc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 10 Jul 2025 10:33:01 +0300 Subject: [PATCH] gnu: libcpuid: Build on more architectures. * gnu/packages/hardware.scm (libcpuid)[arguments]: When building for armhf-linux or aarch64-linux adjust the 'absoultize phase to adjust the dkms installation directory. [inputs]: When building for armhf-linux or aarch64-linux add linux-libre-headers. [supported-systems]: Also allow armhf and aarch64 systems. Change-Id: Idd24651da77129782461074caae9a3cc3dcaf351 --- gnu/packages/hardware.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index c5b86dbb060..e9ac0dd9c18 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1476,14 +1476,26 @@ management, attestation, encryption, and signing.") (substitute* '("libcpuid/rdmsr.c" "libcpuid/rdcpuid.c") (("modprobe") - (search-input-file inputs "/bin/modprobe"))))))))) + (search-input-file inputs "/bin/modprobe")))) + ;; TODO: Build kernel module. + (when (and #$(target-linux?) + #$(target-arm?)) + (substitute* "drivers/arm/linux/CMakeLists.txt" + (("/usr/src/") (string-append #$output "/src/"))))))))) (inputs - (if (target-linux?) - (list kmod) - '())) + (append + (if (target-linux?) + (list kmod) + '()) + (if (and (target-arm?) + (target-linux?)) + (list linux-libre-headers) + '()) + '())) (native-inputs (list python-3)) ;required by tests (supported-systems - (filter (lambda (t) (or (target-x86-64? t) (target-x86-32? t))) + (filter (lambda (t) (or (target-x86-64? t) (target-x86-32? t) + (target-aarch64? t) (target-arm32? t))) %supported-systems)) (home-page "https://libcpuid.sourceforge.net/") (synopsis "Small library for x86 CPU detection and feature extraction")