at 24.11-pre 74 lines 1.4 kB view raw
1{ lib 2, fetchFromGitHub 3, python3 4}: 5 6 7let 8 python = python3.override { 9 packageOverrides = self: super: { 10 pydantic = self.pydantic_1; 11 }; 12 }; 13in python.pkgs.buildPythonApplication rec { 14 pname = "cfripper"; 15 version = "1.15.6"; 16 pyproject = true; 17 18 src = fetchFromGitHub { 19 owner = "Skyscanner"; 20 repo = "cfripper"; 21 rev = "refs/tags/v${version}"; 22 hash = "sha256-h/NNTE5u1coyD4owiGjsK6SIuvDq1SQOPW4RM4yJtno="; 23 }; 24 25 pythonRelaxDeps = [ 26 "pluggy" 27 ]; 28 29 nativeBuildInputs = with python.pkgs; [ 30 pythonRelaxDepsHook 31 setuptools 32 setuptools-scm 33 ]; 34 35 propagatedBuildInputs = with python.pkgs; [ 36 boto3 37 cfn-flip 38 click 39 pluggy 40 pycfmodel 41 pydash 42 pyyaml 43 setuptools 44 ]; 45 46 nativeCheckInputs = with python.pkgs; [ 47 moto 48 pytestCheckHook 49 ]; 50 51 disabledTestPaths = [ 52 # Tests are failing 53 "tests/test_boto3_client.py" 54 "tests/config/test_pluggy.py" 55 ]; 56 57 disabledTests = [ 58 # Assertion fails 59 "test_multiple_resources_with_wildcard_resources_are_detected" 60 ]; 61 62 pythonImportsCheck = [ 63 "cfripper" 64 ]; 65 66 meta = with lib; { 67 description = "Tool for analysing CloudFormation templates"; 68 mainProgram = "cfripper"; 69 homepage = "https://github.com/Skyscanner/cfripper"; 70 changelog = "https://github.com/Skyscanner/cfripper/releases/tag/v${version}"; 71 license = with licenses; [ asl20 ]; 72 maintainers = with maintainers; [ fab ]; 73 }; 74}