diff --git a/lib/maintainers.nix b/lib/maintainers.nix index c4f8d6dcae4..cb9d746ada5 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -775,6 +775,7 @@ wyvie = "Elijah Rum "; xaverdh = "Dominik Xaver Hörl "; xeji = "xeji "; + xnaveira = "Xavier Naveira "; xnwdd = "Guillermo NWDD "; xurei = "Olivier Bourdoux "; xvapx = "Marti Serra "; diff --git a/pkgs/development/python-modules/junos-eznc/default.nix b/pkgs/development/python-modules/junos-eznc/default.nix new file mode 100644 index 00000000000..992780ef33d --- /dev/null +++ b/pkgs/development/python-modules/junos-eznc/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, six +, scp +, pyserial +, paramiko +, netaddr +, ncclient +, lxml +, jinja2 +, pyyaml +, nose +}: + +buildPythonPackage rec { + pname = "junos-eznc"; + version = "2.1.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "95a037cdd05618a189517357e46a06886909a18c7923b628c6ac43d5f54b2912"; + }; + + + checkInputs = [ nose ]; + + propagatedBuildInputs = [ + scp six pyserial paramiko netaddr ncclient lxml jinja2 pyyaml + ]; + + checkPhase = '' + nosetests -v --with-coverage --cover-package=jnpr.junos --cover-inclusive -a unit + ''; + + meta = with stdenv.lib; { + homepage = http://www.github.com/Juniper/py-junos-eznc; + description = "Junos 'EZ' automation for non-programmers"; + license = licenses.asl20; + maintainers = with maintainers; [ xnaveira ]; + }; +} diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix new file mode 100644 index 00000000000..4cc5769d8d8 --- /dev/null +++ b/pkgs/development/python-modules/ncclient/default.nix @@ -0,0 +1,41 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, paramiko +, lxml +, libxml2 +, libxslt +, pytest +, nose +, rednose +}: + +buildPythonPackage rec { + pname = "ncclient"; + version = "0.5.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "fe6b9c16ed5f1b21f5591da74bfdd91a9bdf69eb4e918f1c06b3c8db307bd32b"; + }; + + checkInputs = [ nose rednose ]; + + propagatedBuildInputs = [ + paramiko lxml libxml2 libxslt + ]; + + checkPhase = '' + nosetests test --rednose --verbosity=3 --with-coverage --cover-package ncclient + ''; + + #Unfortunately the test hangs at te end + doCheck = false; + + meta = with stdenv.lib; { + homepage = http://ncclient.org/; + description = "Python library for NETCONF clients"; + license = licenses.asl20; + maintainers = with maintainers; [ xnaveira ]; + }; +} diff --git a/pkgs/development/python-modules/scp/default.nix b/pkgs/development/python-modules/scp/default.nix new file mode 100644 index 00000000000..a612528d47a --- /dev/null +++ b/pkgs/development/python-modules/scp/default.nix @@ -0,0 +1,34 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, paramiko +, python +}: + +buildPythonPackage rec { + pname = "scp"; + version = "0.10.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "18f59e48df67fac0b069591609a0f4d50d781a101ddb8ec705f0c2e3501a8386"; + }; + + propagatedBuildInputs = [ + paramiko + ]; + + checkPhase = '' + SCPPY_PORT=10022 ${python.interpreter} test.py + ''; + + #The Pypi package doesn't include the test + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/jbardin/scp.py; + description = "SCP module for paramiko"; + license = licenses.lgpl3; + maintainers = with maintainers; [ xnaveira ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dffdb1feee6..4a1b672724d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5639,6 +5639,8 @@ in { }; }; + ncclient = callPackage ../development/python-modules/ncclient {}; + logfury = callPackage ../development/python-modules/logfury { }; ndg-httpsclient = buildPythonPackage rec { @@ -6271,6 +6273,8 @@ in { }; }; + junos-eznc = callPackage ../development/python-modules/junos-eznc {}; + raven = callPackage ../development/python-modules/raven { }; rethinkdb = buildPythonPackage rec { @@ -15306,6 +15310,8 @@ in { inherit (pkgs) gfortran glibcLocales; }; + scp = callPackage ../development/python-modules/scp {}; + scripttest = buildPythonPackage rec { version = "1.3"; name = "scripttest-${version}";