From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: Date: Mon, 18 Nov 2019 17:22:01 +0100 Message-ID: <87zhgtgno6.fsf@gnu.org> References: <20191116032658.42f4533d.kmx@posteo.net> <87eey6jjds.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:470:142:3::10]:46789) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWjnr-00078l-Eb for bug-guix@gnu.org; Mon, 18 Nov 2019 11:23:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWjnq-0008F2-AD for bug-guix@gnu.org; Mon, 18 Nov 2019 11:23:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37311) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iWjnq-0008Ey-6z for bug-guix@gnu.org; Mon, 18 Nov 2019 11:23:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iWjnp-0004bI-Uv for bug-guix@gnu.org; Mon, 18 Nov 2019 11:23:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: (zimoun's message of "Mon, 18 Nov 2019 13:08:10 +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" To: zimoun Cc: 38226@debbugs.gnu.org, Kai Mertens Hi! zimoun skribis: > Hi Ludo, > > On Sun, 17 Nov 2019 at 22:15, Ludovic Court=C3=A8s wrote: > >> The only thing that=E2=80=99s missing here is that currently =E2=80=9Cgu= ix build >> /gnu/store/=E2=80=A6.drv=E2=80=9D fails if the .drv doesn=E2=80=99t alre= ady exist, which is why >> the trick above resorts to a lower-level mechanism. > > I miss how to fetch this missing .drv. :-) > > > For example this evaluation built a recent enough Guix, right? > > $ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivation"' > > > outputs the derivation file. But how do you fetch it? You don=E2=80=99t explicitly fetch it. Instead, you run =E2=80=9Cguix buil= d /=E2=80=A6.drv=E2=80=9D, and the daemon automatically attempts to substitute it if it=E2=80=99s not available in your store (note that you need commit 9c9982dc0c8c38ce3821b154b7e92509c1564317.) Now, I noticed that it doesn=E2=80=99t work so well when =E2=80=98guix publ= ish --cache=E2=80=99 is used, as is the case on berlin. The reason is that the daemon will query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and so on. And because of the =E2=80=98--cache=E2=80=99 behavior, they=E2=80= =99ll all have to be baked separately. Apart from that it=E2=80=99s really fun, I wonder why I=E2=80=99ve never us= ed that feature before! >> Perhaps =E2=80=98guix pull=E2=80=99 should have a =E2=80=98--rescue=E2= =80=99 option to do the trick >> above? > > Is it possible? > We need to track on Cuirass one recent enough derivation of Guix for > each architecture, right? Yeah well, that needs more thought. :-) Thanks, Ludo=E2=80=99.