nixpkgs/pkgs/tools/security/onlykey-agent/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

74 lines
2.1 KiB
Nix
Raw Normal View History

2021-08-19 07:13:23 +02:00
{ lib
, python3Packages
, onlykey-cli
}:
let
2022-05-24 05:52:45 +02:00
bech32 = with python3Packages; buildPythonPackage rec {
pname = "bech32";
version = "1.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fW24IUYDvXhx/PpsCCbvaLhbCr2Q+iHChanF4h0r2Jk=";
};
};
2021-08-19 07:13:23 +02:00
# onlykey requires a patched version of libagent
lib-agent = with python3Packages; libagent.overridePythonAttrs (oa: rec{
2022-05-24 05:52:45 +02:00
version = "1.0.4";
2021-08-19 07:13:23 +02:00
src = fetchPypi {
inherit version;
pname = "lib-agent";
2022-05-24 05:52:45 +02:00
sha256 = "sha256-MwtufyJVPWuK7bbX+9Kv6wEi/zq4ftXrfjrMOYpcIfc=";
2021-08-19 07:13:23 +02:00
};
propagatedBuildInputs = oa.propagatedBuildInputs or [ ] ++ [
2022-05-24 05:52:45 +02:00
bech32
cryptography
2021-08-19 07:13:23 +02:00
docutils
pycryptodome
2022-05-24 05:52:45 +02:00
pynacl
2021-08-19 07:13:23 +02:00
wheel
];
# turn off testing because I can't get it to work
doCheck = false;
pythonImportsCheck = [ "libagent" ];
meta = oa.meta // {
description = "Using OnlyKey as hardware SSH and GPG agent";
homepage = "https://github.com/trustcrypto/onlykey-agent/tree/ledger";
maintainers = with maintainers; [ kalbasit ];
};
});
in
python3Packages.buildPythonApplication rec {
pname = "onlykey-agent";
2022-05-24 05:52:45 +02:00
version = "1.1.13";
2021-08-19 07:13:23 +02:00
src = python3Packages.fetchPypi {
inherit pname version;
2022-05-24 05:52:45 +02:00
sha256 = "sha256-GAb6crtW6rLAbFtdi6fAGCPjXpKFhravguoGjuNcIxc=";
2021-08-19 07:13:23 +02:00
};
propagatedBuildInputs = with python3Packages; [ lib-agent onlykey-cli ];
# move the python library into the sitePackages.
postInstall = ''
mkdir $out/${python3Packages.python.sitePackages}/onlykey_agent
mv $out/bin/onlykey_agent.py $out/${python3Packages.python.sitePackages}/onlykey_agent/__init__.py
chmod a-x $out/${python3Packages.python.sitePackages}/onlykey_agent/__init__.py
'';
# no tests
doCheck = false;
pythonImportsCheck = [ "onlykey_agent" ];
meta = with lib; {
description = " The OnlyKey agent is essentially middleware that lets you use OnlyKey as a hardware SSH/GPG device.";
homepage = "https://github.com/trustcrypto/onlykey-agent";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ kalbasit ];
};
}