From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: Re: Guile 3 migration plan Date: Thu, 16 Jan 2020 14:57:15 +0100 Message-ID: References: <874kwvemsw.fsf@inria.fr> 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]:46460) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1is5eM-0001OE-I5 for guix-devel@gnu.org; Thu, 16 Jan 2020 08:57:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1is5eL-0002xu-4G for guix-devel@gnu.org; Thu, 16 Jan 2020 08:57:30 -0500 In-Reply-To: <874kwvemsw.fsf@inria.fr> 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: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: Guix-devel Hi, On Thu, 16 Jan 2020 at 11:08, Ludovic Court=C3=A8s wrote: > 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 gu= ile=E2=80=9D will now install > Guile 3 (no mass rebuild involved: the =E2=80=9Cdefault=E2=80=9D Gui= le remains > 2.2.) > > The downside is that if you run =E2=80=9Cguix install guile guile-js= on=E2=80=9D, > you=E2=80=99ll get Guile 3 with Guile-JSON for 2.2; instead, you hav= e to > explicitly select =E2=80=9Cguile3.0-json=E2=80=9D. > > 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 is not related to only the migration to Guile 3 but I feel something is lacking about switching between the underlying "compiler" used by the build system. I agree that it is combinatorial and so not possible to support all. However, I would like to easily switch between Guile 2 and Guile 3, between R 3.6 and R 3.5, between GCC 8 and GCC 9, etc. building the same definition of the package using another "builder" than the default one. For example, today there is the 'package-with-python2' function to use Python 2 instead of Python 3 for the same python-package. There is also 'package-with-explicit-inputs' to help to switch. Or the 'inherit' mechanism. But it does not appear to me easy to finely tune the building toolchain. Well, does it make sense to expose "parameters" as the version of the compiler/interpreter of the build systems? All the best, simon