From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id aMjbOVLd6F5xQgAA0tVLHw (envelope-from ) for ; Tue, 16 Jun 2020 14:55:14 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id GDKtNVLd6F5UJAAAB5/wlQ (envelope-from ) for ; Tue, 16 Jun 2020 14:55:14 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A90B29403E9 for ; Tue, 16 Jun 2020 14:55:14 +0000 (UTC) Received: from localhost ([::1]:38436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jlCzZ-00043k-Ju for larch@yhetil.org; Tue, 16 Jun 2020 10:55:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jlCZy-0003gF-4k for guix-devel@gnu.org; Tue, 16 Jun 2020 10:28:46 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:51120) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jlCZw-0008UX-3N for guix-devel@gnu.org; Tue, 16 Jun 2020 10:28:45 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 9212c5b6; Tue, 16 Jun 2020 14:28:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date :in-reply-to:references:mime-version:content-type :content-transfer-encoding:subject:to:from:message-id; s=dkim; bh=hI6woGAYk9VNVgSC7r50yyJ4dndWh5wJIFIm+PtmwG8=; b=X3IxlcGn5kJH dxYjzFZAu+m4m+UV1HOLk0ILG5iBXD6xdBptN27L/zOw9FRuoI6hYqpkEiu8KCW4 OuKHHyPEaJ1s5W/UicufcbhPd3mUuaK5JxLTDJ9ic7s7wVZIY+NLIQSOM6zTc2Zp MJftiaJpcvufMQBBuwhUPeFIgfeX49DihJfBgaXIDN9xmaSb5VlygH1ckU7mYxXM +r8LjHDdGb9KA98ScwpbAUZEnbjY7WAU65z5wForud/XBLRtafmxearGpaPs4bij Nzpo7tmM+5PwJsvkUR6YJ0XhOpoI9iBy6yxisEUJa3rlPgMdfcGqw/Hgh/3SQTvR 44DnUxr/2Q== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 0f34bbca (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Tue, 16 Jun 2020 14:28:36 +0000 (UTC) Date: Tue, 16 Jun 2020 10:28:06 -0400 User-Agent: K-9 Mail for Android In-Reply-To: <86zh93qj1l.fsf@gmail.com> References: <86zh93qj1l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: (propagated) 'inputs' depends on 'outputs'? To: zimoun ,guix-devel@gnu.org From: Julien Lepiller Message-ID: Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lepiller.eu header.s=dkim header.b=X3IxlcGn; dmarc=pass (policy=none) header.from=lepiller.eu; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -0.71 X-TUID: uxYBsFc1aXXH Le 16 juin 2020 08:41:58 GMT-04:00, zimoun a= =C3=A9crit : >Bonjour Julien, > >On Sat, 13 Jun 2020 at 07:38, Julien Lepiller >wrote: > >> Exactly, no=2E You cannot separate inputs from outputs, because they >are >> part of the same derivation=2E When you build an output, you actually >> build the complete derivation and there's no way to separate that in >> "this part builds out" and "this part builds doc", etc=2E > >So it means that I need to build all the outputs even if I am >interested >in only one, right? Absolutely, but you shouldn't thenk of it as building multiple outputs, be= cause you are really just building one thing: there is only one package obj= ect, one derivation=2E It happens to create multiple directories in the sto= re, but there's only one thing you build=2E > >If I run "guix install foo:out --no-substitutes" then I potentially >build any other "outputs"" of foo, e=2Eg=2E, "doc" i=2Ee=2E, potentially >download a lot of TeX stuff, or in the case of Git, all the Subversion >stuff=2E Right? Yes, because building foo:out doesn't make sense=2E You build foo and guix= is nice enough to understand that's wgat you mean :) > >Even if at the end, only the references used by "foo:out" will be >tracked and all the others potentially garbage collected=2E Right? > > >> It would make sense to only propagate for some outputs: suppose at >> runtime only foo:bin requires the propagation of bar=2E Since foo and >> bar are already built, it should be possible to restrict the >> propagation behaviour to that output=2E Foo:out would not bring in bar >> anymore, reducing the closure size=2E > >Yes, it seems making sense to only propagated if the output needs it=2E >Well, if it is not implemented yet maybe it is because it is not really >necessary=2E :-) That cannot be automated because usually we use propagation when there is = no direct reference=2E It wouldn't be useful otherwise=2E > > >Thank you for explaining=2E It is clearer for me now=2E > >Cheers, >simon