pulumiPackages: add support for Python SDKs

This commit is contained in:
Andreas Stührk 2022-10-18 17:06:05 +02:00 committed by Vincent Haupert
parent 54e896edba
commit 3582d5c4aa

View File

@ -1,5 +1,6 @@
{ buildGoModule
, fetchFromGitHub
, python3Packages
}:
let
mkBasePackage =
@ -24,6 +25,52 @@ let
"-w"
] ++ extraLdflags;
} // args);
mkPythonPackage =
{ meta
, pname
, src
, version
, ...
}: python3Packages.callPackage
({ buildPythonPackage, pythonOlder, parver, pulumi, semver }:
buildPythonPackage rec {
inherit pname meta src version;
format = "setuptools";
disabled = pythonOlder "3.7";
sourceRoot = "${src.name}/sdk/python";
propagatedBuildInputs = [
parver
pulumi
semver
];
postPatch = ''
sed -i \
-e 's/^VERSION = .*/VERSION = "${version}"/g' \
-e 's/^PLUGIN_VERSION = .*/PLUGIN_VERSION = "${version}"/g' \
setup.py
'';
# Auto-generated; upstream does not have any tests.
# Verify that the version substitution works
checkPhase = ''
runHook preCheck
pip show "${pname}" | grep "Version: ${version}" > /dev/null \
|| (echo "ERROR: Version substitution seems to be broken"; exit 1)
runHook postCheck
'';
pythonImportsCheck = [
(builtins.replaceStrings [ "-" ] [ "_" ] pname)
];
})
{ };
in
{ owner
, repo
@ -72,4 +119,10 @@ mkBasePackage ({
VERSION=v${version} go generate cmd/${cmdRes}/main.go
'';
passthru.sdks.python = mkPythonPackage {
inherit meta src version;
pname = repo;
};
} // args)