diff --git a/pkgs/development/python-modules/ansible-later/default.nix b/pkgs/development/python-modules/ansible-later/default.nix new file mode 100644 index 000000000000..e671063acce4 --- /dev/null +++ b/pkgs/development/python-modules/ansible-later/default.nix @@ -0,0 +1,71 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib + +# pythonPackages +, anyconfig +, appdirs +, colorama +, flake8 +, jsonschema +, nested-lookup +, poetry-core +, python-json-logger +, pyyaml +, toolz +, unidiff +, yamllint +}: + +buildPythonPackage rec { + pname = "ansible-later"; + version = "2.0.6"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "thegeeklab"; + repo = "ansible-later"; + rev = "v${version}"; + sha256 = "sha256-vg9ryzl9ZeOGuFLL1yeJ3vGNPdo3ONmCQozY6DK6miY="; + }; + + postInstall = '' + rm $out/lib/python*/site-packages/LICENSE + ''; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'PyYAML = "6.0"' 'PyYAML = "*"' \ + --replace 'unidiff = "0.7.3"' 'unidiff = "*"' \ + --replace 'jsonschema = "4.4.0"' 'jsonschema = "*"' + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + anyconfig + appdirs + colorama + flake8 + jsonschema + nested-lookup + python-json-logger + pyyaml + toolz + unidiff + yamllint + ]; + + # no tests + doCheck = false; + pythonImportsCheck = [ "ansiblelater" ]; + + meta = with lib; { + description = "Another best practice scanner for Ansible roles and playbooks"; + homepage = "https://github.com/thegeeklab/ansible-later"; + license = licenses.mit; + maintainers = with maintainers; [ tboerger ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5ad1e7c5b995..7d5ef6d894d5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -524,6 +524,8 @@ in { ansible-kernel = callPackage ../development/python-modules/ansible-kernel { }; + ansible-later = callPackage ../development/python-modules/ansible-later { }; + ansible-lint = callPackage ../development/python-modules/ansible-lint { }; ansible-runner = callPackage ../development/python-modules/ansible-runner { };