Hi! zimoun skribis: > Hi Ludo, > > On Sun, 17 Nov 2019 at 22:15, Ludovic Courtès 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? > > $ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivation"' > > > outputs the derivation file. But how do you fetch it? You don’t explicitly fetch it. Instead, you run “guix build /….drv”, and the daemon automatically attempts to substitute it if it’s not available in your store (note that you need commit 9c9982dc0c8c38ce3821b154b7e92509c1564317.) Now, I noticed that it doesn’t work so well when ‘guix publish --cache’ 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 ‘--cache’ behavior, they’ll all have to be baked separately. Apart from that it’s really fun, I wonder why I’ve never used that feature before! >> 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? Yeah well, that needs more thought. :-) Thanks, Ludo’.