From 58b4e8e877707ec5c42e821d0c4ab5d5558f0e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 May 2013 22:48:57 +0200 Subject: [PATCH] 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. --- gnu/packages/guile.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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