From 64c20964e4ac4ddc5cd58a0e3da3c1e8fa538fee Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:09:58 -0600 Subject: [PATCH 04/16] gnu: Add python-signedjson. * gnu/packages/python-xyz.scm (python-signedjson): New variable. --- gnu/packages/python-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 003f9ca22c..6f3e40f0a0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18800,3 +18800,42 @@ choose to use Base64 without the “=” padding.") @item Can encode frozendict immutable dictionaries. @end itemize") (license license:asl2.0))) + +(define-public python-signedjson + (package + (name "python-signedjson") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "signedjson" version)) + (sha256 + (base32 "13wfi50wzz38j6xsz7hmx26vf0zvk0fj7516wavzpsyfk9xy3g5v")))) + (build-system python-build-system) + (arguments + ;; TODO "AttributeError: type object 'Callable' has no attribute + ;; '_abc_registry'" + `(#:tests? #f)) + (propagated-inputs + `(("python-canonicaljson" ,python-canonicaljson) + ("python-unpaddedbase64" ,python-unpaddedbase64) + ("python-pynacl" ,python-pynacl) + ("python-typing-extensions" ,python-typing-extensions) + ("python-typing" ,python-typing))) + (native-inputs + `(("python-simplejson" ,python-simplejson) + ("python-frozendict" ,python-frozendict))) + (home-page "https://github.com/matrix-org/python-signedjson") + (synopsis "Sign JSON objects with ED25519 signatures") + (description + "Sign JSON objects with ED25519 signatures. + +@itemize +@item More than one entity can sign the same object. +@item Each entity can sign the object with more than one key making it easier to +rotate keys +@item ED25519 can be replaced with a different algorithm. +@item Unprotected data can be added to the object under the @dfn{\"unsigned\"} +key. +@end itemize") + (license license:asl2.0))) -- 2.25.2