depot/third_party/nixpkgs/pkgs/development/python-modules/onlykey-solo-python/default.nix

59 lines
1.2 KiB
Nix

{
buildPythonPackage,
click,
ecdsa,
fetchpatch,
fetchPypi,
fido2,
intelhex,
lib,
pyserial,
pyusb,
requests,
}:
buildPythonPackage rec {
pname = "onlykey-solo-python";
version = "0.0.32";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-88DuhgX4FCwzIKzw4RqWgMtjRdf5huVlKEHAAEminuQ=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "fido2 == 0.9.3" "fido2"
'';
patches = [
# https://github.com/trustcrypto/onlykey-solo-python/pull/3
(fetchpatch {
url = "https://github.com/trustcrypto/onlykey-solo-python/commit/dfebd6b36087f5f918da8c1af5a3236581cccf2d.patch";
hash = "sha256-O0XQoWwhwvLc0CchUTXSuWgHMNG2ZPDy7FsU3RQrdp8=";
})
];
propagatedBuildInputs = [
click
ecdsa
fido2
intelhex
pyserial
pyusb
requests
];
# no tests
doCheck = false;
pythonImportsCheck = [ "solo" ];
meta = with lib; {
homepage = "https://github.com/trustcrypto/onlykey-solo-python";
description = "Python library for OnlyKey with Solo FIDO2";
mainProgram = "solo";
maintainers = with maintainers; [ kalbasit ];
license = licenses.asl20;
};
}