> Do you know how many packages fall into that category? With this patch, we have a problem estimating the coverage using `guix refresh -L'. Now, to estimate coverage, we need to make HTTP requests for every single source tarball in Guix to determine if it redirects to GitHub. This is an enormous number of HTTP requests! When I ran `guix refresh -L', it took a very long time to finish coverage estimation. So, I cancelled the command. Any better way to handle this? >> +(define (follow-redirects-to-github uri) >> + "Follow redirects of URI until a GitHub URI is found. Return that GitHub >> +URI. If no GitHub URI is found, return #f." > > Perhaps add the yt-dl.org example as a comment here. I added a reference to the youtube-dl package in the comments. I also added a few more comments in other places. >> + (define (follow-redirect uri) >> + (receive (response body) (http-get uri #:streaming? #t) > > Add: (close-port body). I switched to using (http-head uri) instead of (http-get uri #:streaming? #t). So, (close-port body) should no longer be required. I also modified follow-redirects-to-github to avoid following redirects on mirror and file URIs. Please find attached a new patch.