[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Guile 3 migration plan
From: |
Ludovic Courtès |
Subject: |
Guile 3 migration plan |
Date: |
Thu, 16 Jan 2020 11:08:15 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello Guix!
Today is Guile 3 day, a day to celebrate, woohoo! \o/
How will Guix migrate to Guile 3? That’s a threefold process:
1. We must first migrate packages. I propose to rename “guile-next”
to “guile” today, such that “guix install guile” will now install
Guile 3 (no mass rebuild involved: the “default” Guile remains
2.2.)
The downside is that if you run “guix install guile guile-json”,
you’ll get Guile 3 with Guile-JSON for 2.2; instead, you have to
explicitly select “guile3.0-json”.
I propose renaming all the “guile3.0-” packages to “guile-”, and
all the “guile-” packages to “guile2.2-” as a second step, which
will address this issue. This could be done within a few days or
weeks.
2. We must be able to run Guix itself on Guile 3. This is already
possible if you add “3.0” to the ‘GUILE_PKG’ invocation in
‘configure.ac’, but there are still a few test failures that I’ve
been working on. Almost all of them relate to the use of ‘@@’ and
‘mock’, which do not work with Guile 3 “declarative modules”.
In many cases, it’s an opportunity to clean up our tests; see for
example 4aea90b1876179aab8d603a42533a6bdf97ccd3c and the preceding
commit. It should be possible to be done real soon!
Once we’re done, we can change (guix self) so that ‘guix pull’
pulls Guix on Guile 3.
3. Change ‘default-guile’ to point to Guile 3 in ‘core-updates’, and
switch all the packages that consume .go files coming from
‘with-imported-modules’ to Guile 3, in particular ‘shepherd’ and
‘mcron’.
Thoughts?
You can celebrate Guile 3 day by helping out any of these! Let’s
synchronize here and on IRC! :-)
Ludo.’
- Guile 3 migration plan,
Ludovic Courtès <=