1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 netbox,
7 python,
8 napalm,
9 django,
10}:
11buildPythonPackage rec {
12 pname = "netbox-napalm-plugin";
13 version = "0.3.3";
14 pyproject = true;
15
16 disabled = python.pythonVersion != netbox.python.pythonVersion;
17
18 src = fetchFromGitHub {
19 owner = "netbox-community";
20 repo = "netbox-napalm-plugin";
21 tag = "v${version}";
22 hash = "sha256-qo16Bwq2a9AbO80qnQo0WtJ7HbrqqGChMJaqYYD5Aqg=";
23 };
24
25 build-system = [ setuptools ];
26
27 dependencies = [ napalm ];
28
29 nativeCheckInputs = [
30 netbox
31 django
32 ];
33
34 postPatch = ''
35 substituteInPlace pyproject.toml \
36 --replace-fail 'napalm<5.0' 'napalm'
37 '';
38
39 preFixup = ''
40 export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
41 '';
42
43 pythonImportsCheck = [ "netbox_napalm_plugin" ];
44
45 meta = {
46 description = "Netbox plugin for Napalm integration";
47 homepage = "https://github.com/netbox-community/netbox-napalm-plugin";
48 changelog = "https://github.com/netbox-community/netbox-napalm-plugin/releases/tag/${src.tag}";
49 license = lib.licenses.asl20;
50 platforms = lib.platforms.linux;
51 maintainers = with lib.maintainers; [ felbinger ];
52 };
53}