summaryrefslogtreecommitdiff
path: root/gnu/packages/perl6.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2019-03-09 22:07:00 +0200
committerEfraim Flashner <efraim@flashner.co.il>2019-03-23 22:26:50 +0200
commitea856c08cdede46127003170052d833bc0f2f9b4 (patch)
treeb38f028268ace915df0e1c232e1aa4984aad248b /gnu/packages/perl6.scm
parente1b3cf6891a5c24206ed01daf56fa28b71cb13e2 (diff)
downloadpatches-ea856c08cdede46127003170052d833bc0f2f9b4.tar
patches-ea856c08cdede46127003170052d833bc0f2f9b4.tar.gz
gnu: Add perl6-json-class.
* gnu/packages/perl6.scm (perl6-json-class): New variable.
Diffstat (limited to 'gnu/packages/perl6.scm')
-rw-r--r--gnu/packages/perl6.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
index 83f4a35cd6..6ab6d71545 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/perl6.scm
@@ -228,6 +228,37 @@ regular expression engine for the virtual machine.")
specification and runs on top of several virtual machines.")
(license license:artistic2.0)))
+(define-public perl6-json-class
+ (package
+ (name "perl6-json-class")
+ (version "0.0.12")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/JSON-Class.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zyzajc57j3m8q0nr72h9pw4w2nx92rafywlvysgphc5q9sb8np2"))))
+ (build-system rakudo-build-system)
+ (propagated-inputs
+ `(("perl6-json-marshal" ,perl6-json-marshal)
+ ("perl6-json-unmarshal" ,perl6-json-unmarshal)))
+ (native-inputs
+ `(("perl6-json-fast" ,perl6-json-fast)))
+ (home-page "https://github.com/jonathanstowe/JSON-Class")
+ (synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
+ (description "This is a simple role that provides methods to instantiate a
+class from a JSON string that (hopefully,) represents it, and to serialise an
+object of the class to a JSON string. The JSON created from an instance should
+round trip to a new instance with the same values for the @quot{public
+attributes}. @quot{Private} attributes (that is ones without accessors,) will
+be ignored for both serialisation and de-serialisation. The exact behaviour
+depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal} respectively.")
+ (license license:artistic2.0)))
+
(define-public perl6-json-fast
(package
(name "perl6-json-fast")