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}