depot/third_party/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
Default email ae2dc6aea6 Project import generated by Copybara.
GitOrigin-RevId: 4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0
2024-10-11 07:15:48 +02:00

81 lines
1.8 KiB
Nix

{
lib,
bcrypt,
buildPythonPackage,
cryptography,
fetchpatch,
fetchPypi,
gssapi,
icecream,
invoke,
mock,
pyasn1,
pynacl,
pytestCheckHook,
pytest-relaxed,
six,
}:
buildPythonPackage rec {
pname = "paramiko";
version = "3.5.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-rRHlQNpPVc7dpSkx8aP4Eqgjinr39ipg3lOM2AuygSQ=";
};
patches = [
# Fix usage of dsa keys
# https://github.com/paramiko/paramiko/pull/1606/
(fetchpatch {
url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
hash = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
})
];
dependencies = [
bcrypt
cryptography
pyasn1
six
];
optional-dependencies = {
gssapi = [
pyasn1
gssapi
];
ed25519 = [
pynacl
bcrypt
];
invoke = [ invoke ];
};
nativeCheckInputs = [
icecream
mock
pytestCheckHook
pytest-relaxed
] ++ lib.flatten (builtins.attrValues optional-dependencies);
pythonImportsCheck = [ "paramiko" ];
__darwinAllowLocalNetworking = true;
meta = {
homepage = "https://github.com/paramiko/paramiko/";
changelog = "https://github.com/paramiko/paramiko/blob/${version}/sites/www/changelog.rst";
description = "Native Python SSHv2 protocol library";
license = lib.licenses.lgpl21Plus;
longDescription = ''
Library for making SSH2 connections (client or server). Emphasis is
on using SSH2 as an alternative to SSL for making secure connections
between python scripts. All major ciphers and hash methods are
supported. SFTP client and server mode are both supported too.
'';
maintainers = lib.teams.helsinki-systems.members;
};
}