From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#27284: =?UTF-8?Q?=E2=80=98guix_?= =?UTF-8?Q?pull=E2=80=99?= builds using multiple derivations Date: Mon, 09 Apr 2018 21:53:24 +0200 Message-ID: <87po38noln.fsf@elephly.net> References: <87h8tnz1dx.fsf@gnu.org> <20171211105253.9670-1-ludo@gnu.org> <20171211105253.9670-4-ludo@gnu.org> <871sjst76a.fsf@gnu.org> <87d0zpyj5d.fsf_-_@gnu.org> <87zi2dvemk.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]:45525) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f5cre-0001iX-L6 for bug-guix@gnu.org; Mon, 09 Apr 2018 15:54:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f5cra-0008R4-GB for bug-guix@gnu.org; Mon, 09 Apr 2018 15:54:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:36377) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f5cra-0008Qq-Av for bug-guix@gnu.org; Mon, 09 Apr 2018 15:54:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <87zi2dvemk.fsf@gnu.org> 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 27284-done@debbugs.gnu.org, Maxim Cournoyer Hi Ludo, > After quite a bit of tweaking I=E2=80=99ve finally pushed this patch seri= es to > master. So if you run =E2=80=98guix pull=E2=80=99 now, you=E2=80=99ll ge= t the new > multiple-derivation build. This is really great! I=E2=80=99m very happy that this is finally in the m= aster branch. Thank you! As discussed on IRC, there is a problem when running =E2=80=9Cguix pull=E2= =80=9D with an older version of Guix that is still using Guile 2.0, which seems to be adequately fixed by your patch: --8<---------------cut here---------------start------------->8--- diff --git a/guix/self.scm b/guix/self.scm index c9e4a4250..c19b0f6fb 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -88,7 +88,11 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the= packages matches." ("bzip2" (ref '(gnu packages compression) 'bzip2)) ("xz" (ref '(gnu packages compression) 'xz)) ("guix" (ref '(gnu packages package-management) - 'guix-register))))) + 'guix-register)) + ("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json)) + ("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh)) + ("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git)) + (_ #f)))) ;no such package =0C ;;; --8<---------------cut here---------------end--------------->8--- A remaining problem for me was that =E2=80=9C(guix docker)=E2=80=9D could n= ot be built because =E2=80=9C(json)=E2=80=9D was supposedly not available. None of this seems to be a problem when using Guile 2.2. > =E2=80=A2 The =E2=80=9Cguix-packages=E2=80=9D derivation is coarse-grai= n. We could perhaps > automatically split it in clusters of modules by analyzing the (gnu > packages =E2=80=A6) module graph. I think we should do this anyway and try to split up large modules and reduce inter-module dependencies. > This works unlocks some of the stuff in , so > I=E2=80=99ll try to focus on that now. Exciting! -- Ricardo