From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#27284: [PATCH 0/8] 'guix pull' creates several derivations Date: Tue, 21 Nov 2017 23:26:39 +0100 Message-ID: <87lgizz2sg.fsf@gnu.org> References: <87poamv2i7.fsf@gnu.org> <20171020160557.27096-1-ludo@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]:46397) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHH0V-0006PF-9v for bug-guix@gnu.org; Tue, 21 Nov 2017 17:27:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHH0Q-0000vf-Gc for bug-guix@gnu.org; Tue, 21 Nov 2017 17:27:07 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:42886) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eHH0Q-0000vA-Ch for bug-guix@gnu.org; Tue, 21 Nov 2017 17:27:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20171020160557.27096-1-ludo@gnu.org> ("Ludovic \=\?utf-8\?Q\?Cou\?\= \=\?utf-8\?Q\?rt\=C3\=A8s\=22's\?\= message of "Fri, 20 Oct 2017 18:05:49 +0200") 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" To: 27284@debbugs.gnu.org Hello! Ludovic Court=C3=A8s skribis: > This patch set leads us to a =E2=80=98guix pull=E2=80=99 that creates sev= eral > derivations instead of just one: =E2=80=9Cguix-core=E2=80=9D (38 files), = =E2=80=9Cguix-extra=E2=80=9D, > =E2=80=9Cguix-packages=E2=80=9D (388 files), =E2=80=9Cguix-cli=E2=80=9D, = =E2=80=9Cguix-system=E2=80=9D. > > The idea is that we should be able to have substitutes for at least some > of them, for instance because =E2=80=9Cguix-core=E2=80=9D doesn=E2=80=99t= need to be rebuilt > very often. Most of the time, users will just have to build > =E2=80=9Cguix-packages=E2=80=9D, which is still a bit slow, but will hope= fully get > better as Guile incorporates those long-awaited fixes. I=E2=80=99ve just pushed this, let me know how =E2=80=98guix pull=E2=80=99 = works for you! In addition to this, I=E2=80=99ve created a Hydra job to build this new =E2=80=9Cmodular Guix=E2=80=9D: https://hydra.gnu.org/jobset/guix/modular If everything goes well, this should give us substitutes for at least =E2=80=9Cguix-core=E2=80=9D and =E2=80=9Cguix-extra=E2=80=9D. We have yet = to see how long it takes to evaluate it on hydra.gnu.org and adjust the evaluation frequency accordingly. > The =E2=80=98reload-guix=E2=80=99 procedure there is here to fix that: we= reload all the > Guix modules of the target checkout, and run the build procedure from > that context. Unfortunately, it=E2=80=99s not fully baked yet because re= loading > leads to incompatibilities: the (guix scripts pull) module remains in > the =E2=80=9Cold world=E2=80=9D and manipulates the old and = > record types, which is different from the new ones. That should be > fixable, but requires some more time and fiddling. Help from Guilers is > very much welcome! :-) This part is currently commented out, it needs more work. The main issue is performance: we end up evaluating or building a lot of modules, notably package modules, and again we hit the performance issues of the compiler in Guile 2.2.2. Ludo=E2=80=99.