Patchwork [12/12] gnu: guile-2.0: support mingw.

login
register
mail settings
Submitter Jan Nieuwenhuizen
Date Aug. 18, 2016, 6:08 a.m.
Message ID <20160818060851.2853-13-janneke@gnu.org>
Download mbox | patch
Permalink /patch/14738/
State New
Headers show

Comments

Jan Nieuwenhuizen - Aug. 18, 2016, 6:08 a.m.
* gnu/packages/guile.scm (guile-2.0): Support MinGW.
---
 gnu/packages/guile.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Patch

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index f26cc22..ee84c05 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -143,8 +143,8 @@  without requiring the source code to be rewritten.")
    (native-inputs `(("pkgconfig" ,pkg-config)))
    (inputs `(("libffi" ,libffi)
              ("readline" ,readline)
-             ("bash" ,bash)))
-
+             ,@(libiconv-if-needed)
+             ,@(if (target-mingw?) '() `(("bash" ,bash)))))
    (propagated-inputs
     `( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
        ;; reads `-lltdl -lunistring', adding them here will add the needed
@@ -173,8 +173,15 @@  without requiring the source code to be rewritten.")
                   ;; Tell (ice-9 popen) the file name of Bash.
                   (let ((bash (assoc-ref inputs "bash")))
                     (substitute* "module/ice-9/popen.scm"
+                      ;; If bash is #f allow fallback for user to provide
+                      ;; "bash" in PATH.  This happens when cross-building to
+                      ;; MinGW for which we do not have Bash yet.
                       (("/bin/sh")
-                       (string-append bash "/bin/bash")))))
+                       ,@(if (target-mingw?)
+                             '((if bash
+                                   (string-append bash "/bin/bash")
+                                   "bash"))
+                             '((string-append bash "/bin/bash")))))))
                 %standard-phases)))
 
    (native-search-paths