Subject: [bug#56433] [PATCH] import: pypi: Add special treatment for Tryton package names,

From: Munyoki Kilyungi <[email-masked]>
Date: Fri, 08 Jul 2022 13:36:20 +0300

Hartmut Goebel <[email-masked]>
anaandika:

> While Trytond modules are Python package, they don't have the "python-"
> prefix (see also https://issues.guix.gnu.org/46057#1).  This patch disables
> adding the prefix for Trytond modules when importing and updating, thus
> inhibiting irritating messages like „consider removing this propagated input:
> trytond-party, consider adding this propagated input: python-trytond-party“.
>
> Handling this a special case seems appropriate since (as of now) there are
> about 165 packages for Trytond and the number is growing.
>
> * guix/import/pypi.scm(python->package-name): Don't add "python-" prefix for
>   trytond packages.
> ---
>  guix/import/pypi.scm | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
> index 130ec769b3..ee74f6065c 100644
> --- a/guix/import/pypi.scm
> +++ b/guix/import/pypi.scm
> @@ -162,9 +162,11 @@ 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."
> -  (if (string-prefix? "python-" name)
> -      (snake-case name)
> -      (string-append "python-" (snake-case name))))
> +  (cond
> +   ((string-prefix? "python-" name) (snake-case name))
> +   ((or (string=? "trytond" name)
> +        (string-prefix? "trytond-" name)) (snake-case name))
> +   (#t (string-append "python-" (snake-case name)))))
>

In this case shouldn't you use an "else" at the
very end of this 'cond'?

>  (define (guix-package->pypi-name package)
>    "Given a Python PACKAGE built from pypi.org, return the name of the
>
> base-commit: 2b883504288fc48ed1ae80620e664fe5216766c7

-- 
(Life is like a pencil that will surely run out,
    but will leave the beautiful writing of life.)
(D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
    (hkp://keys.gnupg.net))