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