diff options
Diffstat (limited to 'pkgs/development/python-modules/pulumi/default.nix')
-rw-r--r-- | pkgs/development/python-modules/pulumi/default.nix | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/pulumi/default.nix b/pkgs/development/python-modules/pulumi/default.nix new file mode 100644 index 00000000000..e38157c6907 --- /dev/null +++ b/pkgs/development/python-modules/pulumi/default.nix @@ -0,0 +1,89 @@ +{ lib +, buildPythonPackage +, fetchpatch +, fetchFromGitHub +, protobuf +, dill +, grpcio +, pulumi-bin +, isPy27 +, semver +, pyyaml +, six + + +# for tests +, tox +, go +, pulumictl +, bash +, pylint +, pytest +, pytest-timeout +, coverage +, black +, wheel +, pytest-asyncio + +, mypy +}: +let + data = import ./data.nix {}; +in +buildPythonPackage rec { + pname = "pulumi"; + version = pulumi-bin.version; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "pulumi"; + repo = "pulumi"; + rev = "v${pulumi-bin.version}"; + sha256 = "sha256-vqEZEHTpJV65a3leWwYhyi3dzAsN67BXOvk5hnTPeuI="; + }; + + propagatedBuildInputs = [ + semver + protobuf + dill + grpcio + pyyaml + six + ]; + + checkInputs = [ + pulumi-bin + pulumictl + mypy + bash + go + tox + pytest + pytest-timeout + coverage + pytest-asyncio + wheel + black + ]; + + pythonImportsCheck = ["pulumi"]; + + postPatch = '' + cp README.md sdk/python/lib + patchShebangs . + cd sdk/python/lib + + substituteInPlace setup.py \ + --replace "{VERSION}" "${version}" + ''; + + # disabled because tests try to fetch go packages from the net + doCheck = false; + + meta = with lib; { + description = "Modern Infrastructure as Code. Any cloud, any language"; + homepage = "https://github.com/pulumi/pulumi"; + license = licenses.asl20; + maintainers = with maintainers; [ teto ]; + }; +} |