Subject: Re: [bug#33920] [PATCH] gnu: Add gauche.

From: Gabriel Hondet <[email-masked]>
Date: Sat, 12 Jan 2019 11:25:26 +0100

Hi Ludovic,

On Wed 09 Jan 2019 at 16:56 Ludovic Courtès wrote:

> As swedebugia noted, Gauche uses libgc and libatomic-ops.  Could you
> try to add these two libraries as inputs and to adjust the package to
> make sure it does not use the bundled copies?

Sure I'll work on it.

>> +(define-public gauche
>> +  (package
>> +    (name "gauche")
>> +    (version "0.9.7")
>> +    (home-page "http://practical-scheme.net/gauche/index.html")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (string-append
>> +             "http://prdownloads.sourceforge.net/gauche/Gauche-"
>> +             version ".tgz"))
>
> Please use mirror://sourceforge here.

As far as I understand, I should use
   "mirror://sourceforge/gauche/Gauche-"
but it does not work (redirections fail with a 404 not found error).

>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch-/bin/sh
>> +           ;; needed only for tests
>> +           (lambda _
>> +             (begin
>> +               (setenv "CONFIG_SHELL" (which "sh"))
>> +               (substitute* '("configure"
>> +                              "test/www.scm"
>> +                              "config.guess"
>> +                              "ltmain.sh"
>> +                              "ext/tls/test.scm"
>> +                              "gc/configure"
>> +                              "lib/gauche/configure.scm"
>> +                              "lib/gauche/package/util.scm"
>> +                              "lib/gauche/process.scm")
>> +                 (("/bin/sh") (which "sh")))
>
> This looks redundant with what the standard ‘patch-source-shebangs’ and
> ‘configure’ phases do, no?

Isn't 'patch-source-shebangs' only patching the shebangs?  Because here
I have to patch other path specifications in the source as well.  On the
other hand, for the 'setenv', you are totally right.

> Out of curiosity, do these tests rely on specific host name lookups or
> external services?

I'll look at it.

Thank you for these useful and essential tips,
Gabriel