From 284c6a59908c234d3d82205e685af42effb050c3 Mon Sep 17 00:00:00 2001
From: Xavier Naveira <xavier.naveira@ooyala.com>
Date: Fri, 2 Mar 2018 15:24:00 +0100
Subject: [PATCH 1/3] pythonPackages.scp: init at 0.10.2

---
 lib/maintainers.nix                           |  1 +
 .../python-modules/scp/default.nix            | 29 +++++++++++++++++++
 pkgs/top-level/python-packages.nix            |  2 ++
 3 files changed, 32 insertions(+)
 create mode 100644 pkgs/development/python-modules/scp/default.nix

diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 642ecf0b608..bbd987fe14f 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -774,6 +774,7 @@
   wyvie = "Elijah Rum <elijahrum@gmail.com>";
   xaverdh = "Dominik Xaver Hörl <hoe.dom@gmx.de>";
   xeji = "xeji <xeji@cat3.de>";
+  xnaveira = "Xavier Naveira <xnaveira@gmail.com>";
   xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
   xurei = "Olivier Bourdoux <olivier.bourdoux@gmail.com>";
   xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>";
diff --git a/pkgs/development/python-modules/scp/default.nix b/pkgs/development/python-modules/scp/default.nix
new file mode 100644
index 00000000000..0db9fd55156
--- /dev/null
+++ b/pkgs/development/python-modules/scp/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonPackages
+, setuptools
+, paramiko
+}:
+
+buildPythonPackage rec {
+  pname = "scp";
+  version = "0.10.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "18f59e48df67fac0b069591609a0f4d50d781a101ddb8ec705f0c2e3501a8386";
+  };
+
+
+  buildInputs = [
+    paramiko
+  ];
+
+  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 3e6f4fcdafc..807734dc94b 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -452,6 +452,8 @@ in {
 
   python-sybase = callPackage ../development/python-modules/sybase {};
 
+  scp = callPackage ../development/python-modules/scp {};
+
   alot = buildPythonPackage rec {
     rev = "0.5.1";
     name = "alot-${rev}";

From 22c5082aed3d2ab1909f1df6e38cec349be1991c Mon Sep 17 00:00:00 2001
From: Xavier Naveira <xavier.naveira@ooyala.com>
Date: Fri, 2 Mar 2018 15:33:07 +0100
Subject: [PATCH 2/3] pythonPackages.ncclient: init a 0.5.3

---
 .../python-modules/ncclient/default.nix       | 32 +++++++++++++++++++
 pkgs/top-level/python-packages.nix            |  2 ++
 2 files changed, 34 insertions(+)
 create mode 100644 pkgs/development/python-modules/ncclient/default.nix

diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix
new file mode 100644
index 00000000000..2c6fcedc069
--- /dev/null
+++ b/pkgs/development/python-modules/ncclient/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonPackages
+, setuptools
+, paramiko
+, lxml
+, libxml2
+, libxslt
+}:
+
+buildPythonPackage rec {
+  pname = "ncclient";
+  version = "0.5.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fe6b9c16ed5f1b21f5591da74bfdd91a9bdf69eb4e918f1c06b3c8db307bd32b";
+  };
+
+
+  buildInputs = [
+    setuptools paramiko lxml libxml2 libxslt
+  ];
+
+  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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 807734dc94b..83b90c42cbb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -454,6 +454,8 @@ in {
 
   scp = callPackage ../development/python-modules/scp {};
 
+  ncclient = callPackage ../development/python-modules/ncclient {};
+
   alot = buildPythonPackage rec {
     rev = "0.5.1";
     name = "alot-${rev}";

From 1689c3c53f698c242e28c6e308e048a192ba719e Mon Sep 17 00:00:00 2001
From: Xavier Naveira <xavier.naveira@ooyala.com>
Date: Fri, 2 Mar 2018 15:34:20 +0100
Subject: [PATCH 3/3] pythonPackages.junos-eznc: init at 2.1.7

pythonPackages.junos-eznc: init at 2.1.7

pythonPackages.junos-eznc: init at 2.1.7
---
 .../python-modules/junos-eznc/default.nix     | 42 +++++++++++++++++++
 .../python-modules/ncclient/default.nix       | 17 ++++++--
 .../python-modules/scp/default.nix            | 15 ++++---
 pkgs/top-level/python-packages.nix            | 10 +++--
 4 files changed, 71 insertions(+), 13 deletions(-)
 create mode 100644 pkgs/development/python-modules/junos-eznc/default.nix

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
index 2c6fcedc069..4cc5769d8d8 100644
--- a/pkgs/development/python-modules/ncclient/default.nix
+++ b/pkgs/development/python-modules/ncclient/default.nix
@@ -1,12 +1,13 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, pythonPackages
-, setuptools
 , paramiko
 , lxml
 , libxml2
 , libxslt
+, pytest
+, nose
+, rednose
 }:
 
 buildPythonPackage rec {
@@ -18,11 +19,19 @@ buildPythonPackage rec {
     sha256 = "fe6b9c16ed5f1b21f5591da74bfdd91a9bdf69eb4e918f1c06b3c8db307bd32b";
   };
 
+  checkInputs = [ nose rednose ];
 
-  buildInputs = [
-    setuptools paramiko lxml libxml2 libxslt
+  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";
diff --git a/pkgs/development/python-modules/scp/default.nix b/pkgs/development/python-modules/scp/default.nix
index 0db9fd55156..a612528d47a 100644
--- a/pkgs/development/python-modules/scp/default.nix
+++ b/pkgs/development/python-modules/scp/default.nix
@@ -1,9 +1,8 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, pythonPackages
-, setuptools
 , paramiko
+, python
 }:
 
 buildPythonPackage rec {
@@ -15,14 +14,20 @@ buildPythonPackage rec {
     sha256 = "18f59e48df67fac0b069591609a0f4d50d781a101ddb8ec705f0c2e3501a8386";
   };
 
-
-  buildInputs = [
+  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";
+    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 83b90c42cbb..4e424c9a293 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -452,10 +452,6 @@ in {
 
   python-sybase = callPackage ../development/python-modules/sybase {};
 
-  scp = callPackage ../development/python-modules/scp {};
-
-  ncclient = callPackage ../development/python-modules/ncclient {};
-
   alot = buildPythonPackage rec {
     rev = "0.5.1";
     name = "alot-${rev}";
@@ -5643,6 +5639,8 @@ in {
     };
   };
 
+  ncclient = callPackage ../development/python-modules/ncclient {};
+
   logfury = callPackage ../development/python-modules/logfury { };
 
   ndg-httpsclient = buildPythonPackage rec {
@@ -6275,6 +6273,8 @@ in {
     };
   };
 
+  junos-eznc = callPackage ../development/python-modules/junos-eznc {};
+
   raven = callPackage ../development/python-modules/raven { };
 
   rethinkdb = buildPythonPackage rec {
@@ -15327,6 +15327,8 @@ in {
     inherit (pkgs) gfortran glibcLocales;
   };
 
+  scp = callPackage ../development/python-modules/scp {};
+
   scripttest = buildPythonPackage rec {
     version = "1.3";
     name = "scripttest-${version}";