Subject: [PATCH] gnu: libatasmart: Fix cross-compiling to riscv64-linux.
From: Zheng Junjie <[email-masked]>
To: [email-masked]
Date: Sat, 23 Mar 2024 00:44:20 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/freedesktop.scm (libatasmart)
[native-inputs]: When cross compiling to riscv64-linux-gnu, add config.
[arguments]: When target riscv64-linux-gnu, add update-config phase.

Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb
---
 gnu/packages/freedesktop.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 8a4f490be2..5518d38af5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1525,7 +1525,25 @@ (define-public libatasmart
                 "138gvgdwk6h4ljrjsr09pxk1nrki4b155hqdzyr8mlk3bwsfmw31"))))
     (build-system gnu-build-system)
     (native-inputs
-     (list pkg-config))
+     (append (if (and (%current-target-system)
+                      (target-riscv64?))
+                 (list config)
+                 '())
+             (list pkg-config)))
+    (arguments
+     (if (and (%current-target-system)
+              (target-riscv64?))
+         (list #:phases
+               #~(modify-phases %standard-phases
+                   (add-after 'unpack 'update-config
+                     (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                       (for-each (lambda (file)
+                                   (install-file
+                                    (search-input-file
+                                     (or native-inputs inputs)
+                                     (string-append "/bin/" file)) "build-aux"))
+                                 '("config.guess" "config.sub"))))))
+         '()))
     (inputs
      (list eudev))
     (home-page "https://0pointer.de/blog/projects/being-smart.html")

base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac
-- 
2.41.0