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}