1{ lib
2, buildPythonPackage
3, fetchPypi
4, six
5, cryptography
6, mock
7, pyfakefs
8}:
9
10buildPythonPackage rec {
11 pname = "fido2";
12 version = "0.9.3";
13
14 src = fetchPypi {
15 inherit pname version;
16 sha256 = "b45e89a6109cfcb7f1bb513776aa2d6408e95c4822f83a253918b944083466ec";
17 };
18
19 propagatedBuildInputs = [ six cryptography ];
20
21 checkInputs = [ mock pyfakefs ];
22
23 # Testing with `python setup.py test` doesn't work:
24 # https://github.com/Yubico/python-fido2/issues/108#issuecomment-763513576
25 checkPhase = ''
26 runHook preCheck
27
28 python -m unittest discover -v
29
30 runHook postCheck
31 '';
32
33 pythonImportsCheck = [ "fido2" ];
34
35 meta = with lib; {
36 description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
37 homepage = "https://github.com/Yubico/python-fido2";
38 license = licenses.bsd2;
39 maintainers = with maintainers; [ prusnak ];
40 };
41}