1{ lib 2, stdenv 3, arc4 4, asn1crypto 5, asn1tools 6, asyauth 7, asysocks 8, buildPythonPackage 9, cargo 10, colorama 11, fetchFromGitHub 12, iconv 13, minikerberos 14, pillow 15, pyperclip 16, pythonOlder 17, rustPlatform 18, rustc 19, setuptools-rust 20, tqdm 21, unicrypto 22, winsspi 23}: 24 25buildPythonPackage rec { 26 pname = "aardwolf"; 27 version = "0.2.8"; 28 format = "setuptools"; 29 30 disabled = pythonOlder "3.7"; 31 32 src = fetchFromGitHub { 33 owner = "skelsec"; 34 repo = "aardwolf"; 35 rev = "refs/tags/${version}"; 36 hash = "sha256-4kJsW0uwWfcgVruEdDw3QhbzfPDuLjmK+YvcLrgF4SI="; 37 }; 38 39 cargoDeps = rustPlatform.fetchCargoTarball { 40 inherit src; 41 sourceRoot = "${src.name}/aardwolf/utils/rlers"; 42 name = "${pname}-${version}"; 43 hash = "sha256-i7fmdWOseRQGdvdBnlGi+lgWvhC2WFI2FwXU9JywYsc="; 44 }; 45 46 cargoRoot = "aardwolf/utils/rlers"; 47 48 nativeBuildInputs = [ 49 rustPlatform.cargoSetupHook 50 setuptools-rust 51 cargo 52 rustc 53 ]; 54 55 propagatedBuildInputs = [ 56 arc4 57 asn1crypto 58 asn1tools 59 asyauth 60 asysocks 61 colorama 62 minikerberos 63 pillow 64 pyperclip 65 tqdm 66 unicrypto 67 winsspi 68 ] ++ lib.optionals (stdenv.isDarwin) [ 69 iconv 70 ]; 71 72 # Module doesn't have tests 73 doCheck = false; 74 75 pythonImportsCheck = [ 76 "aardwolf" 77 ]; 78 79 meta = with lib; { 80 description = "Asynchronous RDP protocol implementation"; 81 homepage = "https://github.com/skelsec/aardwolf"; 82 changelog = "https://github.com/skelsec/aardwolf/releases/tag/${version}"; 83 license = with licenses; [ mit ]; 84 maintainers = with maintainers; [ fab ]; 85 }; 86}