diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-03-19 23:49:59 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-03-19 23:54:19 +0100 |
commit | 522773b70024272555aab0448fae8606add4c582 (patch) | |
tree | 3978e8b64cd56a88e98b3597142a2a0006384217 /guix/import | |
parent | 329a702634ec9b12f41676fb7b0680f0797f5907 (diff) | |
download | gnu-guix-522773b70024272555aab0448fae8606add4c582.tar gnu-guix-522773b70024272555aab0448fae8606add4c582.tar.gz |
import: pypi: Emit 'pypi-uri' only when it yields the right URL.
Fixes <http://bugs.gnu.org/23062>.
Reported by Danny Milosavljevic <dannym@scratchpost.org>.
* guix/import/pypi.scm (make-pypi-sexp): Check whether 'pypi-uri'
returns SOURCE-URL and fall back to the full URL otherwise.
* tests/pypi.scm ("pypi->guix-package"): Adjust expected URI
accordingly.
Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
Diffstat (limited to 'guix/import')
-rw-r--r-- | guix/import/pypi.scm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index d54bb9fbba..8ae4948147 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> -;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -194,7 +194,15 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." (version ,version) (source (origin (method url-fetch) - (uri (pypi-uri ,name version)) + + ;; 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 ,(if (equal? (pypi-uri name version) source-url) + `(pypi-uri ,name version) + `(string-append + ,@(factorize-uri source-url version)))) + (sha256 (base32 ,(guix-hash-url temp))))) |