summaryrefslogtreecommitdiff
path: root/guix/import
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 /guix/import
parentd88b811adf389e6445caf15fe6a581ac067deab7 (diff)
downloadguix-patches-8d64ef567f816d29a4b25fe1cfbeb8005dc7cc2e.tar
guix-patches-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.
Diffstat (limited to 'guix/import')
-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))))))))