1{ 2 lib, 3 stdenv, 4 bleak, 5 buildPythonPackage, 6 ecpy, 7 fetchPypi, 8 future, 9 hidapi, 10 nfcpy, 11 pillow, 12 protobuf, 13 pycrypto, 14 pycryptodomex, 15 pyelftools, 16 python-gnupg, 17 python-u2flib-host, 18 pythonOlder, 19 pythonRelaxDepsHook, 20 setuptools, 21 setuptools-scm, 22 websocket-client, 23}: 24 25buildPythonPackage rec { 26 pname = "ledgerblue"; 27 version = "0.1.53"; 28 pyproject = true; 29 30 disabled = pythonOlder "3.7"; 31 32 src = fetchPypi { 33 inherit pname version; 34 hash = "sha256-j5FCQnp+MNrJ8zgYeLRuWF+Gdq0FwJeBYyJALb+H8So="; 35 }; 36 37 build-system = [ 38 setuptools 39 setuptools-scm 40 pythonRelaxDepsHook 41 ]; 42 43 pythonRelaxDeps = [ "protobuf" ]; 44 45 dependencies = [ 46 ecpy 47 future 48 hidapi 49 nfcpy 50 pillow 51 protobuf 52 pycrypto 53 pycryptodomex 54 pyelftools 55 python-gnupg 56 python-u2flib-host 57 websocket-client 58 ] ++ lib.optionals stdenv.isLinux [ bleak ]; 59 60 # No tests 61 doCheck = false; 62 63 pythonImportsCheck = [ "ledgerblue" ]; 64 65 meta = with lib; { 66 description = "Python library to communicate with Ledger Blue/Nano S"; 67 homepage = "https://github.com/LedgerHQ/blue-loader-python"; 68 license = licenses.asl20; 69 maintainers = with maintainers; [ np ]; 70 }; 71}