From ebb03447f8cc93b9e070b3e7706d7a64d5d1772c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 7 Mar 2022 22:06:28 +0100 Subject: import: pypi: Gracefully handle missing project home page. Fixes . Reported by Ricardo Wurmus . * guix/import/pypi.scm (pypi->guix-package): Upon 'missing-source-error?', raise '&fix-hint' only if 'project-info-home-page' returns a non-empty string. --- guix/import/pypi.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'guix/import') diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index e07b792c53..edfca3454b 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -500,19 +500,22 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." (guard (c ((missing-source-error? c) (let ((package (missing-source-error-package c))) (raise - (make-compound-condition + (apply + make-compound-condition (formatted-message (G_ "no source release for pypi package ~a ~a~%") (project-info-name info) version) - (condition - (&fix-hint - (hint (format #f (G_ "This indicates that the + (match (project-info-home-page info) + ((or #f "") '()) + (url + (list + (condition + (&fix-hint + (hint (format #f (G_ "This indicates that the package is available on PyPI, but only as a \"wheel\" containing binaries, not source. To build it from source, refer to the upstream repository at @uref{~a}.") - (or (project-info-home-page info) - (project-info-url info) - "?")))))))))) + url)))))))))))) (make-pypi-sexp (project-info-name info) version (and=> (source-release project version) distribution-url) -- cgit v1.2.3