Hi Danny, Danny Milosavljevic <dan...@scratchpost.org> skribis:
>> Sounds like the right approach, would you like to test it? :-) > > In principle yes, I mean, can you apply the patch and build it with: guix build gdk-pixbuf --rounds=2 -K ? > but even without the patch I get (using current master): > > $ ./pre-inst-env guix challenge gdk-pixbuf > --substitute-urls="https://mirror.hydra.gnu.org https://bayfront.guixsd.org" [...] > 575: 2 [map #<procedure 74335a0 at guix/scripts/challenge.scm:125:46 > (t-1367901)> ...] > In guix/scripts/substitute.scm: > 687: 1 [lookup-narinfos "\"https://mirror.hydra.gnu.org" #] > 659: 0 [fetch-narinfos "\"https://mirror.hydra.gnu.org" #] > > guix/scripts/substitute.scm:659:16: In procedure fetch-narinfos: > guix/scripts/substitute.scm:659:16: In procedure struct_vtable: Wrong type > argument in position 1 (expecting struct): #f Hmm hmm! Is it reproducible (it works for me)? If so, could you try to see where the problem comes from by adding ‘pk’ calls like this: --8<---------------cut here---------------start------------->8--- diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 524b019a3..26ed81318 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -657,10 +657,10 @@ if file doesn't exist, and the narinfo otherwise." (let-values (((cache-info port) (download-cache-info url))) - (and cache-info + (and (pk 'cache-info cache-info) (if (string=? (cache-info-store-directory cache-info) (%store-prefix)) - (do-fetch (string->uri url) port) ;reuse PORT + (do-fetch (pk 'uri (string->uri url)) port) ;reuse PORT (begin (warning (_ "'~a' uses different store '~a'; ignoring it~%") url (cache-info-store-directory cache-info)) --8<---------------cut here---------------end--------------->8--- Thanks, Ludo’.