From f54cbc0e1b84a5b3785d3b4734600387dde82be9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 3 Jul 2020 22:48:04 +0200 Subject: import: Do not assume that 'package-source' returns an origin. * guix/gnu-maintenance.scm (gnu-package?): Check whether 'package-source' returns an origin. * guix/import/github.scm (updated-github-url): Likewise. * guix/import/launchpad.scm (updated-launchpad-url): Likewise. --- guix/import/launchpad.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'guix/import/launchpad.scm') diff --git a/guix/import/launchpad.scm b/guix/import/launchpad.scm index 1a15f28077..c7375837c7 100644 --- a/guix/import/launchpad.scm +++ b/guix/import/launchpad.scm @@ -57,16 +57,17 @@ (define (updated-url url) "/" new-version "/+download/" repo "-" new-version ext)) (#t #f))))) ; Some URLs are not recognised. - (let ((source-uri (and=> (package-source old-package) origin-uri)) - (fetch-method (and=> (package-source old-package) origin-method))) - (cond - ((eq? fetch-method download:url-fetch) - (match source-uri - ((? string?) - (updated-url source-uri)) - ((source-uri ...) - (find updated-url source-uri)))) - (else #f)))) + (match (package-source old-package) + ((? origin? origin) + (let ((source-uri (origin-uri origin)) + (fetch-method (origin-method origin))) + (and (eq? fetch-method download:url-fetch) + (match source-uri + ((? string?) + (updated-url source-uri)) + ((source-uri ...) + (find updated-url source-uri)))))) + (_ #f))) (define (launchpad-package? package) "Return true if PACKAGE is a package from Launchpad, else false." -- cgit v1.2.3