1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 django,
6 netaddr,
7 netbox,
8 setuptools,
9}:
10buildPythonPackage rec {
11 pname = "netbox-interface-synchronization";
12 version = "4.1.7";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "NetTech2001";
17 repo = "netbox-interface-synchronization";
18 tag = version;
19 hash = "sha256-02fdfE1BwpWsh21M0oP65kMAbFxDxYHsAEWA64rUl18=";
20 };
21
22 build-system = [ setuptools ];
23
24 dependencies = [
25 django
26 netaddr
27 ];
28
29 # netbox is required for the pythonImportsCheck; plugin does not provide unit tests
30 nativeCheckInputs = [ netbox ];
31
32 preFixup = ''
33 export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
34 '';
35
36 pythonImportsCheck = [ "netbox_interface_synchronization" ];
37
38 meta = {
39 description = "Netbox plugin to compare and synchronize interfaces between devices and device types";
40 homepage = "https://github.com/NetTech2001/netbox-interface-synchronization";
41 changelog = "https://github.com/NetTech2001/netbox-interface-synchronization/releases/tag/${src.tag}";
42 license = lib.licenses.gpl3Only;
43 platforms = lib.platforms.linux;
44 maintainers = with lib.maintainers; [ felbinger ];
45 };
46}