~ruther/guix-local

dc794a723809f0f28e49e4c32e8974b5b9a98ff0 — Ludovic Courtès 10 years ago ae76830
gnu-maintenance: Replace 'find-packages' with 'find-package' (singular).

Fixes <http://bugs.gnu.org/23718>.
Reported by Efraim Flashner <efraim@flashner.co.il>.

* guix/gnu-maintenance.scm (find-packages): Remove.
(find-package): New procedure.
* guix/import/gnu.scm (gnu->guix-package): Use 'find-package' instead of
'find-packages' and adjust accordingly.
2 files changed, 12 insertions(+), 13 deletions(-)

M guix/gnu-maintenance.scm
M guix/import/gnu.scm
M guix/gnu-maintenance.scm => guix/gnu-maintenance.scm +7 -8
@@ 48,7 48,7 @@
            gnu-package-download-url

            official-gnu-packages
            find-packages
            find-package
            gnu-package?

            release-file?


@@ 155,13 155,12 @@ to fetch the list of GNU packages over HTTP."
         (close-port port)
         lst)))

(define (find-packages regexp)
  "Find GNU packages which satisfy REGEXP."
  (let ((name-rx (make-regexp regexp)))
    (filter (lambda (package)
              (false-if-exception
               (regexp-exec name-rx (gnu-package-name package))))
            (official-gnu-packages))))
(define (find-package name)
  "Find GNU package called NAME and return it.  Return #f if it was not
found."
  (find (lambda (package)
          (string=? name (gnu-package-name package)))
        (official-gnu-packages)))

(define gnu-package?
  (memoize

M guix/import/gnu.scm => guix/import/gnu.scm +5 -5
@@ 111,13 111,13 @@ details.)"
  (match (latest-release name)
    ((? upstream-source? release)
     (let ((version (upstream-source-version release)))
       (match (find-packages (regexp-quote name))
         ((info . _)
          (gnu-package->sexp info release #:key-download key-download))
         (()
       (match (find-package name)
         (#f
          (raise (condition
                  (&message
                   (message "couldn't find meta-data for GNU package"))))))))
                   (message "couldn't find meta-data for GNU package")))))
         (info
          (gnu-package->sexp info release #:key-download key-download)))))
    (_
     (raise (condition
             (&message