Subject: [PATCH v2 13/15] gnu: isl: Fix build to loongarch64.

From: Zheng Junjie <[email-masked]>
Date: Sat, 25 Jan 2025 00:39:11 +0800

From: Zheng Junjie <[email-masked]>

* gnu/packages/gcc.scm (isl)[arguments]: When target is loongarch64, Add
update-config-scripts phase.
[native-inputs]: When target is loongarch64, Add config.

Change-Id: If60b28f64dd3285f5b89000c42e714be07876400
---
 gnu/packages/gcc.scm | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 6247919fec4..36783af37da 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages gcc)
   #:use-module ((guix licenses)
                 #:select (gpl3+ gpl2+ lgpl2.1+ lgpl2.0+ fdl1.3+))
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages bootstrap)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages multiprecision)
@@ -1416,7 +1417,7 @@ (define-public isl
     (build-system gnu-build-system)
     (outputs '("out" "static"))
     (arguments
-     '(#:phases (modify-phases %standard-phases
+     `(#:phases (modify-phases %standard-phases
                   (add-after 'install 'move-static-library
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let* ((out (assoc-ref outputs "out"))
@@ -1431,7 +1432,21 @@ (define-public isl
                         ;; libtool looks for it in the usual locations.
                         (substitute* (string-append out "/lib/libisl.la")
                           (("^old_library=.*")
-                           "old_library=''\n"))))))))
+                           "old_library=''\n")))))
+                  ,@(if (target-loongarch64?)
+                        `((add-after 'unpack 'update-config-scripts
+                            (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                              ;; Replace outdated config.guess and config.sub.
+                              (for-each (lambda (file)
+                                          (install-file
+                                           (search-input-file
+                                            (or native-inputs inputs)
+                                            (string-append "/bin/" file)) "."))
+                                        '("config.guess" "config.sub")))))
+                        '()))))
+    (native-inputs (if (target-loongarch64?)
+                       (list config)
+                       '()))
     (inputs (list gmp))
     (home-page "https://libisl.sourceforge.io/") ;https://repo.or.cz/w/isl.git
     (properties `((release-monitoring-url . ,home-page)))
-- 
2.47.1