Hello Guix! Ludovic Courtès <l...@gnu.org> skribis:
> 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! Good news everyone! It builds and all the tests pass since 7b2a47a702b7393cd968640079f8703c932d1405, and commit da7651806102d637253cb9f5677b96d6a178fc05 adds a “guile3.0-guix” package! > Once we’re done, we can change (guix self) so that ‘guix pull’ > pulls Guix on Guile 3. The attached patch does that, I tested it with “make as-derivation”. I’ll do some more testing but unless I’m overlooking something, we can apply it anytime now. Ludo’.
diff --git a/guix/self.scm b/guix/self.scm index 207e80d842..f883f14a2c 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -49,13 +49,13 @@ (let ((ref (lambda (module variable) (module-ref (resolve-interface module) variable)))) (match-lambda - ("guile" (ref '(gnu packages commencement) 'guile-final)) - ("guile-json" (ref '(gnu packages guile) 'guile-json-3)) - ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) - ("guile-git" (ref '(gnu packages guile) 'guile-git)) - ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3)) - ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile-gcrypt)) - ("gnutls" (ref '(gnu packages tls) 'gnutls)) + ("guile" (ref '(gnu packages guile) 'guile-3.0)) + ("guile-json" (ref '(gnu packages guile) 'guile3.0-json)) + ("guile-ssh" (ref '(gnu packages ssh) 'guile3.0-ssh)) + ("guile-git" (ref '(gnu packages guile) 'guile3.0-git)) + ("guile-sqlite3" (ref '(gnu packages guile) 'guile3.0-sqlite3)) + ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile3.0-gcrypt)) + ("gnutls" (ref '(gnu packages tls) 'guile3.0-gnutls)) ("zlib" (ref '(gnu packages compression) 'zlib)) ("lzlib" (ref '(gnu packages compression) 'lzlib)) ("gzip" (ref '(gnu packages compression) 'gzip)) @@ -1121,9 +1121,9 @@ is not supported." version)) (define guile - ;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2 - ;; unconditionally. - (default-guile)) + ;; When PULL-VERSION >= 1, produce a self-contained Guix and use the + ;; current Guile unconditionally. + (specification->package "guile")) (when (and (< pull-version 1) (not (string=? (package-version guile) guile-version))) @@ -1142,7 +1142,7 @@ is not supported." (shorten version)) #:pull-version pull-version #:guile-version (if (>= pull-version 1) - "2.2" guile-version) + "3.0" guile-version) #:guile-for-build guile))) (if guix (lower-object guix)