Simon Tournier <[email protected]> skribis: > Hi Ludo, > > On Fri, 12 Apr 2024 at 11:30, Ludovic Courtès <[email protected]> > wrote: > >> > $ guix build -S -d hg-commitsigs >> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% >> > 3,7 MB will be downloaded: >> > /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2 >> > substituting /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2... >> > downloading from >> > https://ci.guix.gnu.org/nar/lzip/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2 >> > ... >> > mercurial-6.2.2 3.5MiB >> > 529KiB/s 00:07 ▕██████████████████▏ 100.0% >> > >> > /gnu/store/pkb6zd9xfmxx6rsh4p7w3glh7xqg5sqy-hg-commitsigs-0.1.0-0.b53eb68-checkout.drv >> > >> > and it is unexpected. >> >> That running ‘hg clone’ requires Mercurial isn’t totally unexpected to >> me. :-) > > There is a misunderstanding, I guess. > > Running 'hg clone' requires to have a local copy of Mercurial, yes for sure. > :-) > > However, just ask what it will run (please note the dash d in guix > build -S -d hg-commitsigs) must not require to have a local copy of > Mercurial (binary). If you still think yes, why is it not the case > for fixed-output derivations relying on the old Git builder?
Oh sorry, I had missed the ‘-d’ bit. In this case, what’s happening is grafts: Guix downloads (or builds) Mercurial so it can compute its grafted derivation. >> Now, the ‘guix recover’ tool (or whatever you call it) you’re working on >> could create a different fixed-output derivation producing the same >> result but without using Mercurial; typically, the builder of that >> derivation would download from SWH. >> >> Does that make sense? > > Yes, it makes sense; see my very first attempt in [1] :-). [...] > 1: https://gitlab.com/zimoun/guix-drv Nice! Thanks, Ludo’.
