summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/ansible/base.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/ansible/base.nix')
-rw-r--r--pkgs/development/python-modules/ansible/base.nix78
1 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/ansible/base.nix b/pkgs/development/python-modules/ansible/base.nix
new file mode 100644
index 000000000000..f3470f80b50f
--- /dev/null
+++ b/pkgs/development/python-modules/ansible/base.nix
@@ -0,0 +1,78 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, installShellFiles
+, ansible-collections
+, cryptography
+, jinja2
+, junit-xml
+, lxml
+, ncclient
+, packaging
+, paramiko
+, pexpect
+, psutil
+, pycrypto
+, pyyaml
+, requests
+, scp
+, windowsSupport ? false, pywinrm
+, xmltodict
+}:
+
+buildPythonPackage rec {
+ pname = "ansible-base";
+ version = "2.10.9";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0l91bwbavjnaqsnb4c6f17xl7r0cvglz3rxqfs63aagw10z5sqq4";
+ };
+
+ # 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," "["
+ '';
+
+ nativeBuildInputs = [
+ installShellFiles
+ ];
+
+ propagatedBuildInputs = [
+ # depend on ansible-collections instead of the other way around
+ ansible-collections
+ # from requirements.txt
+ cryptography
+ jinja2
+ packaging
+ pyyaml
+ # 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 ];
+ };
+}