at master 1.5 kB view raw
1{ 2 lib, 3 asyncssh, 4 buildPythonPackage, 5 cryptography, 6 fetchFromGitHub, 7 httpcore, 8 httpx, 9 psrpcore, 10 psutil, 11 pyspnego, 12 pytest-mock, 13 pytestCheckHook, 14 pythonOlder, 15 pyyaml, 16 requests, 17 requests-credssp, 18 xmldiff, 19}: 20 21buildPythonPackage rec { 22 pname = "pypsrp"; 23 version = "0.8.1"; 24 format = "pyproject"; 25 26 disabled = pythonOlder "3.7"; 27 28 src = fetchFromGitHub { 29 owner = "jborean93"; 30 repo = "pypsrp"; 31 tag = "v${version}"; 32 hash = "sha256-Pwfc9e39sYPdcHN1cZtxxGEglEYzPp4yOYLD5/4SSiU="; 33 }; 34 35 propagatedBuildInputs = [ 36 cryptography 37 httpcore 38 httpx 39 psrpcore 40 pyspnego 41 requests 42 ]; 43 44 nativeCheckInputs = [ 45 pytest-mock 46 pytestCheckHook 47 pyyaml 48 xmldiff 49 ]; 50 51 optional-dependencies = { 52 credssp = [ requests-credssp ]; 53 kerberos = pyspnego.optional-dependencies.kerberos; 54 named_pipe = [ psutil ]; 55 ssh = [ asyncssh ]; 56 }; 57 58 pythonImportsCheck = [ "pypsrp" ]; 59 60 disabledTests = [ 61 # TypeError: Backend.load_rsa_private_numbers() missing 1 required... 62 "test_psrp_pshost_ui_mocked_methods" 63 "test_psrp_key_exchange_timeout" 64 "test_psrp_multiple_commands" 65 ]; 66 67 meta = with lib; { 68 description = "PowerShell Remoting Protocol Client library"; 69 homepage = "https://github.com/jborean93/pypsrp"; 70 changelog = "https://github.com/jborean93/pypsrp/blob/v${version}/CHANGELOG.md"; 71 license = licenses.mit; 72 maintainers = with maintainers; [ fab ]; 73 }; 74}