Subject: Re: bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error:

From: zimoun <[email-masked]>
Date: Mon, 18 Nov 2019 13:08:10 +0100

Hi Ludo,

On Sun, 17 Nov 2019 at 22:15, Ludovic Courtès <[email-masked]> wrote:

> The only thing that’s missing here is that currently “guix build
> /gnu/store/….drv” fails if the .drv doesn’t already 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?

--8<---------------cut here---------------start------------->8---
$ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivation"'
--8<---------------cut here---------------start------------->8---

outputs the derivation file. But how do you fetch it?

I have not found in the Cuirass API doc. Maybe I missing the obvious.

Then, once I have downloaded this derivation, the old Guix should be
able to build it, right? No daemon issue?

--8<---------------cut here---------------start------------->8---
$ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv"
--8<---------------cut here---------------start------------->8---

This will populate the store with a new guix. Then I need to pull as
root, in order to also update the daemon, right?

--8<---------------cut here---------------start------------->8---
# /gnu/store/<hash-returned-by-previous-build>-guix-4de11dda7/bin/guix pulll
--8<---------------cut here---------------start------------->8---

> Perhaps ‘guix pull’ should have a ‘--rescue’ 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?

All the best,
simon