From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: Guile 3 migration plan Date: Fri, 17 Jan 2020 22:48:58 +0100 Message-ID: <871rrxycs5.fsf@gnu.org> References: <874kwvemsw.fsf@inria.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:54541) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1isZUC-0000o2-9R for guix-devel@gnu.org; Fri, 17 Jan 2020 16:49:01 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41049) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1isZUC-000719-3c for guix-devel@gnu.org; Fri, 17 Jan 2020 16:49:00 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53380 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1isZUB-0007wu-MA for guix-devel@gnu.org; Fri, 17 Jan 2020 16:48:59 -0500 In-Reply-To: <874kwvemsw.fsf@inria.fr> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22\?\= \=\?utf-8\?Q\?'s\?\= message of "Thu, 16 Jan 2020 11:08:15 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: Guix-devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Guix! Ludovic Court=C3=A8s skribis: > 2. We must be able to run Guix itself on Guile 3. This is already > possible if you add =E2=80=9C3.0=E2=80=9D to the =E2=80=98GUILE_PKG= =E2=80=99 invocation in > =E2=80=98configure.ac=E2=80=99, but there are still a few test failu= res that I=E2=80=99ve > been working on. Almost all of them relate to the use of =E2=80=98@= @=E2=80=99 and > =E2=80=98mock=E2=80=99, which do not work with Guile 3 =E2=80=9Cdecl= arative modules=E2=80=9D. > > In many cases, it=E2=80=99s an opportunity to clean up our tests; se= e 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 =E2=80=9Cguile3.0-guix=E2= =80=9D package! > Once we=E2=80=99re done, we can change (guix self) so that =E2=80=98= guix pull=E2=80=99 > pulls Guix on Guile 3. The attached patch does that, I tested it with =E2=80=9Cmake as-derivation= =E2=80=9D. I=E2=80=99ll do some more testing but unless I=E2=80=99m overlooking someth= ing, we can apply it anytime now. Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline 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) --=-=-=--