import: gnome: Update for Guile-JSON 3.x.

This is a followup to 81c3dc3224.

* 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.
This commit is contained in:
Ludovic Courtès 2019-08-17 22:13:30 +02:00
parent d88b811adf
commit 8d64ef567f
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 18 additions and 17 deletions

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,7 +46,7 @@ source for metadata."
(package name) (package name)
(version version) (version version)
(urls (filter-map (lambda (extension) (urls (filter-map (lambda (extension)
(match (hash-ref dictionary extension) (match (assoc-ref dictionary extension)
(#f (#f
#f) #f)
((? string? relative-url) ((? string? relative-url)
@ -86,21 +86,22 @@ not be determined."
(json (json->scm port))) (json (json->scm port)))
(close-port port) (close-port port)
(match json (match json
((4 (? hash-table? releases) _ ...) (#(4 releases _ ...)
(let* ((releases (hash-ref releases upstream-name)) (let* ((releases (assoc-ref releases upstream-name))
(latest (hash-fold (lambda (key value result) (latest (fold (match-lambda*
(cond ((even-minor-version? key) (((key . value) result)
(match result (cond ((even-minor-version? key)
(#f (match result
(cons key value)) (#f
((newest . _) (cons key value))
(if (version>? key newest) ((newest . _)
(cons key value) (if (version>? key newest)
result)))) (cons key value)
(else result))))
result))) (else
#f result))))
releases))) #f
releases)))
(and latest (and latest
(jsonish->upstream-source upstream-name latest)))))))) (jsonish->upstream-source upstream-name latest))))))))