summary refs log tree commit diff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm18
1 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 48d10cc9f8..b53f3eb770 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -142,13 +142,29 @@ extensible.  It supports many SRFIs.")
     `(#:phases (alist-cons-before
                 'configure 'pre-configure
                 (lambda* (#:key inputs #:allow-other-keys)
+                  ;; By default we end up with GUILE_LOAD_PATH="" and
+                  ;; GUILE_LOAD_COMPILED_PATH="".  But that is equivalent to
+                  ;; ".", and breaks the build system when cross-compiling.
+                  ;; Thus, make sure they are unset.
+                  ;; TODO: Eventually fix `set-path-environment-variable'
+                  ;; for that case.
+                  ,@(if (%current-target-system)
+                        '((unsetenv "GUILE_LOAD_PATH")
+                          (unsetenv "GUILE_LOAD_COMPILED_PATH"))
+                        '())
+
+                  ;; Tell (ice-9 popen) the file name of Bash.
                   (let ((bash (assoc-ref inputs "bash")))
                     (substitute* "module/ice-9/popen.scm"
                       (("/bin/sh")
                        (string-append bash "/bin/bash")))))
                 ,(if (%current-target-system)
                      '%standard-cross-phases
-                     '%standard-phases))))
+                     '%standard-phases))
+
+      ,@(if (%current-target-system)
+            '(#:configure-flags '("CC_FOR_BUILD=gcc"))
+            '())))
 
    (native-search-paths
     (list (search-path-specification