58 lines
1.2 KiB
Nix
58 lines
1.2 KiB
Nix
|
{ lib
|
||
|
, fetchFromGitHub
|
||
|
, buildPythonPackage
|
||
|
, pycrypto
|
||
|
, paramiko
|
||
|
, jinja2
|
||
|
, pyyaml
|
||
|
, httplib2
|
||
|
, six
|
||
|
, netaddr
|
||
|
, dnspython
|
||
|
, jmespath
|
||
|
, dopy
|
||
|
, ncclient
|
||
|
, windowsSupport ? false
|
||
|
, pywinrm
|
||
|
}:
|
||
|
|
||
|
buildPythonPackage rec {
|
||
|
pname = "ansible";
|
||
|
version = "2.9.2";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "ansible";
|
||
|
repo = "ansible";
|
||
|
rev = "v${version}";
|
||
|
sha256 = "06vxvn5q13rxzndwzq3g6yxiqm361ma9zcvwbrfn630xkmsg4pd8";
|
||
|
};
|
||
|
|
||
|
prePatch = ''
|
||
|
# ansible-connection is wrapped, so make sure it's not passed
|
||
|
# through the python interpreter.
|
||
|
sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py
|
||
|
'';
|
||
|
|
||
|
postInstall = ''
|
||
|
for m in docs/man/man1/*; do
|
||
|
install -vD $m -t $out/share/man/man1
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
propagatedBuildInputs = [
|
||
|
pycrypto paramiko jinja2 pyyaml httplib2
|
||
|
six netaddr dnspython jmespath dopy ncclient
|
||
|
] ++ lib.optional windowsSupport pywinrm;
|
||
|
|
||
|
# dificult to test
|
||
|
doCheck = false;
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "http://www.ansible.com";
|
||
|
description = "Radically simple IT automation";
|
||
|
license = [ licenses.gpl3 ] ;
|
||
|
maintainers = with maintainers; [ joamaki costrouc ];
|
||
|
platforms = platforms.linux ++ platforms.darwin;
|
||
|
};
|
||
|
}
|