From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Package transformations Date: Mon, 01 Feb 2016 23:35:46 +0100 Message-ID: <87zivkm531.fsf@gnu.org> References: <87egcwaiwm.fsf@gnu.org> <20160201150610.3786621e@debian-netbook> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41917) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQN4a-0004xJ-UX for guix-devel@gnu.org; Mon, 01 Feb 2016 17:35:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQN4X-0003Xv-KX for guix-devel@gnu.org; Mon, 01 Feb 2016 17:35:52 -0500 In-Reply-To: <20160201150610.3786621e@debian-netbook> (Efraim Flashner's message of "Mon, 1 Feb 2016 15:06:10 +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.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Efraim Flashner Cc: guix-devel@gnu.org Efraim Flashner skribis: > I looked over the commit but not deeply enough yet, would it be possible = to > use some of the logic in this to fix the package-with-python2 issue? Nope! > what about extending guix package so you could do `guix package -i $(guix > build foo --with-input=3Dbar=3Dbaz) --named=3Dfoo-baz`, an on-the-fly cus= tom > package? It=E2=80=99s always been possible to do: guix package -i $(guix build --whatever foobar) but it=E2=80=99s a bit lossy in that =E2=80=98guix package=E2=80=99 has to = guess the name, version, and outputs being used, and it cannot know metadata such as the package=E2=80=99s search paths. With yesterday=E2=80=99s change, one can directly run: guix package --with-input=3Dfoo=3Dbar -i foobar > In terms of figuring out how to make it more lasting, it would need to be > expanded if someone wanted to add/remove an input in their GUIX_PACKAGE_P= ATH > and have it propagate through the packages without having to make a custom > version of each one. Or to use as a substitute like when libpng had its C= VE. To preserve these transformations across upgrades, we=E2=80=99d have to wri= te them in profile manifests. This introduces versioning complications (what if the transformation mentioned in the manifest no longer exists when you upgrade, or what if its on-disk format has changed, etc.) Honestly, I=E2=80=99m not sure it=E2=80=99s a good idea to go this far. I= =E2=80=99d rather have people write package variants they care about in a Scheme file. Thoughts? Ludo=E2=80=99.