From: Andy Wingo <wingo@igalia.com>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.
Date: Fri, 29 Apr 2016 11:36:21 +0200 [thread overview]
Message-ID: <877ffgpxii.fsf@igalia.com> (raw)
In-Reply-To: <87k2jh5w0o.fsf@drakenvlieg.flower> (Jan Nieuwenhuizen's message of "Thu, 28 Apr 2016 22:16:39 +0200")
Hi :)
On Thu 28 Apr 2016 22:16, Jan Nieuwenhuizen <janneke@gnu.org> writes:
>>> @@ -167,7 +172,11 @@ without requiring the source code to be rewritten.")
>>> (let ((bash (assoc-ref inputs "bash")))
>>> (substitute* "module/ice-9/popen.scm"
>>> (("/bin/sh")
>>> - (string-append bash "/bin/bash")))))
>>> + ,(if (mingw-target?)
>>> + "cmd.exe"
>>> + `(if bash
>>> + (string-append bash "/bin/bash")
>>> + "bash"))))))
>>> %standard-phases)))
Note that this patch has an extra level of quoting for the not-mingw
case.
>>
>> I guess the thing is, cmd.exe is part of the system, so it should be
>> linked "dynamically" (i.e. via the PATH); but is cmd.exe really a bash
>> replacement? Is this the right way for open-pipe in Guile to work?
>
> Good question. I don't really know. Probably it's not; but then, even
> if we have bash would't you expect some utils like cat/grep/sed? FWIW,
> I spent two nights trying to port bash before I decided to give up, err
> re-prioritise. I'd love to provide that all, and I'd also love to get
> some help with that ;-)
>
> I can imagine that if I somehow installed a version of bash.exe
> (msys/cygwin) in PATH, I would expect open-pipe to use that rather than
> cmd.
>
> I'm not sure if you have a suggestion for change here, or if we should
> get more input first?
3 options:
1. Run cmd.exe from path. Disadvantage: incompatible interface.
2. Build bash in mingw for Guix; no special cases. The Right Thing.
However I'm OK with accepting a patch that doesn't do this, in the
interests of moving things forward.
3. Run bash from path. Disadvantage: bash probably not in the path and
the invocation would fail. Arguably an early failure is the right
thing, though!
I think I'd go with (3) rather than (1). WDYT? From a Guile
perspective you can always use `open-pipe*' which doesn't trampoline
through a shell at all.
> So, most of the difficulties I had should be fixed now; not sure what
> difficulties the next person will have. So, what to write exactly?
>
> Below is a first attempt that I didn't want to send as a proper patch
> yet. I could do with some input, especially from Manolis.
It's really helpful to me, thank you!
Andy
next prev parent reply other threads:[~2016-04-29 10:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-27 19:27 [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers Jan Nieuwenhuizen
2016-04-28 8:18 ` Andy Wingo
2016-04-28 20:16 ` Jan Nieuwenhuizen
2016-04-28 20:41 ` Jan Nieuwenhuizen
2016-04-29 9:36 ` Andy Wingo [this message]
2016-04-29 12:54 ` Jan Nieuwenhuizen
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=877ffgpxii.fsf@igalia.com \
--to=wingo@igalia.com \
--cc=guix-devel@gnu.org \
--cc=janneke@gnu.org \
/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.