2023-10-09 19:29:22 +00:00
|
|
|
{ lib
|
|
|
|
, buildPythonPackage
|
|
|
|
, fetchPypi
|
2024-02-29 20:09:43 +00:00
|
|
|
, testers
|
2023-10-09 19:29:22 +00:00
|
|
|
, ansible-compat
|
|
|
|
, ansible-core
|
|
|
|
, click-help-colors
|
|
|
|
, enrich
|
|
|
|
, jsonschema
|
2024-02-29 20:09:43 +00:00
|
|
|
, molecule
|
2023-10-09 19:29:22 +00:00
|
|
|
, withPlugins ? true, molecule-plugins
|
|
|
|
, packaging
|
|
|
|
, pluggy
|
|
|
|
, rich
|
|
|
|
, setuptools
|
|
|
|
, setuptools-scm
|
|
|
|
, yamllint
|
|
|
|
, wcmatch
|
|
|
|
, wheel
|
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "molecule";
|
2024-02-29 20:09:43 +00:00
|
|
|
version = "24.2.0";
|
2023-10-09 19:29:22 +00:00
|
|
|
format = "pyproject";
|
|
|
|
|
|
|
|
src = fetchPypi {
|
|
|
|
inherit pname version;
|
2024-02-29 20:09:43 +00:00
|
|
|
hash = "sha256-R8mCp9Bdt4Rtp3/nFZ3rlG8myvsuOI/HGBK+AImkF3Y=";
|
2023-10-09 19:29:22 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
|
|
|
setuptools
|
|
|
|
setuptools-scm
|
|
|
|
wheel
|
|
|
|
];
|
|
|
|
|
|
|
|
propagatedBuildInputs = [
|
|
|
|
ansible-compat
|
|
|
|
ansible-core
|
|
|
|
click-help-colors
|
|
|
|
enrich
|
|
|
|
jsonschema
|
|
|
|
packaging
|
|
|
|
pluggy
|
|
|
|
rich
|
|
|
|
yamllint
|
|
|
|
wcmatch
|
|
|
|
] ++ lib.optional withPlugins molecule-plugins;
|
|
|
|
|
|
|
|
pythonImportsCheck = [ "molecule" ];
|
|
|
|
|
|
|
|
# tests can't be easily run without installing things from ansible-galaxy
|
|
|
|
doCheck = false;
|
|
|
|
|
2024-02-29 20:09:43 +00:00
|
|
|
passthru.tests.version = (testers.testVersion {
|
|
|
|
package = molecule;
|
|
|
|
command = "PY_COLORS=0 ${pname} --version";
|
|
|
|
}).overrideAttrs (old: {
|
|
|
|
# workaround the error: Permission denied: '/homeless-shelter'
|
|
|
|
HOME = "$(mktemp -d)";
|
|
|
|
});
|
|
|
|
|
2023-10-09 19:29:22 +00:00
|
|
|
meta = with lib; {
|
|
|
|
description = "Molecule aids in the development and testing of Ansible roles";
|
|
|
|
homepage = "https://github.com/ansible-community/molecule";
|
|
|
|
maintainers = with maintainers; [ dawidd6 ];
|
|
|
|
license = licenses.mit;
|
|
|
|
};
|
|
|
|
}
|