diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2019-03-30 20:27:35 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2019-07-02 10:08:00 +0900 |
commit | 4b60ab8c006964d026dee8cf5f1260eba0b2bb81 (patch) | |
tree | 9f686d3256d1c575ea2ad2f65f9b26bcb78e3721 /guix/import/pypi.scm | |
parent | a5376200541abf8245973e601be246bf65b8b6c7 (diff) |
import: pypi: Preserve package name case when forming pypi-uri.
Fixes <https://bugs.gnu.org/33046>.
* guix/build-system/python.scm (pypi-uri): Update the host URI to
"files.pythonhosted.org".
* guix/import/pypi.scm (make-pypi-sexp): Preserve the package name case when
the source URL calls for it.
Diffstat (limited to 'guix/import/pypi.scm')
-rw-r--r-- | guix/import/pypi.scm | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 537431dd69..ab7a024ee0 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -368,15 +368,20 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." `(package (name ,(python->package-name name)) (version ,version) - (source (origin - (method url-fetch) - ;; Sometimes 'pypi-uri' doesn't quite work due to mixed - ;; cases in NAME, for instance, as is the case with - ;; "uwsgi". In that case, fall back to a full URL. - (uri (pypi-uri ,(string-downcase name) version)) - (sha256 - (base32 - ,(guix-hash-url temp))))) + (source + (origin + (method url-fetch) + ;; PyPI URL are case sensitive, but sometimes a project + ;; named using mixed case has a URL using lower case, so + ;; we must work around this inconsistency. For actual + ;; examples, compare the URLs of the "Deprecated" and + ;; "uWSGI" PyPI packages. + (uri ,(if (string-contains source-url name) + `(pypi-uri ,name version) + `(pypi-uri ,(string-downcase name) version))) + (sha256 + (base32 + ,(guix-hash-url temp))))) (build-system python-build-system) ,@(maybe-inputs required-inputs 'propagated-inputs) ,@(maybe-inputs test-inputs 'native-inputs) |