ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / on / onlykey-agent / package.nix
blobd78c1b89b4f6ca45fb5c24e3ae854c20f6999c6d
1 { lib
2 , python3Packages
3 , fetchPypi
4 , onlykey-cli
5 }:
7 let
8   bech32 = with python3Packages; buildPythonPackage rec {
9     pname = "bech32";
10     version = "1.2.0";
12     src = fetchPypi {
13       inherit pname version;
14       sha256 = "sha256-fW24IUYDvXhx/PpsCCbvaLhbCr2Q+iHChanF4h0r2Jk=";
15     };
16   };
18   # onlykey requires a patched version of libagent
19   lib-agent = with python3Packages; libagent.overridePythonAttrs (oa: rec{
20     version = "1.0.6";
21     src = fetchPypi {
22       inherit version;
23       pname = "lib-agent";
24       sha256 = "sha256-IrJizIHDIPHo4tVduUat7u31zHo3Nt8gcMOyUUqkNu0=";
25     };
26     propagatedBuildInputs = oa.propagatedBuildInputs or [ ] ++ [
27       bech32
28       cryptography
29       cython
30       docutils
31       pycryptodome
32       pynacl
33       wheel
34     ];
36     # turn off testing because I can't get it to work
37     doCheck = false;
38     pythonImportsCheck = [ "libagent" ];
40     meta = oa.meta // {
41       description = "Using OnlyKey as hardware SSH and GPG agent";
42       homepage = "https://github.com/trustcrypto/onlykey-agent/tree/ledger";
43       maintainers = with lib.maintainers; [ kalbasit ];
44     };
45   });
47 python3Packages.buildPythonApplication rec {
48   pname = "onlykey-agent";
49   version = "1.1.15";
51   src = fetchPypi {
52     inherit pname version;
53     hash = "sha256-SbGb7CjcD7cFPvASZtip56B4uxRiFKZBvbsf6sb8fds=";
54   };
56   propagatedBuildInputs = with python3Packages; [ lib-agent onlykey-cli setuptools ];
58   # move the python library into the sitePackages.
59   postInstall = ''
60     mkdir $out/${python3Packages.python.sitePackages}/onlykey_agent
61     mv $out/bin/onlykey_agent.py $out/${python3Packages.python.sitePackages}/onlykey_agent/__init__.py
62     chmod a-x $out/${python3Packages.python.sitePackages}/onlykey_agent/__init__.py
63   '';
65   # no tests
66   doCheck = false;
67   pythonImportsCheck = [ "onlykey_agent" ];
69   meta = with lib; {
70     description = "Middleware that lets you use OnlyKey as a hardware SSH/GPG device";
71     homepage = "https://github.com/trustcrypto/onlykey-agent";
72     license = licenses.lgpl3Only;
73     maintainers = with maintainers; [ kalbasit ];
74   };