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: Thu, 16 Jan 2020 18:23:50 +0100 Message-ID: <87zhenb9i1.fsf@gnu.org> References: <874kwvemsw.fsf@inria.fr> <20200116145731.GB23583@E5400> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:56960) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1is8s7-0006IX-MJ for guix-devel@gnu.org; Thu, 16 Jan 2020 12:23:56 -0500 In-Reply-To: <20200116145731.GB23583@E5400> (Efraim Flashner's message of "Thu, 16 Jan 2020 16:57:31 +0200") 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: Efraim Flashner Cc: Guix-devel Hello! Efraim Flashner skribis: > On Thu, Jan 16, 2020 at 11:08:15AM +0100, Ludovic Court=C3=A8s wrote: >> Hello Guix! >>=20 >> Today is Guile 3 day, a day to celebrate, woohoo! \o/ >>=20 >> How will Guix migrate to Guile 3? That=E2=80=99s a threefold process: >>=20 >> 1. We must first migrate packages. I propose to rename =E2=80=9Cguile= -next=E2=80=9D >> to =E2=80=9Cguile=E2=80=9D today, such that =E2=80=9Cguix install g= uile=E2=80=9D will now install >> Guile 3 (no mass rebuild involved: the =E2=80=9Cdefault=E2=80=9D Gu= ile remains >> 2.2.) >>=20 >> The downside is that if you run =E2=80=9Cguix install guile guile-j= son=E2=80=9D, >> you=E2=80=99ll get Guile 3 with Guile-JSON for 2.2; instead, you ha= ve to >> explicitly select =E2=80=9Cguile3.0-json=E2=80=9D. > > I feel like these should move together. Imagine if we had python > libraries that only worked with python2 but called them python-foo > anyway. Having consistent naming between the packages is important. Note that it means that a number of =E2=80=9Cguile-=E2=80=9D packages (thos= e that do not work yet with Guile 3) will disappear or be temporarily superseded by a =E2=80=9Cguile2.2-=E2=80=9D package, which again will not work with Guile 3. So it=E2=80=99s not a great solution either; people may still have to expli= citly select guile@2 or something. WDYT? Now, whatever we choose, we can add an entry to =E2=80=98etc/news.scm=E2=80= =99 to make the transition smoother. >> I propose renaming all the =E2=80=9Cguile3.0-=E2=80=9D packages to = =E2=80=9Cguile-=E2=80=9D, and >> all the =E2=80=9Cguile-=E2=80=9D packages to =E2=80=9Cguile2.2-=E2= =80=9D as a second step, which >> will address this issue. This could be done within a few days or >> weeks. > > It seems to me we could switch the guile packages to guile3.0 and leave > guix at guile2.2. In any case, we should create a guix-with-guile3 > package to encourage people to try to fix bugs and try it out. Sure. >> 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 fail= ures 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=9Cdec= larative modules=E2=80=9D. >>=20 >> In many cases, it=E2=80=99s an opportunity to clean up our tests; s= ee for >> example 4aea90b1876179aab8d603a42533a6bdf97ccd3c and the preceding >> commit. It should be possible to be done real soon! > > I'm going to miss '@@' It=E2=80=99s still there, it just doesn=E2=80=99t give you what you want in= some cases. Anyhow, happy Guile 3 day! :-) Ludo=E2=80=99.