python3Packages.napalm: 3.4.1 -> 4.1.0

This commit is contained in:
Martin Weinelt
2023-09-27 15:33:49 +02:00
parent d7cb2e0029
commit 2e9d671497
@@ -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
netaddr
pyyaml
pyeapi
netmiko
junos-eznc
ciscoconfparse
scp
setuptools
lxml
ncclient
netaddr
netmiko
# breaks infinite recursion
(netutils.override { napalm = null; })
paramiko
pyeapi
pyyaml
requests
scp
setuptools
textfsm
ttp
ttp-templates
typing-extensions
];
nativeCheckInputs = [ pytestCheckHook mock ddt ];