1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, click
6, cryptography
7, ecdsa
8, fido2
9, intelhex
10, pyserial
11, pyusb
12, requests
13}:
14
15 buildPythonPackage rec {
16 pname = "solo-python";
17 version = "0.0.31";
18 format = "flit";
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "solokeys";
24 repo = pname;
25 rev = version;
26 sha256 = "sha256-OguAHeNpom+zthREzdhejy5HJUIumrtwB0WJAwUNiSA=";
27 };
28
29 patchPhase = ''
30 sed -i '/fido2/c\"fido2",' pyproject.toml
31 '';
32
33 propagatedBuildInputs = [
34 click
35 cryptography
36 ecdsa
37 fido2
38 intelhex
39 pyserial
40 pyusb
41 requests
42 ];
43
44 preBuild = ''
45 export HOME=$TMPDIR
46 '';
47
48 pythonImportsCheck = [
49 "solo"
50 "solo.cli"
51 "solo.commands"
52 "solo.fido2"
53 "solo.operations"
54 ];
55
56 meta = with lib; {
57 description = "Python tool and library for SoloKeys";
58 homepage = "https://github.com/solokeys/solo-python";
59 maintainers = with maintainers; [ wucke13 ];
60 license = with licenses; [ asl20 mit ];
61 };
62}