1{ 2 lib, 3 bcrypt, 4 buildPythonPackage, 5 cryptography, 6 fetchpatch, 7 fetchPypi, 8 gssapi, 9 icecream, 10 invoke, 11 mock, 12 pyasn1, 13 pynacl, 14 pytest-relaxed, 15 pytestCheckHook, 16 setuptools, 17}: 18 19buildPythonPackage rec { 20 pname = "paramiko"; 21 version = "3.5.1"; 22 pyproject = true; 23 24 src = fetchPypi { 25 inherit pname version; 26 hash = "sha256-ssZlvEWyshW9fX8DmQGxSwZ9oA86EeZkCZX9WPJmSCI="; 27 }; 28 29 patches = [ 30 # Fix usage of dsa keys 31 # https://github.com/paramiko/paramiko/pull/1606/ 32 (fetchpatch { 33 url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch"; 34 hash = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA="; 35 }) 36 ]; 37 38 build-system = [ setuptools ]; 39 40 dependencies = [ 41 bcrypt 42 cryptography 43 pynacl 44 ]; 45 46 optional-dependencies = { 47 gssapi = [ 48 pyasn1 49 gssapi 50 ]; 51 ed25519 = [ ]; 52 invoke = [ invoke ]; 53 }; 54 55 nativeCheckInputs = [ 56 icecream 57 mock 58 pytestCheckHook 59 pytest-relaxed 60 ] ++ lib.flatten (builtins.attrValues optional-dependencies); 61 62 pythonImportsCheck = [ "paramiko" ]; 63 64 __darwinAllowLocalNetworking = true; 65 66 meta = { 67 homepage = "https://github.com/paramiko/paramiko/"; 68 changelog = "https://github.com/paramiko/paramiko/blob/${version}/sites/www/changelog.rst"; 69 description = "Native Python SSHv2 protocol library"; 70 license = lib.licenses.lgpl21Plus; 71 longDescription = '' 72 Library for making SSH2 connections (client or server). Emphasis is 73 on using SSH2 as an alternative to SSL for making secure connections 74 between python scripts. All major ciphers and hash methods are 75 supported. SFTP client and server mode are both supported too. 76 ''; 77 teams = [ lib.teams.helsinki-systems ]; 78 }; 79}