1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 certifi,
6 cryptography,
7 ecdsa,
8 pyaes,
9 pyopenssl,
10 pyscard,
11 pythonOlder,
12}:
13
14buildPythonPackage rec {
15 pname = "pysatochip";
16 version = "0.14.2";
17 format = "setuptools";
18 disabled = pythonOlder "3.6";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-+Z3D6ITZouhLbEotvJ9MDfg6QOhjGVKrLi1QL1kOdkE=";
23 };
24
25 postPatch = ''
26 substituteInPlace requirements.txt \
27 --replace "cryptography==3.3.2" "cryptography" \
28 --replace "ecdsa==0.15" "ecdsa" \
29 --replace "pyopenssl==20.0.0" "pyopenssl"
30 '';
31
32 propagatedBuildInputs = [
33 cryptography
34 ecdsa
35 pyaes
36 pyopenssl
37 pyscard
38 ];
39
40 nativeCheckInputs = [ certifi ];
41
42 pythonImportsCheck = [ "pysatochip" ];
43
44 meta = with lib; {
45 description = "Simple python library to communicate with a Satochip hardware wallet";
46 homepage = "https://github.com/Toporin/pysatochip";
47 license = licenses.lgpl3Only;
48 maintainers = with maintainers; [ oxalica ];
49 };
50}