From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#19816: 'guix environment' always downloads all the outputs of dependencies Date: Sun, 20 Dec 2015 23:34:48 +0100 Message-ID: <87zix4rbp3.fsf@gnu.org> References: <87a90op8gq.fsf@gnu.org> 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]:49695) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAmaD-0007lD-Ru for bug-guix@gnu.org; Sun, 20 Dec 2015 17:36:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aAmaA-0005fL-Ls for bug-guix@gnu.org; Sun, 20 Dec 2015 17:36:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:50738) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aAmaA-0005fH-I3 for bug-guix@gnu.org; Sun, 20 Dec 2015 17:36:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aAmaA-0000qV-E7 for bug-guix@gnu.org; Sun, 20 Dec 2015 17:36:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87a90op8gq.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sun, 08 Feb 2015 19:24:37 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Dave Thompson Cc: 19816@debbugs.gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) skribis: >>From : > > There=E2=80=99s another problem, though. When a dependency is a multiple= -output > package, all its outputs are added to the environment, because > =E2=80=98package->transitive-inputs=E2=80=99 discards the information of = which output is > needed. > > So for instance, both the =E2=80=98out=E2=80=99 and the =E2=80=98debug=E2= =80=99 output of Coreutils end > up being downloaded and added to the environment, even though only =E2=80= =98out=E2=80=99 > is an input. > > Now, the problem is that =E2=80=98build-derivations=E2=80=99 can only bui= ld *all* the > outputs of the given derivation. This could be worked around either: > > 1. by creating a =E2=80=9Csink=E2=80=9D derivation, for instance with > =E2=80=98profile-derivation=E2=80=99, that could refer precisely to = the output(s) > needed; not ideal. David, I think you had started looking at doing exactly this. Do you have a preliminary patch you=E2=80=99d like to post? I understand you may be busy preparing the Lisp Game Jam now and I wouldn=E2=80=99t want to distract you from that. ;-) If you have somethin= g to share, I=E2=80=99m happy to help start from there though (says the guy who = sees its =E2=80=98guix environment=E2=80=99 pointlessly downloading =E2=80=9Cdeb= ug=E2=80=9D and =E2=80=9Cdoc=E2=80=9D outputs again.) Thanks, Ludo=E2=80=99.