Subject: Re: [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.

From: Ludovic Courtès <[email-masked]>
Date: Sun, 01 Sep 2024 19:31:35 +0200

Hi David,

"Thompson, David" <[email-masked]> skribis:

> On Fri, Jul 19, 2024 at 4:40 PM Ludovic Courtès <[email-masked]> wrote:
>>
>> Hey,
>>
>> I temporarily reverted the commits that upgrade Guile and adjust Hoot in
>> 31244f5cefae4c14a1a5d441dc3b3626b5f32abc so we can investigate the issue
>> below (which broke ‘guix pull’) without pressure.
>
> Oh no, sorry! I ran 'guix pull' after pushing these commits and didn't
> experience issues so I thought all was well. :(

No worries, I didn’t expect that either.

>> Turns out ‘guile-3.0-latest’ is used to build Guix itself (via ‘guix
>> pull’, but also the ‘guix’ package) and this cause a failure of
>> guix-cli-core.drv:
>
> How about using guile-3.0 for Guix so that future Guile updates can be
> done without fear?

We can do that, though I like the idea of following Guile closely.

[...]

>> Note that ‘bytevector->hash-data’ comes from Guile-Gcrypt, which was
>> itself still compiled with 3.0.9.  So there’s a possibility that the bug
>> comes with this particular combination as is exhibited by cross-module
>> inlining.
>
> Yup, that certainly sounds like what is happening here. Cross-module
> inlining + the new keyword args optimization.

I came up with a reduced test case and reported it here:

  https://issues.guix.gnu.org/72936

Another problem I had forgotten is that Guile current ‘main’ and 3.0.10
fails to build on 32-bit platforms:

  https://issues.guix.gnu.org/72215

The best course of action might be to release 3.0.11 with bug fixes for
at least these two things.  WDYT?

In the meantime, I keep using the Guile channel, which works well for me:

  (channel
    (name 'guile)
    (url "https://git.savannah.gnu.org/git/guile.git")
    (branch "main"))

Ludo’.