[PATCH 0/2] Add cl-njson and cl-nactivitypub.

  • Done
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Artyom Bologov
Owner
unassigned
Submitted by
Artyom Bologov
Severity
normal

Debbugs page

Artyom Bologov wrote 2 years ago
(address . guix-patches@gnu.org)
87czbyuj67.fsf@aartaka.me
Hello,

This adds cl-nactivitypub and it's dependency cl-njson.

Artyom Bologov (2):
gnu: Add cl-njson.
gnu: Add cl-nactivitypub.

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

--
2.37.3
From 79672a5dae731ce806761c4c4dab59b33f3abc3a Mon Sep 17 00:00:00 2001
From: aartaka <aartaka@protonmail.com>
Date: Wed, 14 Sep 2022 18:05:00 +0400
Subject: [PATCH 1/2] gnu: Add cl-njson.

* gnu/packages/lisp-xyz.scm (cl-nsjon, ecl-njson, sbcl-njson): New variables.
---
gnu/packages/lisp-xyz.scm | 51 +++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (71 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 033394eb8a..a109d7a15d 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -35,6 +35,7 @@
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2022 Artyom Bologov <mail@aartaka.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22032,6 +22033,56 @@ (define-public cl-nkeymaps
(define-public ecl-nkeymaps
(sbcl-package->ecl-package sbcl-nkeymaps))
+(define-public sbcl-njson
+ (package
+ (name "sbcl-njson")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atlas-engineer/njson")
+ (commit version)))
+ (file-name (git-file-name "cl-njson" version))
+ (sha256
+ (base32
+ "0lv3q1841s4avii1jp89r91jq21sids2ycpy2id0kzhrljzhmy6j"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs (list sbcl-cl-json))
+ (native-inputs (list sbcl-lisp-unit2))
+ (home-page "https://github.com/atlas-engineer/njson")
+ (synopsis
+ "JSON (JavaScript Object Notation) handling framework for Common Lisp.")
+ (description
+ "NJSON aims to make it convenient for one to decode, encode,
+and process JSON data, in the minimum keystrokes/minutes possible.
+
+NJSON is parser-independent, with existing Common Lisp JSON parsers being
+loadable as additional system. @code{cl-json} is included by default, though.
+Conveniences that NJSON provides are:
+
+@itemize
+
+@item @code{encode} and @code{decode} as single entry points for JSON reading
+and writing, be it from streams/string/files, or from those.
+
+@item @code{jget}, @code{jrem}, @code{jtruep}, and their aliases to
+access/delete the decoded objects' properties and check their truth value
+without the need to worry about the low-level details of how these values are
+decoded.
+
+@item @code{jif}, @code{jwhen}, @code{jor}, @code{jand}, and other macros
+mimicking Lisp ones, while using truth values of JSON-decoded data.
+
+@end itemize
+")
+ (license license:bsd-3)))
+
+(define-public cl-njson
+ (sbcl-package->cl-source-package sbcl-njson))
+
+(define-public ecl-njson
+ (sbcl-package->ecl-package sbcl-njson))
+
(define-public sbcl-utils-kt
(let ((commit "4adfe2889036ab5ffdd3cc2182ca2cc692bf11ff"))
(package
--
2.37.3
From 98554a68ccace9feb3bccdba36ab31d388b77fae Mon Sep 17 00:00:00 2001
From: aartaka <aartaka@protonmail.com>
Date: Wed, 14 Sep 2022 18:07:07 +0400
Subject: [PATCH 2/2] gnu: Add cl-nactivitypub.

* gnu/packages/lisp-xyz.scm (cl-nactivitypub, ecl-nactivitypub,
sbcl-nactivitypub): New variables.
---
gnu/packages/lisp-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (62 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a109d7a15d..acb9839e06 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -22083,6 +22083,55 @@ (define-public cl-njson
(define-public ecl-njson
(sbcl-package->ecl-package sbcl-njson))
+(define-public sbcl-nactivitypub
+ (package
+ (name "sbcl-nactivitypub")
+ (version "0.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atlas-engineer/nactivitypub")
+ (commit version)))
+ (file-name (git-file-name "cl-nactivitypub" version))
+ (sha256
+ (base32
+ "07n8a9cfzc96kwsb6z4v5ns09ad2qyq45bjb779azcs7ds144a6r"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs (list sbcl-njson
+ sbcl-serapeum
+ sbcl-cl-str
+ sbcl-local-time
+ sbcl-lparallel
+ sbcl-dexador
+ sbcl-quri))
+ (home-page "https://github.com/atlas-engineer/nactivitypub")
+ (synopsis
+ "Common Lisp Implementation of ActivityPub and ActivityStreams standards.")
+ (description
+ "Features:
+@itemize
+
+@item Parsing and un-parsing ActivityStreams JSON-LD objects to/from CLOS
+objects with convenient accessors on those.
+
+@item Sending and fetching ActivityStreams objects to/from the
+ActivityStreams-enabled HTTP(S) URLs.
+
+@item Semantic info extraction with methods like @code{name*}, @code{url*},
+@code{author*}, and @code{published*}.
+
+@item No reliance on JSON parser. @code{njson} is used for parser-independent
+JSON handling. Load the parser backend you prefer!
+
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public cl-nactivitypub
+ (sbcl-package->cl-source-package sbcl-nactivitypub))
+
+(define-public ecl-nactivitypub
+ (sbcl-package->ecl-package sbcl-nactivitypub))
+
(define-public sbcl-utils-kt
(let ((commit "4adfe2889036ab5ffdd3cc2182ca2cc692bf11ff"))
(package
--
2.37.3
Guillaume Le Vaillant wrote 2 years ago
(name . Artyom Bologov)(address . mail@aartaka.me)(address . 57806-done@debbugs.gnu.org)
87r10df2q3.fsf@kitej
Patches pushed as 170a3962404a9c0499c065d1c3fd9532f56e17b8 and
following.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYyLldA8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9FGwEAkg+VM9svJNRkzjsbeX/vEVgDBW9EpKSvOQXv
ToXKu6gA/3f3SWz4znvw1dNZOFefnmOoEe1HE96lzTI9ZhjzJZl4
=XyV7
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 57806@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 57806
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help