aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-05-27 22:48:57 +0200
committerLudovic Courtès <ludo@gnu.org>2013-05-27 23:43:00 +0200
commit58b4e8e877707ec5c42e821d0c4ab5d5558f0e73 (patch)
treed84cd7af8b0e252b2a8a9fcb084541898d63d987
parentd581acee5b08ea1af520cc2e8a3642b0c3924e43 (diff)
downloadguix-58b4e8e877707ec5c42e821d0c4ab5d5558f0e73.tar
guix-58b4e8e877707ec5c42e821d0c4ab5d5558f0e73.tar.gz
gnu: guile: More cross-compilation tweaks.
* gnu/packages/guile.scm (guile-2.0): When cross-compiling, unset GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH, and set CC_FOR_BUILD=gcc.
-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