Subject: Re: bug#33047: pypi importer uses incorrect package names

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 29 Mar 2019 00:23:03 -0400

Julien Lepiller <[email-masked]> writes:

> Hi,
>
> I found that sometimes the pypi importer had trouble importing
> packages correctly. For instance, running "guix import pypi txaio"
> gave me this list of dependencies:
>
> (propagated-inputs
>  `(("python-[all]" ,#{python-\x5b;all\x5d;}#)
>    ("python-[asyncio]"
>     ,#{python-\x5b;asyncio\x5d;}#)
>    ...))
>
> guix import pypi magic-wormhole had this:
>
> (propagated-inputs
>   ("python-autobahn[twisted]"
>    ,#{python-autobahn\x5b;twisted\x5d;}#)
>   ...))
>
> Of course, they break the recursive importer, which makes it difficult
> to import these packages correctly.

Testing local branch:

./pre-inst-env guix import pypi txaio

Starting download of /tmp/guix-file.jTNBQz
>From https://files.pythonhosted.org/packages/c1/99/81de004578e9afe017bb1d4c8968088a33621c05449fe330bdd7016d5377/txaio-18.8.1.tar.gz...
 …8.1.tar.gz  50KiB                   894KiB/s 00:00 [##################] 100.0%

Starting download of /tmp/guix-file.ZB3Q2n
>From https://files.pythonhosted.org/packages/e9/6d/e1a6f7835cde86728e5bb1f577be9b2d7d273fdb33c286e70b087d418ded/txaio-18.8.1-py2.py3-none-any.whl...
 ….py3-none-any.whl  27KiB            746KiB/s 00:00 [##################] 100.0%
(package
  (name "python-txaio")
  (version "18.8.1")
  (source
    (origin
      (method url-fetch)
      (uri (pypi-uri "txaio" version))
      (sha256
        (base32
          "1zmpdph6zddgrnkkcykh6qk5s46l7s5mzfqrh82m4b5iffn61qv7"))))
  (build-system python-build-system)
  (propagated-inputs `(("python-six" ,python-six)))
  (native-inputs
    `(("python-mock" ,python-mock)
      ("python-pep8" ,python-pep8)
      ("python-pyenchant" ,python-pyenchant)
      ("python-pytest" ,python-pytest)
      ("python-pytest-cov" ,python-pytest-cov)
      ("python-sphinx" ,python-sphinx)
      ("python-sphinx-rtd-theme"
       ,python-sphinx-rtd-theme)
      ("python-sphinxcontrib-spelling"
       ,python-sphinxcontrib-spelling)
      ("python-tox" ,python-tox)
      ("python-twine" ,python-twine)
      ("python-wheel" ,python-wheel)))
  (home-page "https://github.com/crossbario/txaio")
  (synopsis
    "Compatibility API between asyncio/Twisted/Trollius")
  (description
    "Compatibility API between asyncio/Twisted/Trollius")
  (license #f))

and

./pre-inst-env guix import pypi magic-wormhole

Starting download of /tmp/guix-file.80RRqk
>From https://files.pythonhosted.org/packages/77/15/9438290bab8146efc0213f7c3d9645d9bc5a2e885e4049477e7432e40336/magic-wormhole-0.11.2.tar.gz...
 …-0.11.2.tar.gz  193KiB              911KiB/s 00:00 [##################] 100.0%

Starting download of /tmp/guix-file.mRGAx3
>From https://files.pythonhosted.org/packages/82/98/3e8d12fdb90457e8f3e1f5b877ee27f5db58dbaf4a4fbe95f7287a568401/magic_wormhole-0.11.2-py2.py3-none-any.whl...
 …-py2.py3-none-any.whl  128KiB      1009KiB/s 00:00 [##################] 100.0%
(package
  (name "python-magic-wormhole")
  (version "0.11.2")
  (source
    (origin
      (method url-fetch)
      (uri (pypi-uri "magic-wormhole" version))
      (sha256
        (base32
          "01fr4bi6kc6fz9n3c4qq892inrc3nf6p2djy65yvm7xkvdxncydf"))))
  (build-system python-build-system)
  (propagated-inputs
    `(("python-attrs" ,python-attrs)
      ("python-autobahn" ,python-autobahn)
      ("python-automat" ,python-automat)
      ("python-click" ,python-click)
      ("python-hkdf" ,python-hkdf)
      ("python-humanize" ,python-humanize)
      ("python-pynacl" ,python-pynacl)
      ("python-pywin32" ,python-pywin32)
      ("python-six" ,python-six)
      ("python-spake2" ,python-spake2)
      ("python-tqdm" ,python-tqdm)
      ("python-twisted" ,python-twisted)
      ("python-txtorcon" ,python-txtorcon)))
  (native-inputs
    `(("python-magic-wormhole-mailbox-server"
       ,python-magic-wormhole-mailbox-server)
      ("python-magic-wormhole-transit-relay"
       ,python-magic-wormhole-transit-relay)
      ("python-mock" ,python-mock)
      ("python-pyflakes" ,python-pyflakes)
      ("python-tox" ,python-tox)))
  (home-page
    "https://github.com/warner/magic-wormhole")
  (synopsis
    "Securely transfer data between computers")
  (description
    "Securely transfer data between computers")
  (license license:expat))