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

From: "Thompson, David" <[email-masked]>
Date: Mon, 9 Sep 2024 08:24:06 -0400

Hey Ludo,

On Sun, Sep 1, 2024 at 1:31 PM Ludovic Courtès <[email-masked]> wrote:
>
> 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.

Okay, let's not do this, then. :)

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

Awesome, thanks!  Forwarded this to Andy.

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

Yes, I think skipping 3.0.10 entirely makes sense.  I will update
guile-next at some point, though, since these issues are already
present in the current version of that package.

> 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"))

Oh neat, I didn't realize this was a thing.

Thanks,

- Dave