summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2025-09-23 19:10:17 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2025-09-30 19:36:53 +0200
commitfaac1c2bf08ec9fda10a95b54c5a59e19aeebc21 (patch)
tree81a5fb4d55f8572f4fa19383afc9c78b477f12df
parent803964399cd64afab17599d49e9c6212553e937e (diff)
import/pypi: Improve renaming procedure.
PyPI canonicalizes dashes to underscores, while the former tests for converting to Guix-compliant name compared using dashes. Solve this by canonicalizing to dashes prior to comparing. * guix/import/pypi.scm (python->package-name): Canonicalize names prior to testing. Change-Id: Iba2003720adba82a7f6e3f6319b2699e369163ed
-rw-r--r--guix/import/pypi.scm15
1 files changed, 8 insertions, 7 deletions
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index 6b342ca99a..80d184a80c 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -183,13 +183,14 @@ or #f if there isn't any."
(define (python->package-name name)
"Given the NAME of a package on PyPI, return a Guix-compliant name for the
package."
- (cond
- ((string-prefix? "python-" name) (snake-case name))
- ((string-suffix? "-python" name)
- (string-append "python-" (string-drop-right name 7)))
- ((or (string=? "trytond" name)
- (string-prefix? "trytond-" name)) (snake-case name))
- (else (string-append "python-" (snake-case name)))))
+ (let ((name (snake-case name)))
+ (cond
+ ((string-prefix? "python-" name) name)
+ ((string-suffix? "-python" name)
+ (string-append "python-" (string-drop-right name 7)))
+ ((or (string=? "trytond" name)
+ (string-prefix? "trytond-" name)) name)
+ (else (string-append "python-" name)))))
(define (guix-package->pypi-name package)
"Given a Python PACKAGE built from pypi.org, return the name of the