Subject: [bug#37234] [PATCH 15/21] gnu: Add python-jose.

From: Marius Bakke <[email-masked]>
Date: Fri, 30 Aug 2019 16:25:33 +0200

* gnu/packages/python-web.scm (python-jose): New public variable.
---
 gnu/packages/python-web.scm | 42 +++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6695bd5e39..6ae5fd6860 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -389,6 +389,48 @@ Swartz.")
 (define-public python2-html2text
   (package-with-python2 python-html2text))
 
+(define-public python-jose
+  (package
+    (name "python-jose")
+    (version "3.0.1")
+    (home-page "http://github.com/mpdavis/python-jose")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference (url home-page) (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ahq4m86z504bnlk9z473r7r3dprg5m39900rld797hbczdhqa4f"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "pytest" "-vv" "-m"
+                     ;; Test only the pyca/cryptography backend.
+                     "not (pycryptodome or pycrypto or backend_compatibility)"))))))
+    (native-inputs
+     `(;; All native inputs are for tests.
+       ("python-ecdsa" ,python-ecdsa)
+       ("python-pyasn1" ,python-pyasn1)
+       ("python-pycrypto" ,python-pycrypto)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-runner" ,python-pytest-runner)))
+    (propagated-inputs
+     `(("python-cryptography" ,python-cryptography)
+       ("python-future" ,python-future) ;XXX: remove for >3.0.1
+       ("python-rsa" ,python-rsa)
+       ("python-six" ,python-six)))
+    (synopsis "JOSE implementation in Python")
+    (description
+     "The @dfn{JavaScript Object Signing and Encryption} (JOSE) technologies
+- JSON Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and
+JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or sign
+content using a variety of algorithms.")
+    (license license:expat)))
+
 (define-public python-jsondiff
   (package
     (name "python-jsondiff")
-- 
2.22.1