On 04/24/2016 09:27 AM, Ben Woodcroft wrote: > Hi, > > Today I tried using pypi-url to autogenerate a package that was only > released today. Unfortunately, it seems that the URL scheme has changed > and I was unable to download, though I believe this only affects newly > released package versions. I found this on the nix mailing list: > http://comments.gmane.org/gmane.linux.distributions.nixos/20158 > >> So, previously PyPI used URLs like : >> //packages//{python version}/{name[0]}/{name}/{filename} >> >> Now it uses: >> //packages//{hash[:2]}/{hash[2:4]}/{hash[4:]}/{filename} >> Where hash is blake2b(file_content, digest_size=32).hexdigest().lower() > > Is there a blake2b implemented in Guile? In the meantime, the URL will have > to be specified manually: 'guix import pypi ...' provides the correct and > updated URL. >
The URL should always be correct, because the pypi importer can detect whether the URL build by pypi-uri is wrong (see make-pypi-sexp). Now, in order to handle this new pattern, maybe pypi-uri should: 1) try to compute the "new URI" 2) issue a "curl --head $uri" using some Guile magic 3) return the URI or compute the "old URI" depending on 2) WDYT? Cyril.