upstream: Add 'description' field to 'upstream-updater'.

Suggested by Ludovic Courtès <ludo@gnu.org>.

* guix/upstream.scm (<upstream-updater>): Use 'define-record-type*'.
  [description]: New field.
  (lookup-updater): Adjust accordingly.
* guix/gnu-maintenance.scm (%gnu-updater): Likewise.
* guix/import/cran.scm (%cran-updater): Likewise.
* guix/import/elpa.scm (%elpa-updater): Likewise.
* po/guix/POTFILES.in: Add guix/scripts/import/cran.scm and
  guix/gnu-maintenance.scm.
This commit is contained in:
Alex Kost 2015-10-26 21:24:53 +03:00
parent cfd56de3d8
commit 7e6b490d04
5 changed files with 26 additions and 15 deletions

View File

@ -413,8 +413,10 @@ for instance, whose releases are now uploaded to elpa.gnu.org."
(gnu-package? package))) (gnu-package? package)))
(define %gnu-updater (define %gnu-updater
(upstream-updater 'gnu (upstream-updater
non-emacs-gnu-package? (name 'gnu)
latest-release*)) (description "Updater for GNU packages")
(pred non-emacs-gnu-package?)
(latest latest-release*)))
;;; gnu-maintenance.scm ends here ;;; gnu-maintenance.scm ends here

View File

@ -236,8 +236,10 @@ representation of the package page."
(string-prefix? "r-" (package-name package))) (string-prefix? "r-" (package-name package)))
(define %cran-updater (define %cran-updater
(upstream-updater 'cran (upstream-updater
cran-package? (name 'cran)
latest-release)) (description "Updater for CRAN packages")
(pred cran-package?)
(latest latest-release)))
;;; cran.scm ends here ;;; cran.scm ends here

View File

@ -272,8 +272,10 @@ as \"debbugs\"."
(define %elpa-updater (define %elpa-updater
;; The ELPA updater. We restrict it to packages hosted on elpa.gnu.org ;; The ELPA updater. We restrict it to packages hosted on elpa.gnu.org
;; because for other repositories, we typically grab the source elsewhere. ;; because for other repositories, we typically grab the source elsewhere.
(upstream-updater 'elpa (upstream-updater
package-from-gnu.org? (name 'elpa)
latest-release)) (description "Updater for ELPA packages")
(pred package-from-gnu.org?)
(latest latest-release)))
;;; elpa.scm ends here ;;; elpa.scm ends here

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,6 +46,7 @@
upstream-updater upstream-updater
upstream-updater? upstream-updater?
upstream-updater-name upstream-updater-name
upstream-updater-description
upstream-updater-predicate upstream-updater-predicate
upstream-updater-latest upstream-updater-latest
@ -109,18 +111,19 @@ correspond to the same version."
;;; Auto-update. ;;; Auto-update.
;;; ;;;
(define-record-type <upstream-updater> (define-record-type* <upstream-updater>
(upstream-updater name pred latest) upstream-updater make-upstream-updater
upstream-updater? upstream-updater?
(name upstream-updater-name) (name upstream-updater-name)
(pred upstream-updater-predicate) (description upstream-updater-description)
(latest upstream-updater-latest)) (pred upstream-updater-predicate)
(latest upstream-updater-latest))
(define (lookup-updater package updaters) (define (lookup-updater package updaters)
"Return an updater among UPDATERS that matches PACKAGE, or #f if none of "Return an updater among UPDATERS that matches PACKAGE, or #f if none of
them matches." them matches."
(any (match-lambda (any (match-lambda
(($ <upstream-updater> _ pred latest) (($ <upstream-updater> _ _ pred latest)
(and (pred package) latest))) (and (pred package) latest)))
updaters)) updaters))

View File

@ -12,6 +12,7 @@ guix/scripts/package.scm
guix/scripts/gc.scm guix/scripts/gc.scm
guix/scripts/hash.scm guix/scripts/hash.scm
guix/scripts/import.scm guix/scripts/import.scm
guix/scripts/import/cran.scm
guix/scripts/import/elpa.scm guix/scripts/import/elpa.scm
guix/scripts/pull.scm guix/scripts/pull.scm
guix/scripts/substitute.scm guix/scripts/substitute.scm
@ -23,6 +24,7 @@ guix/scripts/edit.scm
guix/scripts/size.scm guix/scripts/size.scm
guix/scripts/graph.scm guix/scripts/graph.scm
guix/scripts/challenge.scm guix/scripts/challenge.scm
guix/gnu-maintenance.scm
guix/upstream.scm guix/upstream.scm
guix/ui.scm guix/ui.scm
guix/http-client.scm guix/http-client.scm