1{ 2 lib, 3 boto3, 4 botocore, 5 buildPythonPackage, 6 cached-property, 7 click, 8 click-option-group, 9 fetchFromGitHub, 10 jinja2, 11 markdown, 12 policy-sentry, 13 pytestCheckHook, 14 pythonOlder, 15 pyyaml, 16 schema, 17 setuptools, 18}: 19 20buildPythonPackage rec { 21 pname = "cloudsplaining"; 22 version = "0.8.1"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.8"; 26 27 src = fetchFromGitHub { 28 owner = "salesforce"; 29 repo = "cloudsplaining"; 30 tag = version; 31 hash = "sha256-Ix4SlkGMtserksazXCk0XcDhmxNcfV/QCVsDJjWbu2k="; 32 }; 33 34 postPatch = '' 35 # Ignore pinned versions 36 sed -i "s/'\(.*\)\(==\|>=\).*'/'\1'/g" requirements.txt 37 ''; 38 39 build-system = [ setuptools ]; 40 41 dependencies = [ 42 boto3 43 botocore 44 cached-property 45 click 46 click-option-group 47 jinja2 48 markdown 49 policy-sentry 50 pyyaml 51 schema 52 ]; 53 54 nativeCheckInputs = [ pytestCheckHook ]; 55 56 disabledTests = [ 57 "test_policy_expansion" 58 "test_statement_details_for_allow_not_action" 59 ]; 60 61 pythonImportsCheck = [ "cloudsplaining" ]; 62 63 meta = with lib; { 64 description = "Python module for AWS IAM security assessment"; 65 homepage = "https://github.com/salesforce/cloudsplaining"; 66 changelog = "https://github.com/salesforce/cloudsplaining/releases/tag/${src.tag}"; 67 license = licenses.bsd3; 68 maintainers = with maintainers; [ fab ]; 69 mainProgram = "cloudsplaining"; 70 }; 71}