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