guix-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]