Hi, Maxime Devos 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 = #< 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’.