From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: Grafts, revisited Date: Sun, 29 Mar 2020 17:12:28 +0200 Message-ID: <87tv27xkir.fsf@gnu.org> References: <87k138ihll.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]:38761) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jIZbz-0003H1-Oi for guix-devel@gnu.org; Sun, 29 Mar 2020 11:12:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52392) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jIZbz-00008e-KT for guix-devel@gnu.org; Sun, 29 Mar 2020 11:12:31 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=49808 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jIZby-0006Mp-9y for guix-devel@gnu.org; Sun, 29 Mar 2020 11:12:31 -0400 In-Reply-To: <87k138ihll.fsf@inria.fr> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22\?\= \=\?utf-8\?Q\?'s\?\= message of "Wed, 25 Mar 2020 16:23:18 +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: guix-devel@gnu.org Hello Guix! Ludovic Court=C3=A8s skribis: > To address that, I think we need a better way to handle =E2=80=9Cdynamic > dependencies=E2=80=9D. The =E2=80=98wip-build-accumulator=E2=80=99 branc= h does that by taking > advantage of =E2=80=98with-build-handler=E2=80=99. On that branch, graft= s no longer use > substitute info. Instead, they just build missing store items and get > their references. To avoid building things one by one, we install a > build handler that =E2=80=9Caccumulates=E2=80=9D the list of =E2=80=98bui= ld-things=E2=80=99 requests; > eventually, we build all these things at once and resume the > continuations of the =E2=80=98build-things=E2=80=99 calls. The goal here= is to improve > efficiency and to allow the UI to shows these stages in a meaningful > way. Here=E2=80=99s a sample session (slightly edited for clarity) I went ahead and merged =E2=80=98wip-build-accumulator=E2=80=99 in master b= ecause it=E2=80=99s better than the status quo. This fixes this 3.5-year old bug: https://issues.guix.gnu.org/issue/22990 Woohoo! If anything looks wrong or otherwise =E2=80=9Cweird=E2=80=9D, please report= a bug! If you feel happier with this change, enjoy! :-) Ludo=E2=80=99.