1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 netbox,
7 pythonAtLeast,
8}:
9buildPythonPackage rec {
10 pname = "netbox-floorplan-plugin";
11 version = "0.6.0";
12 pyproject = true;
13
14 disabled = pythonAtLeast "3.13";
15
16 src = fetchFromGitHub {
17 owner = "netbox-community";
18 repo = "netbox-floorplan-plugin";
19 tag = version;
20 hash = "sha256-cJrqSXRCBedZh/pIozz/bHyhQosTy8cFYyji3KJva9Q=";
21 };
22
23 build-system = [ setuptools ];
24
25 nativeCheckInputs = [ netbox ];
26
27 preFixup = ''
28 export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH
29 '';
30
31 pythonImportsCheck = [ "netbox_floorplan" ];
32
33 meta = with lib; {
34 description = "Netbox plugin providing floorplan mapping capability for locations and sites";
35 homepage = "https://github.com/netbox-community/netbox-floorplan-plugin";
36 changelog = "https://github.com/netbox-community/netbox-floorplan-plugin/releases/tag/${src.tag}";
37 license = licenses.lgpl3;
38 maintainers = with maintainers; [ cobalt ];
39 };
40}