1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchpatch,
6 buildPythonPackage,
7 cryptography,
8 click,
9 construct,
10 ecdsa,
11 flit-core,
12 hidapi,
13 intelhex,
14 pillow,
15 protobuf3,
16 requests,
17 setuptools,
18 tabulate,
19 toml,
20 AppKit,
21}:
22
23buildPythonPackage rec {
24 pname = "ledgerwallet";
25 version = "0.2.4";
26 format = "pyproject";
27
28 src = fetchFromGitHub {
29 owner = "LedgerHQ";
30 repo = "ledgerctl";
31 rev = "v${version}";
32 hash = "sha256-IcStYYkKEdZxwgJKL8l2Y1BtO/Oncd4aKUAZD8umbHs=";
33 };
34
35 buildInputs = [
36 flit-core
37 setuptools
38 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
39 propagatedBuildInputs = [
40 cryptography
41 click
42 construct
43 ecdsa
44 hidapi
45 intelhex
46 pillow
47 protobuf3
48 requests
49 tabulate
50 toml
51 ];
52
53 pythonImportsCheck = [ "ledgerwallet" ];
54
55 meta = with lib; {
56 homepage = "https://github.com/LedgerHQ/ledgerctl";
57 description = "A library to control Ledger devices";
58 mainProgram = "ledgerctl";
59 license = licenses.mit;
60 maintainers = with maintainers; [
61 d-xo
62 erdnaxe
63 ];
64 };
65}