[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#44030: [PATCH] guix: import: Add versioning syntax to pypi importer.
From: |
Lulu |
Subject: |
bug#44030: [PATCH] guix: import: Add versioning syntax to pypi importer. |
Date: |
Sun, 25 Oct 2020 22:09:41 +0300 (TRT) |
Use @ as the unified versioning syntax, as per crate and
hackage importers, plus minor spacing fixes.
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index 15116e349d..add2a7ed7a 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -118,13 +118,15 @@
(define (pypi-fetch name)
"Return a <pypi-project> record for package NAME, or #f on failure."
- (and=> (json-fetch (string-append "https://pypi.org/pypi/" name "/json"))
- json->pypi-project))
+ ;; Convert @ in package name to / to access the correct URL.
+ (let ((versioned-name (string-join (string-split name #\@) "/")))
+ (and=> (json-fetch (string-append "https://pypi.org/pypi/" name "/json"))
+ json->pypi-project)))
;; For packages found on PyPI that lack a source distribution.
(define-condition-type &missing-source-error &error
missing-source-error?
- (package missing-source-error-package))
+ (package missing-source-error-package))
(define (latest-source-release pypi-package)
"Return the latest source release for PYPI-PACKAGE."
@@ -371,7 +373,7 @@ be extracted in a temporary directory."
(invoke "tar" "xf" archive "-C" dir)))
(let ((requires.txt-files
(find-files dir (lambda (abs-file-name _)
- (string-match "\\.egg-info/requires.txt$"
+ (string-match "\\.egg-info/requires.txt$"
abs-file-name)))))
(match requires.txt-files
(()