1{ lib
2, buildPythonPackage
3, fetchPypi
4, fetchpatch
5, canonicaljson
6, unpaddedbase64
7, pynacl
8, typing-extensions
9, setuptools-scm
10, importlib-metadata
11, pythonOlder
12}:
13
14buildPythonPackage rec {
15 pname = "signedjson";
16 version = "1.1.1";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m";
21 };
22
23 patches = [
24 # Do not require importlib_metadata on python 3.8
25 (fetchpatch {
26 url = "https://github.com/matrix-org/python-signedjson/commit/c40c83f844fee3c1c7b0c5d1508f87052334b4e5.patch";
27 sha256 = "109f135zn9azg5h1ljw3v94kpvnzmlqz1aiknpl5hsqfa3imjca1";
28 })
29 ];
30
31 nativeBuildInputs = [ setuptools-scm ];
32 propagatedBuildInputs = [ canonicaljson unpaddedbase64 pynacl typing-extensions ]
33 ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
34
35 meta = with lib; {
36 homepage = "https://pypi.org/project/signedjson/";
37 description = "Sign JSON with Ed25519 signatures";
38 license = licenses.asl20;
39 };
40}