[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system hea
From: |
Andy Wingo |
Subject: |
Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers. |
Date: |
Fri, 29 Apr 2016 11:36:21 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Hi :)
On Thu 28 Apr 2016 22:16, Jan Nieuwenhuizen <address@hidden> 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