summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-08-17 22:13:30 +0200
committerLudovic Courtès <ludo@gnu.org>2019-08-17 23:18:11 +0200
commit8d64ef567f816d29a4b25fe1cfbeb8005dc7cc2e (patch)
tree8fb07e86a2f748053c53484b7d1737d1db940951
parentd88b811adf389e6445caf15fe6a581ac067deab7 (diff)
downloadguix-8d64ef567f816d29a4b25fe1cfbeb8005dc7cc2e.tar.gz
import: gnome: Update for Guile-JSON 3.x.
This is a followup to 81c3dc32244a17241d74eea9fa265edfcb326f6d.

* guix/import/gnome.scm (jsonish->upstream-source): Use 'assoc-ref'
instead of 'hash-ref'.
(latest-gnome-release): Match a vector containing an alist, not a hash
table.  Use 'fold' instead of 'hash-fold' over RELEASES.
-rw-r--r--guix/import/gnome.scm35
1 files changed, 18 insertions, 17 deletions
diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm
index 1ade63e1af..436ec88ef9 100644
--- a/guix/import/gnome.scm
+++ b/guix/import/gnome.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -46,7 +46,7 @@ source for metadata."
       (package name)
       (version version)
       (urls (filter-map (lambda (extension)
-                          (match (hash-ref dictionary extension)
+                          (match (assoc-ref dictionary extension)
                             (#f
                              #f)
                             ((? string? relative-url)
@@ -86,21 +86,22 @@ not be determined."
            (json (json->scm port)))
       (close-port port)
       (match json
-        ((4 (? hash-table? releases) _ ...)
-         (let* ((releases (hash-ref releases upstream-name))
-                (latest   (hash-fold (lambda (key value result)
-                                       (cond ((even-minor-version? key)
-                                              (match result
-                                                (#f
-                                                 (cons key value))
-                                                ((newest . _)
-                                                 (if (version>? key newest)
-                                                     (cons key value)
-                                                     result))))
-                                             (else
-                                              result)))
-                                     #f
-                                     releases)))
+        (#(4 releases _ ...)
+         (let* ((releases (assoc-ref releases upstream-name))
+                (latest   (fold (match-lambda*
+                                  (((key . value) result)
+                                   (cond ((even-minor-version? key)
+                                          (match result
+                                            (#f
+                                             (cons key value))
+                                            ((newest . _)
+                                             (if (version>? key newest)
+                                                 (cons key value)
+                                                 result))))
+                                         (else
+                                          result))))
+                                #f
+                                releases)))
            (and latest
                 (jsonish->upstream-source upstream-name latest))))))))