summaryrefslogtreecommitdiff
path: root/guix/upstream.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-09-09 10:33:42 +0200
committerLudovic Courtès <ludo@gnu.org>2019-09-10 00:34:40 +0200
commit7c101c4c175b7abcb43279d1c66b41a91b9c64bc (patch)
treec56a10016cec1a9010fd1e7e420c76c96648b3ce /guix/upstream.scm
parent36eef80d45ae754ba42a761ffc97e38cc7253bd0 (diff)
downloadgnu-guix-7c101c4c175b7abcb43279d1c66b41a91b9c64bc.tar
gnu-guix-7c101c4c175b7abcb43279d1c66b41a91b9c64bc.tar.gz
refresh: Distinguish between "no updater" and "failing updater".
Previously, something like "guix refresh texmacs" would report "no updater". Now, it reports that the 'gnu-ftp' updater failed to list releases. * guix/upstream.scm (lookup-updater): Use 'find' instead of 'any' to return the <upstream-updater>. (package-latest-release): Adjust accordingly. * guix/scripts/refresh.scm (check-for-package-update): When 'package-latest-release' returns #f, distinguish between "no updater" and "failing updater".
Diffstat (limited to 'guix/upstream.scm')
-rw-r--r--guix/upstream.scm12
1 files changed, 6 insertions, 6 deletions
diff --git a/guix/upstream.scm b/guix/upstream.scm
index d4f9c5bb45..aa47dab4b4 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -245,18 +245,18 @@ correspond to the same version."
(define (lookup-updater package updaters)
"Return an updater among UPDATERS that matches PACKAGE, or #f if none of
them matches."
- (any (match-lambda
- (($ <upstream-updater> name description pred latest)
- (and (pred package) latest)))
- updaters))
+ (find (match-lambda
+ (($ <upstream-updater> name description pred latest)
+ (pred package)))
+ updaters))
(define (package-latest-release package updaters)
"Return an upstream source to update PACKAGE, a <package> object, or #f if
none of UPDATERS matches PACKAGE. It is the caller's responsibility to ensure
that the returned source is newer than the current one."
(match (lookup-updater package updaters)
- ((? procedure? latest-release)
- (latest-release package))
+ ((? upstream-updater? updater)
+ ((upstream-updater-latest updater) package))
(_ #f)))
(define (package-latest-release* package updaters)