Subject: [bug#54781] [PATCH] gnu: Add cl-jzon.

From: jgart <[email-masked]>
Date: Thu, 7 Apr 2022 20:50:56 -0400

* gnu/packages/lisp-xyz.scm (cl-jzon): New variable.

Hi Guixers,

Here is a correct and safe JSON parser.

https://github.com/Zulu-Inuoe/jzon

cl-jzon is also available as a pre-release from Guix 'R Us:

https://git.sr.ht/~whereiseveryone/guixrus/tree/master/item/guixrus/packages/lisp.scm#L2294

We provide substitutes at https://bags.whereis.みんな/

all best,

jgart

https://whereis.みんな/
gemini://whereis.みんな/

---
 gnu/packages/lisp-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5ce4e2dd7e..3b3ffc320c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -20827,6 +20827,44 @@ (define-public cl-websocket-driver
 (define-public ecl-websocket-driver
   (sbcl-package->ecl-package sbcl-websocket-driver))
 
+(define-public sbcl-jzon
+  (let ((commit "5364590f5d2e6d6f1932d1ea3acba1ee2a82f31e")
+        (revision "0"))
+    (package
+      (name "sbcl-jzon")
+      (version (git-version "0.2.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Zulu-Inuoe/jzon")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1048f6prz2lp859nxwcgghn6n38pc2pb580azzxpdhfcdi0034mj"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:asd-files '("src/com.inuoe.jzon.asd" "test/com.inuoe.jzon-tests.asd")
+         #:asd-systems '("com.inuoe.jzon" "com.inuoe.jzon-tests")))
+      (native-inputs
+        (list sbcl-alexandria
+              sbcl-fiveam
+              sbcl-flexi-streams))
+      (inputs
+        (list sbcl-closer-mop
+              sbcl-flexi-streams))
+      (home-page "https://github.com/Zulu-Inuoe/cl-jzon/")
+      (synopsis "Correct and safe JSON parser")
+      (description
+"@code{cl-jzon} is a correct and safe JSON RFC 8259 parser.")
+      (license license:expat))))
+
+(define-public cl-jzon
+  (sbcl-package->cl-source-package sbcl-jzon))
+
+(define-public ecl-jzon
+  (sbcl-package->ecl-package sbcl-jzon))
+
 (define-public sbcl-purgatory
   (let ((commit "ade0d60a14a1067b9cc8cf06d1f1a1ca8cecdb03")
         (revision "1"))
-- 
2.35.1