ps3-disc-dumper: 3.2.3 -> 4.2.5, .NET 6 -> 9 (#361506)
[NixPkgs.git] / pkgs / development / python-modules / pulumi / default.nix
blob1f835c0f9325b17e8c6f701443a8df76f1e1b2b8
2   lib,
3   buildPythonPackage,
4   protobuf,
5   dill,
6   grpcio,
7   pulumi,
8   isPy27,
9   semver,
10   pip,
11   pytestCheckHook,
12   pyyaml,
13   six,
15 buildPythonPackage rec {
16   inherit (pulumi) version src;
18   pname = "pulumi";
19   format = "setuptools";
21   disabled = isPy27;
23   propagatedBuildInputs = [
24     semver
25     protobuf
26     dill
27     grpcio
28     pyyaml
29     six
30   ];
32   nativeCheckInputs = [
33     pip
34     pulumi.pkgs.pulumi-language-python
35     pytestCheckHook
36   ];
38   pytestFlagsArray = [ "test/" ];
40   sourceRoot = "${src.name}/sdk/python/lib";
42   # we apply the modifications done in the pulumi/sdk/python/Makefile
43   # but without the venv code
44   postPatch = ''
45     cp ../../README.md .
46     substituteInPlace setup.py \
47       --replace "3.0.0" "${version}" \
48       --replace "grpcio==1.56.2" "grpcio" \
49       --replace "semver~=2.13" "semver"
50   '';
52   # Allow local networking in tests on Darwin
53   __darwinAllowLocalNetworking = true;
55   # Verify that the version substitution works
56   preCheck = ''
57     pip show "${pname}" | grep "Version: ${version}" > /dev/null \
58       || (echo "ERROR: Version substitution seems to be broken"; exit 1)
59   '';
61   pythonImportsCheck = [ "pulumi" ];
63   meta = with lib; {
64     description = "Modern Infrastructure as Code. Any cloud, any language";
65     homepage = "https://github.com/pulumi/pulumi";
66     license = licenses.asl20;
67     maintainers = with maintainers; [ teto ];
68     # https://github.com/pulumi/pulumi/issues/16828
69     broken = versionAtLeast protobuf.version "5";
70   };