1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 trezor,
6 libagent,
7 ecdsa,
8 ed25519,
9 mnemonic,
10 keepkey,
11 semver,
12 setuptools,
13 wheel,
14 pinentry,
15}:
16
17buildPythonPackage rec {
18 pname = "trezor-agent";
19 version = "0.12.0";
20 format = "setuptools";
21
22 src = fetchPypi {
23 pname = "trezor_agent";
24 inherit version;
25 hash = "sha256-4IylpUvXZYAXFkyFGNbN9iPTsHff3M/RL2Eq9f7wWFU=";
26 };
27
28 propagatedBuildInputs = [
29 setuptools
30 trezor
31 libagent
32 ecdsa
33 ed25519
34 mnemonic
35 keepkey
36 semver
37 wheel
38 pinentry
39 ];
40
41 # relax dependency constraint
42 postPatch = ''
43 substituteInPlace setup.py \
44 --replace "trezor[hidapi]>=0.12.0,<0.13" "trezor[hidapi]>=0.12.0,<0.14"
45 '';
46
47 doCheck = false;
48 pythonImportsCheck = [ "libagent" ];
49
50 meta = with lib; {
51 description = "Using Trezor as hardware SSH agent";
52 homepage = "https://github.com/romanz/trezor-agent";
53 license = licenses.gpl3;
54 maintainers = with maintainers; [
55 hkjn
56 np
57 mmahut
58 ];
59 };
60}