aboutsummaryrefslogtreecommitdiff
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