1{ lib 2, awacs 3, buildPythonPackage 4, cfn-flip 5, fetchFromGitHub 6, pythonOlder 7, typing-extensions 8, unittestCheckHook 9}: 10 11buildPythonPackage rec { 12 pname = "troposphere"; 13 version = "4.5.2"; 14 format = "setuptools"; 15 16 disabled = pythonOlder "3.7"; 17 18 src = fetchFromGitHub { 19 owner = "cloudtools"; 20 repo = pname; 21 rev = "refs/tags/${version}"; 22 hash = "sha256-LLky4lSSMUmLEf+qHwgPvDu0DZhG4WWZ1aFSXqFm1BA="; 23 }; 24 25 propagatedBuildInputs = [ 26 cfn-flip 27 ] ++ lib.optionals (pythonOlder "3.8") [ 28 typing-extensions 29 ]; 30 31 nativeCheckInputs = [ 32 awacs 33 unittestCheckHook 34 ]; 35 36 passthru.optional-dependencies = { 37 policy = [ 38 awacs 39 ]; 40 }; 41 42 pythonImportsCheck = [ 43 "troposphere" 44 ]; 45 46 meta = with lib; { 47 description = "Library to create AWS CloudFormation descriptions"; 48 homepage = "https://github.com/cloudtools/troposphere"; 49 changelog = "https://github.com/cloudtools/troposphere/blob/${version}/CHANGELOG.rst"; 50 license = licenses.bsd2; 51 maintainers = with maintainers; [ jlesquembre ]; 52 }; 53}