GNU bug report logs -
#55367
guix refresh fails. struct-vtable: Wrong type argument in position 1 (expecting struct)
Previous Next
Full log
Message #20 received at 55367 <at> debbugs.gnu.org (full text, mbox):
Hi,
Maxime Devos <maximedevos <at> telenet.be> skribis:
> Ludovic Courtès schreef op wo 11-05-2022 om 15:49 [+0200]:
>> The code at guix/gnu-maintenance.scm:188:20 checks a URI, so my guess is
>> that the source of that package is not a valid URI, and thus
>> ‘string->uri’ returns #false.
>
> It's "gogdownloader://world_of_goo/en3installer0".
>
> (string->uri "gogdownloader://world_of_goo/en3installer0")
> $1 = #f
> (string->uri "gogdownloader://worldofgoo/en3installer0")
> $2 = #f
The second one works for me:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (string->uri "gogdownloader://worldofgoo/en3installer0")
$7 = #<<uri> scheme: gogdownloader userinfo: #f host: "worldofgoo" port: #f path: "/en3installer0" query: #f fragment: #f>
--8<---------------cut here---------------end--------------->8---
The first one has an invalid authority part, which doesn’t match
‘authority-regexp’ (underscores are not permitted; I believe (web uri)
is correct here.)
> Worse, looks like non-ASCII characters (that are valid DNS names, at
> least ignoring punycode encodings and such) aren't supported:
>
> (string->uri "https://www.étoile.fr")
> $3 = #f
Right; I think ‘string->uri’ expects a Punycode-encoded string, which is
probably correct per RFC 3986.
That said, it’s beyond this scope of this bug report.
To me, the conclusion is that the package has a invalid URI, so it’s not
a Guix bug strictly speaking. However, we could change
gnu-maintenance.scm so that it deals with invalid URIs gracefully.
Thoughts?
Ludo’.
This bug report was last modified 74 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.