diff --git a/configure.ac b/configure.ac index ec593bc0e6fb568477a2ff1e2799332c16a5f7e0..c7352b08d798e2de9a06d9bb1eca7e6b23ff9511 100644 --- a/configure.ac +++ b/configure.ac @@ -38,9 +38,9 @@ if test "x$have_guile_simple_zmq" != "xyes"; then fi dnl Check dor Guile-Json. -GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) +GUILE_MODULE_AVAILABLE([have_guile_json], [(json parser)]) if test "x$have_guile_json" != "xyes"; then - AC_MSG_ERROR([Guile-Json is missing; please install it.]) + AC_MSG_ERROR([Guile-JSON is missing; please install it.]) fi dnl Check for Guile-Gcrypt >= 0.2.0. diff --git a/environment.scm b/environment.scm index 88149e8c1cd8ced4b76c46d781efbc05199a9b59..fcacf7bb738e0ea24554be4caca8e516d75a480d 100644 --- a/environment.scm +++ b/environment.scm @@ -91,7 +91,7 @@ `(("guix" ,guix) ("guile" ,@(assoc-ref (package-native-inputs guix) "guile")))) (propagated-inputs - `(("guile-json" ,guile-json-3) + `(("guile-json" ,guile-json-4) ("guile-simple-zmq" ,guile-simple-zmq) ("guile-gcrypt" ,guile-gcrypt))) diff --git a/guix-jupyter-kernel.scm b/guix-jupyter-kernel.scm index 03b68e2ee444407ad36abfd119eca4dab66336a0..630d235afc442c3c4e9bee41e0415cd359e2ed53 100644 --- a/guix-jupyter-kernel.scm +++ b/guix-jupyter-kernel.scm @@ -16,7 +16,8 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see <https://www.gnu.org/licenses/>. -(use-modules (json) +(use-modules (json parser) + (json builder) (simple-zmq) (git) ;for 'git-error-message' (srfi srfi-1) diff --git a/guix/jupyter/kernel.scm b/guix/jupyter/kernel.scm index b5e72ced7e38f39a1330ee4e75c1a7f7609f9f76..812b4137ee3935c5d5f3b847d53b9b6fac8b3982 100644 --- a/guix/jupyter/kernel.scm +++ b/guix/jupyter/kernel.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2019 Ludovic Courtès <ludovic.courtes@inria.fr> +;;; Copyright (C) 2019, 2021 Ludovic Courtès <ludovic.courtes@inria.fr> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -29,7 +29,8 @@ #:use-module ((gnu build linux-container) #:select (%namespaces)) #:use-module (srfi srfi-1) #:use-module (ice-9 match) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:export (%language-info %kernel-info-reply diff --git a/guix/jupyter/proxy.scm b/guix/jupyter/proxy.scm index 398cb3a51aa792d2cda1d507494f258feff5f248..a6bf8a4c7211b037702f28c501078862f9a9dd39 100644 --- a/guix/jupyter/proxy.scm +++ b/guix/jupyter/proxy.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2019 Ludovic Courtès <ludovic.courtes@inria.fr> +;;; Copyright (C) 2019, 2021 Ludovic Courtès <ludovic.courtes@inria.fr> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -19,7 +19,8 @@ #:use-module (jupyter messages) #:use-module (jupyter kernels) #:use-module (jupyter servers) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (gcrypt base16) #:use-module ((guix build utils) #:select (delete-file-recursively)) #:use-module (srfi srfi-1) diff --git a/jupyter/guile.scm b/jupyter/guile.scm index d69c581951a3bc069d970b895ad191b9e129be72..e21456113efd3fd9d8a455f456abcd892eef8591 100644 --- a/jupyter/guile.scm +++ b/jupyter/guile.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2019 Ludovic Courtès <ludovic.courtes@inria.fr> +;;; Copyright (C) 2019, 2021 Ludovic Courtès <ludovic.courtes@inria.fr> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -18,7 +18,8 @@ #:use-module (jupyter messages) #:use-module (jupyter kernels) #:use-module (jupyter servers) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (simple-zmq) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) diff --git a/jupyter/json.scm b/jupyter/json.scm index cd2658c11c6d2441b7a01348798cc9ac5a822d7f..8ede1a9386182fcddd37dd65207eda036be885e0 100644 --- a/jupyter/json.scm +++ b/jupyter/json.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright (C) 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ ;;; along with this program. If not, see <https://www.gnu.org/licenses/>. (define-module (jupyter json) - #:use-module (json) + #:use-module (json parser) #:use-module (guix records) #:export (json <=> @@ -23,7 +23,14 @@ ;;; Commentary: ;;; -;;; Helpers to map JSON objects to SRFI-9 records. Taken from (guix swh). +;;; Helpers to map JSON objects to records. Taken from (guix swh). +;;; Guile-JSON 4.x includes a variant of this code. The difference is that +;;; this module builds upon the 'define-record-type*' feature of (guix +;;; records), whereas Guile-JSON builds on top of SRFI-9. +;;; +;;; Consequently, the syntax is a bit different; in particular, this variant +;;; uses the 'json' keyword to distinguish parameters of the JSON mapping +;;; from other properties of record fields, such as default values. ;;; ;;; Code: diff --git a/jupyter/kernels.scm b/jupyter/kernels.scm index 86b791817aa0b6d9e7af7a811f05f6815b55668f..2680d054853c1752f36f664e66d8cecf8c448e7a 100644 --- a/jupyter/kernels.scm +++ b/jupyter/kernels.scm @@ -1,6 +1,6 @@ ;;; Guix-kernel -- Guix kernel for Jupyter ;;; Copyright (C) 2018, 2019 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> -;;; Copyright (C) 2018, 2019 Ludovic Courtès <ludovic.courtes@inria.fr> +;;; Copyright (C) 2018, 2019, 2021 Ludovic Courtès <ludovic.courtes@inria.fr> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -25,7 +25,8 @@ #:use-module (ice-9 match) #:use-module (ice-9 ftw) #:use-module (simple-zmq) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) diff --git a/jupyter/messages.scm b/jupyter/messages.scm index 8e0841fdc951329d27c551173037664964764a74..c4069d4299c367aacf5d401d4065d6228f790e59 100644 --- a/jupyter/messages.scm +++ b/jupyter/messages.scm @@ -1,6 +1,6 @@ ;;; Guix-kernel -- Guix kernel for Jupyter ;;; Copyright (C) 2018 Evgeny Panfilov <epanfilov@gmail.com> -;;; Copyright (C) 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright (C) 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -17,7 +17,8 @@ (define-module (jupyter messages) #:use-module (simple-zmq) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (jupyter json) #:use-module (gcrypt mac) #:use-module (gcrypt base16) diff --git a/jupyter/servers.scm b/jupyter/servers.scm index f13512d8a6e7de0433f877a138e0d724c8dbbc91..16a8bd75469aa5e53041889323386d3576e6d87e 100644 --- a/jupyter/servers.scm +++ b/jupyter/servers.scm @@ -19,7 +19,7 @@ #:use-module (jupyter kernels) #:use-module (jupyter messages) #:use-module (simple-zmq) - #:use-module (json) + #:use-module (json parser) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:use-module (ice-9 vlist) diff --git a/tests/guile.scm b/tests/guile.scm index f3d855583783c924c917be2ea647006de0d81a79..f002b3f811f2645c18b5c3aee833c4e60cd8d555 100644 --- a/tests/guile.scm +++ b/tests/guile.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2019 Inria +;;; Copyright (C) 2019, 2021 Inria ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -20,7 +20,8 @@ #:use-module (jupyter servers) #:use-module (jupyter guile) #:use-module (simple-zmq) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) diff --git a/tests/kernels.scm b/tests/kernels.scm index fdbde44effa3ca32f0baf7fd0731253fabc42d0f..a46cf61566852b3d48ccb5ffab2ed22d11009f13 100644 --- a/tests/kernels.scm +++ b/tests/kernels.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2019 Inria +;;; Copyright (C) 2019, 2021 Inria ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -18,7 +18,8 @@ #:use-module (jupyter kernels) #:use-module (jupyter messages) #:use-module (simple-zmq) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) diff --git a/tests/servers.scm b/tests/servers.scm index 42899340be63021338d1974c062115d2cba47ea7..2716a5fb4659d831fc4dc9ffc57f9ce393d562c6 100644 --- a/tests/servers.scm +++ b/tests/servers.scm @@ -1,5 +1,5 @@ ;;; Guix-kernel -- Guix kernel for Jupyter -;;; Copyright (C) 2019 Inria +;;; Copyright (C) 2019, 2021 Inria ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -19,7 +19,8 @@ #:use-module (jupyter messages) #:use-module (jupyter servers) #:use-module (simple-zmq) - #:use-module (json) + #:use-module (json parser) + #:use-module (json builder) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)