diff options
-rw-r--r-- | pkgs/development/python-modules/ansible/core.nix | 83 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 2 |
2 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/ansible/core.nix b/pkgs/development/python-modules/ansible/core.nix new file mode 100644 index 00000000000..690d5a1725d --- /dev/null +++ b/pkgs/development/python-modules/ansible/core.nix @@ -0,0 +1,83 @@ +{ lib +, buildPythonPackage +, fetchPypi +, installShellFiles +, ansible-collections +, cryptography +, jinja2 +, junit-xml +, lxml +, ncclient +, packaging +, paramiko +, pexpect +, psutil +, pycrypto +, pyyaml +, requests +, resolvelib +, scp +, windowsSupport ? false, pywinrm +, xmltodict +}: + +buildPythonPackage rec { + pname = "ansible-core"; + version = "2.11.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1if9cybdicjhrfzi6nndqakb4sh3mw1fijhvbzbsq7ki22vwww4l"; + }; + + # ansible_connection is already wrapped, so don't pass it through + # the python interpreter again, as it would break execution of + # connection plugins. + postPatch = '' + substituteInPlace lib/ansible/executor/task_executor.py \ + --replace "[python," "[" + + substituteInPlace requirements.txt \ + --replace "resolvelib >= 0.5.3, < 0.6.0" "resolvelib" + ''; + + nativeBuildInputs = [ + installShellFiles + ]; + + propagatedBuildInputs = [ + # depend on ansible-collections instead of the other way around + ansible-collections + # from requirements.txt + cryptography + jinja2 + packaging + pyyaml + resolvelib + # optional dependencies + junit-xml + lxml + ncclient + paramiko + pexpect + psutil + pycrypto + requests + scp + xmltodict + ] ++ lib.optional windowsSupport pywinrm; + + postInstall = '' + installManPage docs/man/man1/*.1 + ''; + + # internal import errors, missing dependencies + doCheck = false; + + meta = with lib; { + description = "Radically simple IT automation"; + homepage = "https://www.ansible.com"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6e02706d248..ca9cd14d36d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -417,6 +417,8 @@ in { ansible-collections = callPackage ../development/python-modules/ansible/collections.nix { }; + ansible-core = callPackage ../development/python-modules/ansible/core.nix { }; + ansible-kernel = callPackage ../development/python-modules/ansible-kernel { }; ansible-lint = callPackage ../development/python-modules/ansible-lint { }; |