gnu: git: Resurrect cross-compilation.
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>
Fri, 17 Apr 2020 09:43:23 +0000 (11:43 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 19 Apr 2020 14:18:01 +0000 (16:18 +0200)
* gnu/packages/version-control.scm (git-cross-configure-flags): Add missing
"ac_cv_iconv_omits_bom" flag.
(git)[arguments]: Avoid modify-PATH stage when cross-compiling as it depends
on non-present "bash-for-tests".

gnu/packages/version-control.scm

index b0cf2bd..88a25f0 100644 (file)
@@ -28,6 +28,7 @@
 ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -147,7 +148,8 @@ as well as the classic centralized workflow.")
 
 (define git-cross-configure-flags
   '("ac_cv_fread_reads_directories=yes"
-    "ac_cv_snprintf_returns_bogus=no"))
+    "ac_cv_snprintf_returns_bogus=no"
+    "ac_cv_iconv_omits_bom=no"))
 
 (define-public git
   (package
@@ -251,16 +253,19 @@ as well as the classic centralized workflow.")
                  ,@%gnu-build-system-modules)
       #:phases
       (modify-phases %standard-phases
-        (add-after 'unpack 'modify-PATH
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((path (string-split (getenv "PATH") #\:))
-                  (bash-full (assoc-ref inputs "bash-for-tests")))
-              ;; Drop the test bash from PATH so that (which "sh") and
-              ;; similar does the right thing.
-              (setenv "PATH" (string-join
-                              (remove (cut string-prefix? bash-full <>) path)
-                              ":"))
-              #t)))
+        ;; We do not have bash-for-tests when cross-compiling.
+        ,@(if (%current-target-system)
+              '()
+              `((add-after 'unpack 'modify-PATH
+                  (lambda* (#:key inputs #:allow-other-keys)
+                    (let ((path (string-split (getenv "PATH") #\:))
+                          (bash-full (assoc-ref inputs "bash-for-tests")))
+                      ;; Drop the test bash from PATH so that (which "sh") and
+                      ;; similar does the right thing.
+                      (setenv "PATH" (string-join
+                                      (remove (cut string-prefix? bash-full <>) path)
+                                      ":"))
+                      #t)))))
         ;; Add cross curl-config script to PATH when cross-compiling.
         ,@(if (%current-target-system)
               '((add-before 'configure 'add-cross-curl-config