1{ buildPythonPackage
2, click
3, ecdsa
4, fetchpatch
5, fetchPypi
6, fido2
7, intelhex
8, lib
9, pyserial
10, pyusb
11, requests
12}:
13
14buildPythonPackage rec {
15 pname = "onlykey-solo-python";
16 version = "0.0.32";
17 format = "setuptools";
18
19 src = fetchPypi {
20 inherit pname version;
21 sha256 = "sha256-88DuhgX4FCwzIKzw4RqWgMtjRdf5huVlKEHAAEminuQ=";
22 };
23
24 postPatch = ''
25 substituteInPlace setup.py \
26 --replace "fido2 == 0.9.3" "fido2"
27 '';
28
29 patches = [
30 # https://github.com/trustcrypto/onlykey-solo-python/pull/2
31 (fetchpatch {
32 url = "https://github.com/trustcrypto/onlykey-solo-python/commit/c5a86506f940d4e8fbb670ed665ddca48779cbe9.patch";
33 hash = "sha256-LhCUR5QH9Je/Nr185HgQxfkCtat8W2Huv62zr5Mlrn4=";
34 })
35 ];
36
37 propagatedBuildInputs = [ click ecdsa fido2 intelhex pyserial pyusb requests ];
38
39 # no tests
40 doCheck = false;
41 pythonImportsCheck = [ "solo" ];
42
43 meta = with lib; {
44 homepage = "https://github.com/trustcrypto/onlykey-solo-python";
45 description = "Python library for OnlyKey with Solo FIDO2";
46 maintainers = with maintainers; [ kalbasit ];
47 license = licenses.asl20;
48 };
49}
50