From 2e9d671497ef5e2f8cac6d78a1f0f6c93fc1dfbc Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 15 Sep 2023 14:06:33 +0200 Subject: python3Packages.napalm: 3.4.1 -> 4.1.0 --- pkgs/development/python-modules/napalm/default.nix | 86 +++++++++++++--------- 1 file changed, 52 insertions(+), 34 deletions(-) (limited to 'pkgs/development/python-modules/napalm/default.nix') diff --git a/pkgs/development/python-modules/napalm/default.nix b/pkgs/development/python-modules/napalm/default.nix index eabbadc1d61..9b835d52737 100644 --- a/pkgs/development/python-modules/napalm/default.nix +++ b/pkgs/development/python-modules/napalm/default.nix @@ -1,58 +1,76 @@ -{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, setuptools, cffi -, paramiko, requests, future, textfsm, jinja2, netaddr, pyyaml, pyeapi, netmiko -, junos-eznc, ciscoconfparse, scp, lxml, ncclient, pytestCheckHook, ddt, mock -, pythonOlder, invoke }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# build-system +, setuptools +, cffi + +# dependencies +, future +, jinja2 +, junos-eznc +, lxml +, ncclient +, netaddr +, netmiko +, netutils +, paramiko +, pyeapi +, pyyaml +, requests +, scp +, textfsm +, ttp +, ttp-templates +, typing-extensions + +# tests +, pytestCheckHook +, ddt +, mock + }: buildPythonPackage rec { pname = "napalm"; - version = "3.4.1"; - format = "setuptools"; + version = "4.1.0"; + format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "napalm-automation"; repo = "napalm"; - rev = version; - hash = "sha256-TNWRJtc6+VS6wgJGGvCPDoFQmOKQAyXdjFQo9bPJ2F8="; + rev = "refs/tags/${version}"; + hash = "sha256-JqjuYMJcP58UMn1pPYg7x8KpqCKQUs19Ng9HbI2iX38="; }; - patches = [ - # netmiko 4.0.0 support - (fetchpatch{ - url = "https://github.com/napalm-automation/napalm/commit/4b8cc85db3236099a04f742cf71773e74d9dd70e.patch"; - excludes = [ "requirements.txt" ]; - hash = "sha256-DBKp+wiKd+/j2xAqaQL3UCcGQd6wnWcNTsNXBBt9c98="; - }) - (fetchpatch{ - url = "https://github.com/napalm-automation/napalm/commit/4a8b5b1823335dd79aa5269c038a1f08ecd35cdd.patch"; - hash = "sha256-uiou/rzmnFf4wAvXwmUsGJx99GeHWKJB2JrMM1kLakM="; - }) + nativeBuildInputs = [ + setuptools ]; - postPatch = '' - substituteInPlace requirements.txt \ - --replace "netmiko>=3.3.0,<4.0.0" "netmiko" - ''; - propagatedBuildInputs = [ cffi - paramiko - requests future - textfsm - invoke jinja2 + junos-eznc + lxml + ncclient netaddr - pyyaml - pyeapi netmiko - junos-eznc - ciscoconfparse + # breaks infinite recursion + (netutils.override { napalm = null; }) + paramiko + pyeapi + pyyaml + requests scp setuptools - lxml - ncclient + textfsm + ttp + ttp-templates + typing-extensions ]; nativeCheckInputs = [ pytestCheckHook mock ddt ]; -- cgit 1.4.1