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