all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Andy Wingo <wingo@igalia.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 11/11] gnu: guile-2.0: support mingw.
Date: Sat, 14 May 2016 22:31:06 +0200	[thread overview]
Message-ID: <87poso9yb9.fsf@drakenvlieg.flower> (raw)
In-Reply-To: <87inyn1xk9.fsf@igalia.com> (Andy Wingo's message of "Mon, 09 May 2016 09:48:38 +0200")

[-- Attachment #1: Type: text/plain, Size: 1681 bytes --]

Andy Wingo writes:

Hi Andy,

What I meant to say in my first mail, I'll do in the last.  Thanks so
much again for this round of reviews!  It took me quite some rebuilds
to get sane answers to your remarks and there were some bugs that I
needed to get straightened out first, that's why I could not answer
sooner.

>> -   (native-inputs `(("pkgconfig" ,pkg-config)))
>> +   (native-inputs `(("pkgconfig" ,pkg-config)
>> +                    ,@(if (mingw-target?) `(("bash" ,bash)) '())))
>
> AFAIU we can remove the "bash" thing here, as we decided to punt on
> (ice-9 popen); sound right to you?

Indeed.  Tested without this addition and removed.  (This is about the
native, build-hosts' bash anyway.  I think including the build host bash
explicitly may have been necessary when I was creating the cross-build.)

>> +                       (if bash
>> +                           (string-append bash "/bin/bash")
>> +                           "bash")))))
>
> Needs a comment here explaining that although we should always have bash
> as an input, it isn't packaged yet on mingw so we are falling back to
> finding it in the run-time path if needed.

Added this comment

          ;; 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")
           (if bash
               (string-append bash "/bin/bash")
               "bash")))))

> FWIW although Windows doesn't support `fork', `open-process' should work
> in Windows, and we should therefore be able to get (ice-9 popen) working
> in Windows eventually.

Yes, I agree.
Greetings, Jan


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0011-gnu-guile-2.0-support-mingw.patch --]
[-- Type: text/x-diff, Size: 1787 bytes --]

From dfd0f3dbee2c0062b02c9f35c598d937c85ea614 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 24 Apr 2016 14:06:56 +0200
Subject: [PATCH 11/11] gnu: guile-2.0: support mingw.

* gnu/packages/guile.scm (guile-2.0): Support mingw.
---
 gnu/packages/guile.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 53ea3e5..b4ffe86 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -138,8 +138,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 (mingw-target?) '() `(("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
@@ -167,8 +167,13 @@ 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 bash
+                           (string-append bash "/bin/bash")
+                           "bash")))))
                 %standard-phases)))
 
    (native-search-paths
-- 
2.7.3


[-- Attachment #3: Type: text/plain, Size: 156 bytes --]



-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

  reply	other threads:[~2016-05-14 20:36 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-08 20:42 mingw guile.exe cross build patch series v8 Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 01/11] gnu: Add mingw-w64 Jan Nieuwenhuizen
2016-05-09  7:07   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 02/11] gnu: cross-build: i686-w64-mingw32: new cross target Jan Nieuwenhuizen
2016-05-09  7:15   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-17  7:43       ` Andy Wingo
2016-05-17 22:30         ` Jan Nieuwenhuizen
2016-05-18  7:27           ` Andy Wingo
2016-05-19 22:16             ` Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 03/11] gnu: Add function libiconv-if-needed Jan Nieuwenhuizen
2016-05-09  7:16   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-17  7:44       ` Andy Wingo
2016-05-08 20:42 ` [PATCH 04/11] gnu: libunistring: support mingw: propagate libiconv if needed Jan Nieuwenhuizen
2016-05-09  7:17   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 05/11] gnu: gmp: build shared library for mingw Jan Nieuwenhuizen
2016-05-09  7:20   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 06/11] gnu: ncurses: support mingw Jan Nieuwenhuizen
2016-05-09  7:23   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 07/11] gnu: cross-base: Add cross-libtool Jan Nieuwenhuizen
2016-05-09  7:29   ` Andy Wingo
2016-05-14 20:26     ` Jan Nieuwenhuizen
2016-05-17  7:21       ` Andy Wingo
2016-05-08 20:42 ` [PATCH 08/11] gnu: libtool: support cross-libtool mingw Jan Nieuwenhuizen
2016-05-09  7:39   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 09/11] gnu: ncurses: build mingw with libtool Jan Nieuwenhuizen
2016-05-09  7:44   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 10/11] gnu: readline: support mingw Jan Nieuwenhuizen
2016-05-09  7:44   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 11/11] gnu: guile-2.0: " Jan Nieuwenhuizen
2016-05-09  7:48   ` Andy Wingo
2016-05-14 20:31     ` Jan Nieuwenhuizen [this message]
2016-05-17  7:46       ` Andy Wingo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87poso9yb9.fsf@drakenvlieg.flower \
    --to=janneke@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=wingo@igalia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.