Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / paramiko / default.nix
blob278bb0583e350eeac42353d8ab088a873e017886
1 { lib
2 , bcrypt
3 , buildPythonPackage
4 , cryptography
5 , fetchpatch
6 , fetchPypi
7 , gssapi
8 , icecream
9 , invoke
10 , mock
11 , pyasn1
12 , pynacl
13 , pytestCheckHook
14 , six
17 buildPythonPackage rec {
18   pname = "paramiko";
19   version = "3.3.1";
20   format = "setuptools";
22   src = fetchPypi {
23     inherit pname version;
24     hash = "sha256-ajd3qWGshtvvN1xfW41QAUoaltD9fwVKQ7yIATSw/3c=";
25   };
27   patches = [
28     # Fix usage of dsa keys
29     # https://github.com/paramiko/paramiko/pull/1606/
30     (fetchpatch {
31       url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
32       hash = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
33     })
34   ];
36   propagatedBuildInputs = [
37     bcrypt
38     cryptography
39     pyasn1
40     six
41   ] ++ passthru.optional-dependencies.ed25519; # remove on 3.0 update
43   passthru.optional-dependencies = {
44     gssapi = [ pyasn1 gssapi ];
45     ed25519 = [ pynacl bcrypt ];
46     invoke = [ invoke ];
47   };
49   nativeCheckInputs = [
50     icecream
51     mock
52     pytestCheckHook
53   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
55   disabledTestPaths = [
56     # disable tests that require pytest-relaxed, which is broken
57     "tests/test_client.py"
58     "tests/test_ssh_gss.py"
59   ];
61   pythonImportsCheck = [
62     "paramiko"
63   ];
65   __darwinAllowLocalNetworking = true;
67   meta = with lib; {
68     homepage = "https://github.com/paramiko/paramiko/";
69     changelog = "https://github.com/paramiko/paramiko/blob/${version}/sites/www/changelog.rst";
70     description = "Native Python SSHv2 protocol library";
71     license = licenses.lgpl21Plus;
72     longDescription = ''
73       Library for making SSH2 connections (client or server). Emphasis is
74       on using SSH2 as an alternative to SSL for making secure connections
75       between python scripts. All major ciphers and hash methods are
76       supported. SFTP client and server mode are both supported too.
77     '';
78     maintainers = with maintainers; [ ];
79   };