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