Subject: Re: bug#26805: [PATCH] gs-fonts: add missing podule imports

From: [email-masked] (Ludovic Courtès)
Date: Wed, 10 May 2017 13:53:41 +0200

Sergei Trofimovich <[email-masked]> skribis:

> On Tue, 09 May 2017 12:20:46 +0200
> [email-masked] (Ludovic Courtès) wrote:
>
>> Hello!
>> 
>> Sergei Trofimovich <[email-masked]> skribis:
>> 
>> > On code-updates branch 'gs-fonts' build fails as:
>> >
>> > ice-9/psyntax.scm:1534:32: In procedure expand-macro:
>> > ice-9/psyntax.scm:1534:32: Syntax error:
>> > ...-gs-fonts-8.11-guile-builder:1:2300: source expression failed to match
>> > any pattern in form (%modify-phases phases* (delete (quote configure)))
>> > builder for `/gnu/store/...-gs-fonts-8.11.drv' failed with exit code 1  
>> 
>> Any idea when this problem appeared?  That’s on core-updates, right?
>
> Yes, core-updates. It was caused by guile-2.0->guile-2.2 switch.
>
>> > +      #:modules ((guix build gnu-build-system)
>> > +                 (guix build utils)
>> > +                 (srfi srfi-1))  
>> 
>> The first two modules are here by default (see ‘%default-modules’ in
>> (guix build-system gnu)), so I wonder why adding (srfi srfi-1) would
>> help here.
>> 
>> Thoughts?
>
> In http://lists.gnu.org/archive/html/guix-devel/2017-05/msg00010.html
> thread Andy explains syntax-rules changed the rules on how syntax-match
> is done in guile-2.2: now things are matched by binding, not by name.

Oooooh, right, terrible.

> That means evaluation of -guile-builder needs to keep things in scope at
> <some-strange-evaluation-time-i-have-no-understanding-about> :)
>
> The breakage is quite widespread. Danny applied 3 patches already to fix
> similar problems. I have at least 5 more packages fixed (or "fixed"?) in a
> similar way and more to go.

What about adding (srfi srfi-1) to ‘%default-modules’ in (guix
build-system gnu)?  It’s generally useful anyway.

(Alternately, we could rename SRFI-1’s ‘delete’ in (guix build utils),
so we’d still be matching a literal, but we’d have problems in places
that use both (guix build utils) and (srfi srfi-1).)

Ludo’.