[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: |
Jan Nieuwenhuizen |
Subject: |
Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers. |
Date: |
Fri, 29 Apr 2016 14:54:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Andy Wingo writes:
>>>> + ,(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.
Oops, changed it to (see below)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "module/ice-9/popen.scm"
(("/bin/sh")
(if bash
(string-append bash "/bin/bash")
"bash")))))
%standard-phases)))
>> 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.
Thank you, that's a helpful observation. Seeing this, yes 3) would be
my choice too.
Thinking about it 2) The Right Thing I had another puzzle-area: why is
it that we have /bin/sh and not /bin/guile in GuixSD; and wouldn't we
want the shell to be schemy-er or, how hard would it be for guile to
parse shell?
Anyway, while testing 3) I realised that whatever we put here is moot, at
least for now, seeing that...
#ifdef HAVE_FORK
static void
scm_init_popen (void)
{
scm_c_define_gsubr ("open-process", 2, 0, 1, scm_open_process);
}
#endif
Sorry for being so dull...there isn't a any of such goodness [yet] in
Windows/MinGW.
>> 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!
Okay, thanks. I'll work on this a bit and present a patch later.
I'm building and will have a v7 patch set rsn.
Greetings,
Jan
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.nl