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: 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  



reply via email to

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