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}