nixpkgs/pkgs/development/python-modules/solo-python/default.nix

68 lines
1.3 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, click
, cryptography
, ecdsa
, fido2
, intelhex
, pyserial
, pyusb
, requests
}:
buildPythonPackage rec {
pname = "solo-python";
version = "0.0.27";
format = "flit";
disabled = pythonOlder "3.6"; # only python>=3.6 is supported
src = fetchFromGitHub {
owner = "solokeys";
repo = pname;
rev = version;
sha256 = "sha256-OCiKa6mnqJGoNCC4KqI+hMw22tzhdN63x9/KujNJqcE=";
};
# replaced pinned fido, with unrestricted fido version
patchPhase = ''
sed -i '/fido2/c\"fido2",' pyproject.toml
'';
propagatedBuildInputs = [
click
cryptography
ecdsa
fido2
intelhex
pyserial
pyusb
requests
];
# allow for writable directory for darwin
preBuild = ''
export HOME=$TMPDIR
'';
# repo doesn't contain tests, ensure imports aren't broken
pythonImportsCheck = [
"solo"
"solo.cli"
"solo.commands"
"solo.fido2"
"solo.operations"
];
meta = with lib; {
description = "Python tool and library for SoloKeys";
homepage = "https://github.com/solokeys/solo-python";
maintainers = with maintainers; [ wucke13 ];
license = with licenses; [ asl20 mit ];
# solo-python v0.0.27 does not support fido2 >= v0.9
# https://github.com/solokeys/solo-python/issues/110
broken = true;
};
}