~ruther/guix-local

7e6b490d041935d0f77de3cee0493707435a34d6 — Alex Kost 10 years ago cfd56de
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.
5 files changed, 26 insertions(+), 15 deletions(-)

M guix/gnu-maintenance.scm
M guix/import/cran.scm
M guix/import/elpa.scm
M guix/upstream.scm
M po/guix/POTFILES.in
M guix/gnu-maintenance.scm => guix/gnu-maintenance.scm +5 -3
@@ 413,8 413,10 @@ for instance, whose releases are now uploaded to elpa.gnu.org."
       (gnu-package? package)))

(define %gnu-updater
  (upstream-updater 'gnu
                    non-emacs-gnu-package?
                    latest-release*))
  (upstream-updater
   (name 'gnu)
   (description "Updater for GNU packages")
   (pred non-emacs-gnu-package?)
   (latest latest-release*)))

;;; gnu-maintenance.scm ends here

M guix/import/cran.scm => guix/import/cran.scm +5 -3
@@ 236,8 236,10 @@ representation of the package page."
  (string-prefix? "r-" (package-name package)))

(define %cran-updater
  (upstream-updater 'cran
                    cran-package?
                    latest-release))
  (upstream-updater
   (name 'cran)
   (description "Updater for CRAN packages")
   (pred cran-package?)
   (latest latest-release)))

;;; cran.scm ends here

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

;;; elpa.scm ends here

M guix/upstream.scm => guix/upstream.scm +9 -6
@@ 1,5 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; 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.
;;;


@@ 45,6 46,7 @@
            upstream-updater
            upstream-updater?
            upstream-updater-name
            upstream-updater-description
            upstream-updater-predicate
            upstream-updater-latest



@@ 109,18 111,19 @@ correspond to the same version."
;;; Auto-update.
;;;

(define-record-type <upstream-updater>
  (upstream-updater name pred latest)
(define-record-type* <upstream-updater>
  upstream-updater make-upstream-updater
  upstream-updater?
  (name      upstream-updater-name)
  (pred      upstream-updater-predicate)
  (latest    upstream-updater-latest))
  (name        upstream-updater-name)
  (description upstream-updater-description)
  (pred        upstream-updater-predicate)
  (latest      upstream-updater-latest))

(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> _ pred latest)
         (($ <upstream-updater> _ _ pred latest)
          (and (pred package) latest)))
       updaters))


M po/guix/POTFILES.in => po/guix/POTFILES.in +2 -0
@@ 12,6 12,7 @@ guix/scripts/package.scm
guix/scripts/gc.scm
guix/scripts/hash.scm
guix/scripts/import.scm
guix/scripts/import/cran.scm
guix/scripts/import/elpa.scm
guix/scripts/pull.scm
guix/scripts/substitute.scm


@@ 23,6 24,7 @@ guix/scripts/edit.scm
guix/scripts/size.scm
guix/scripts/graph.scm
guix/scripts/challenge.scm
guix/gnu-maintenance.scm
guix/upstream.scm
guix/ui.scm
guix/http-client.scm