From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: Parameterized packages Date: Sun, 19 Jan 2020 21:34:42 +0100 Message-ID: <87d0bfrxr1.fsf@gnu.org> References: <8736ldq74z.fsf@netris.org> <20190719202906.lbanx5puk7t6q4cr@cf0> <87a7753boq.fsf@ambrevar.xyz> <87h813wah0.fsf@gnu.org> <87v9piut40.fsf@ambrevar.xyz> <87o8v5ukgb.fsf@ambrevar.xyz> <87d0blhr9s.fsf@ambrevar.xyz> <20200116190644.uytvzvypuvdwh2iq@n0> 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]:42208) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itHHR-0000fL-6K for guix-devel@gnu.org; Sun, 19 Jan 2020 15:34:46 -0500 In-Reply-To: (zimoun's message of "Fri, 17 Jan 2020 16:53:58 +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: zimoun Cc: Guix Devel Hi, zimoun skribis: > To be clear, the seed (bootstrap) fixes how the compilers OCaml@4.01, > OCaml@4.07, OCaml@4.09, CPython@2.7, CPython@3.5, CPython@3.6, PyPy > (not yet in Guix), GCC@8, GCC@9, Clang@8, Clang@9, etc are compiled. > Then, it is difficult to use them to compile a package with one of > them. > > Do we end with 'package-with-ocaml4.01', 'package-with-ocaml4.07', > 'package-with-ocaml4.09', 'package-with-python2', > 'package-with-python3.5', 'package-with-python3.6', > 'package-with-pypy', 'package-with-gcc8', 'package-with-gcc9', etc.? > > Do the users have to write all these 'package-with-'? > And if one wants to use CPython@3.5 and GCC@8, does they need to > define the package using: > > (define-public my-foo > (package-with-python3.5 > (package-with-gcc8 foo))) > > ? > > I feel something is lacking. I agree. =E2=80=98package-input-rewriting=E2=80=99 gives us almost what yo= u want, with the limitation that implicit inputs are ignored (which is a good thing sometimes, and a problem in cases where you want to experiment with toolchains, as you write). What we=E2=80=99d need is a variant of =E2=80=98package-input-rewriting=E2= =80=99 that somehow walks through implicit dependencies. It could do that by changing the build system, I guess. Thanks, Ludo=E2=80=99.