guix/guix
Ludovic Courtès 81c3dc3224
maint: Switch to Guile-JSON 3.x.
Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on
until now: it maps JSON dictionaries to alists (instead of hash tables),
and JSON arrays to vectors (instead of lists).  This commit is about
adjusting all the existing code to this new mapping.

* m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro.
* configure.ac: Use it.
* doc/guix.texi (Requirements): Mention the Guile-JSON version.
* guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3.
* guix/import/cpan.scm (string->license): Expect vectors instead of
lists.
(module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'.
(cpan-fetch): Likewise.
* guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list'
for DEPS.
* guix/import/gem.scm (rubygems-fetch): Likewise.
* guix/import/json.scm (json-fetch-alist): Remove.
* guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of
'json-fetch-alist'.
(latest-source-release, latest-wheel-release): Call 'vector->list' on
RELEASES.
* guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch'
instead of 'json-fetch-alist'.
(lts-package-version): Use 'vector->list'.
* guix/import/utils.scm (hash-table->alist): Remove.
(alist->package): Pass 'vector->list' on the inputs fields, and default
to the empty vector.
* guix/scripts/import/json.scm (guix-import-json): Remove call to
'hash-table->alist'.
* guix/swh.scm (define-json-reader): Expect pair? or null? instead of
hash-table?.
[extract-field]: Use 'assoc-ref' instead of 'hash-ref'.
(json->branches): Use 'map' instead of 'hash-map->list'.
(json->checksums): Likewise.
(json->directory-entries, origin-visits): Call 'vector->list' on the
result of 'json->scm'.
* tests/import-utils.scm ("alist->package with dependencies"): New test.
* gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3.
* gnu/installer.scm (installer-program)[installer-builder]: Likewise.
* gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref'
instead of 'hash-ref', and pass vectors through 'vector->list'.
(iso3166->iso3166-territories): Likewise.
* gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3.
* guix/docker.scm (manifest, config): Adjust for Guile-JSON 3.
* guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3.
* guix/import/github.scm (fetch-releases-or-tags): Update docstring.
(latest-released-version): Use 'assoc-ref' instead of 'hash-ref'.  Pass
the result of 'fetch-releases-or-tags' to 'vector->list'.
* guix/import/launchpad.scm (latest-released-version): Likewise.
2019-07-25 00:16:41 +02:00
..
build build/cargo-build-system: Use bundled json instead of guile-json. 2019-07-16 09:54:12 +02:00
build-system build/cargo-build-system: Use bundled json instead of guile-json. 2019-07-16 09:54:12 +02:00
import maint: Switch to Guile-JSON 3.x. 2019-07-25 00:16:41 +02:00
scripts maint: Switch to Guile-JSON 3.x. 2019-07-25 00:16:41 +02:00
store gnu, guix: Yearly ritual purging of the filesystems. 2019-04-25 04:42:16 +02:00
tests
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm Add (guix bzr-download). 2019-05-09 00:22:37 -04:00
cache.scm
channels.scm channels: Always provide a <channel-metadata> record. 2019-07-19 11:53:47 +02:00
ci.scm
colors.scm
combinators.scm
config.scm.in Add (guix lzlib). 2019-05-06 23:21:33 +02:00
cpio.scm
cve.scm
cvs-download.scm
deprecation.scm deprecation: Use the 'warning' procedure for diagnostics. 2019-06-03 23:18:47 +02:00
derivations.scm gexp: 'lowered-gexp-guile' now returns a <derivation-input>. 2019-07-15 10:01:05 +02:00
describe.scm
diagnostics.scm Add (guix diagnostics). 2019-06-03 23:18:47 +02:00
discovery.scm ui: 'warn-about-load-error' warns about file/module name mismatches. 2019-07-20 01:32:17 +02:00
docker.scm maint: Switch to Guile-JSON 3.x. 2019-07-25 00:16:41 +02:00
download.scm download: Use the new 'derivation' calling convention. 2019-07-15 10:01:05 +02:00
elf.scm
ftp-client.scm
gexp.scm gexp: 'lowered-gexp-guile' now returns a <derivation-input>. 2019-07-15 10:01:05 +02:00
git-download.scm maint: Switch to Guile-JSON 3.x. 2019-07-25 00:16:41 +02:00
git.scm
glob.scm
gnu-maintenance.scm gnu-maintenance: Switch to ftp.mirrorservice.org for KDE updater. 2019-06-10 13:58:24 +02:00
gnupg.scm
grafts.scm grafts: 'references-oracle' now takes a derivation input. 2019-07-02 18:33:51 +02:00
graph.scm
hg-download.scm
http-client.scm
i18n.scm
inferior.scm inferior: Add 'read-repl-response'. 2019-07-04 18:05:02 +02:00
licenses.scm licenses: Add Historical Permission Notice and Disclaimer license 2019-06-20 18:24:49 +02:00
lint.scm lint: source: Stop as soon as a valid URL is found. 2019-07-20 01:32:18 +02:00
lzlib.scm lzlib: 'make-lzip-input-port' better handles end of decompression. 2019-06-01 15:26:30 +02:00
man-db.scm
memoization.scm
modules.scm
monad-repl.scm
monads.scm
nar.scm nar: Really lock store files. 2019-06-05 23:10:37 +02:00
packages.scm
pki.scm
profiles.scm profiles: Adjust packages->manifest pattern for inferior packages. 2019-07-03 12:03:07 +02:00
profiling.scm
progress.scm progress: Call 'time-difference' on times of the same type. 2019-06-24 23:10:13 +02:00
records.scm
remote.scm remote: Make sure the user doesn't mess up with the REPL protocol. 2019-07-15 18:27:22 +02:00
repl.scm Add (guix repl). 2019-07-04 18:05:02 +02:00
scripts.scm
search-paths.scm
self.scm maint: Switch to Guile-JSON 3.x. 2019-07-25 00:16:41 +02:00
serialization.scm
sets.scm
ssh.scm ssh: Add 'identity' keyword to 'open-ssh-session'. 2019-07-06 02:09:58 -04:00
status.scm
store.scm store: 'run-with-store' gracefully deals with #f store. 2019-07-05 00:51:17 +02:00
svn-download.scm
swh.scm maint: Switch to Guile-JSON 3.x. 2019-07-25 00:16:41 +02:00
tests.scm lzlib: Add 'make-lzip-input-port/compressed'. 2019-05-27 22:47:24 +02:00
ui.scm ui: 'warn-about-load-error' provides hints for unbound variables. 2019-07-20 01:32:17 +02:00
upstream.scm
utils.scm utils: canonical-newline-port: Fix handling of carriage return at buffer end. 2019-06-20 14:07:01 +02:00
workers.scm
zlib.scm