Subject: bug#24450: pypi importer outputs strange character series in optional dependency case.

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

ng0 <[email-masked]> writes:

> I think this should not happen with pypi import:
>
>   (inputs
>     `(("python-certifi==2016.2.28"
>        ,python-certifi==2016.2.28)
>       ("python-dateutil==2.5.3"
>        ,python-dateutil==2.5.3)
>       ("python-flask-babel==0.11.1"
>        ,python-flask-babel==0.11.1)
>       ("python-flask==0.11.1" ,python-flask==0.11.1)
>       ("python-lxml==3.6.0" ,python-lxml==3.6.0)
>       ("python-ndg-httpsclient==0.4.1"
>        ,python-ndg-httpsclient==0.4.1)
>       ("python-pyasn1-modules==0.0.8"
>        ,python-pyasn1-modules==0.0.8)
>       ("python-pyasn1==0.1.9" ,python-pyasn1==0.1.9)
>       ("python-pygments==2.1.3"
>        ,python-pygments==2.1.3)
>       ("python-pyopenssl==0.15.1"
>        ,python-pyopenssl==0.15.1)
>       ("python-pyyaml==3.11" ,python-pyyaml==3.11)
>       ("python-requests[socks]==2.10.0"
>        ,#{python-requests\x5b;socks\x5d;==2.10.0}#)
>       ("python-setuptools" ,python-setuptools)))
>
>
> I can understand the version numbers, I can also understand the optional
> socks building/module of the python-requests, but why does it read like
> Gobbledygook?  Can't we improve the output here?
>
> For version numbers, this is not a format which happened recently which
> is exclusive for python build system right? This is just bad formated
> because of the pypi query.
> I will first try and not pin the application to these version numbers,
> maybe itjustworks™.
>
>
> To reproduce: "guix import pypi searx"

This would now give (change to be sent for review soon):

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix import pypi searx

Starting download of /tmp/guix-file.1wD8K4
>From https://files.pythonhosted.org/packages/75/3f/5941ad2d500ff7cf6f8da1022c78013dcd2207941d533586a8e7bfe699d3/searx-0.15.0.tar.gz...
 …5.0.tar.gz  1.6MiB                  729KiB/s 00:02 [##################] 100.0%
(package
  (name "python-searx")
  (version "0.15.0")
  (source
    (origin
      (method url-fetch)
      (uri (pypi-uri "searx" version))
      (sha256
        (base32
          "1gmww73q7wydkvlyz73wnr3sybpjn40wha7avnz9ak9m365zcjxf"))))
  (build-system python-build-system)
  (propagated-inputs
    `(("python-certifi" ,python-certifi)
      ("python-dateutil" ,python-dateutil)
      ("python-flask" ,python-flask)
      ("python-flask-babel" ,python-flask-babel)
      ("python-idna" ,python-idna)
      ("python-lxml" ,python-lxml)
      ("python-pygments" ,python-pygments)
      ("python-pyopenssl" ,python-pyopenssl)
      ("python-pyyaml" ,python-pyyaml)
      ("python-requests" ,python-requests)))
  (native-inputs
    `(("python-babel" ,python-babel)
      ("python-cov-core" ,python-cov-core)
      ("python-mock" ,python-mock)
      ("python-nose2" ,python-nose2)
      ("python-pep8" ,python-pep8)
      ("python-plone.testing" ,python-plone.testing)
      ("python-selenium" ,python-selenium)
      ("python-splinter" ,python-splinter)
      ("python-transifex-client"
       ,python-transifex-client)
      ("python-unittest2" ,python-unittest2)
      ("python-zope.testrunner"
       ,python-zope.testrunner)))
  (home-page "https://github.com/asciimoo/searx")
  (synopsis
    "A privacy-respecting, hackable metasearch engine")
  (description
    "A privacy-respecting, hackable metasearch engine")
  (license #f))
--8<---------------cut here---------------end--------------->8---