nerdfonts: fix wrong attribute name in error message (#364463)
[NixPkgs.git] / pkgs / servers / web-apps / netbox / generic.nix
blob23e9e20095ea25e840e3fce1a224730f62187367
2   lib,
3   fetchFromGitHub,
4   python3,
5   version,
6   hash,
7   plugins ? ps: [ ],
8   extraPatches ? [ ],
9   tests ? { },
10   maintainers ? [ ],
11   eol ? false,
13 let
14   extraBuildInputs = plugins python3.pkgs;
16 python3.pkgs.buildPythonApplication rec {
17   pname = "netbox";
18   inherit version;
20   format = "other";
22   src = fetchFromGitHub {
23     owner = "netbox-community";
24     repo = pname;
25     rev = "refs/tags/v${version}";
26     inherit hash;
27   };
29   patches = extraPatches;
31   propagatedBuildInputs =
32     with python3.pkgs;
33     [
34       bleach
35       boto3
36       django_4
37       django-cors-headers
38       django-debug-toolbar
39       django-filter
40       django-graphiql-debug-toolbar
41       django-mptt
42       django-pglocks
43       django-prometheus
44       django-redis
45       django-rq
46       django-tables2
47       django-taggit
48       django-timezone-field
49       djangorestframework
50       drf-spectacular
51       drf-spectacular-sidecar
52       drf-yasg
53       dulwich
54       swagger-spec-validator # from drf-yasg[validation]
55       feedparser
56       graphene-django
57       jinja2
58       markdown
59       markdown-include
60       netaddr
61       pillow
62       psycopg2
63       pyyaml
64       requests
65       sentry-sdk
66       social-auth-core
67       social-auth-app-django
68       svgwrite
69       tablib
70       jsonschema
71     ]
72     ++ extraBuildInputs;
74   buildInputs = with python3.pkgs; [
75     mkdocs-material
76     mkdocs-material-extensions
77     mkdocstrings
78     mkdocstrings-python
79   ];
81   nativeBuildInputs = [
82     python3.pkgs.mkdocs
83   ];
85   postBuild = ''
86     PYTHONPATH=$PYTHONPATH:netbox/
87     python -m mkdocs build
88   '';
90   installPhase = ''
91     mkdir -p $out/opt/netbox
92     cp -r . $out/opt/netbox
93     chmod +x $out/opt/netbox/netbox/manage.py
94     makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \
95       --prefix PYTHONPATH : "$PYTHONPATH"
96   '';
98   passthru = {
99     python = python3;
100     # PYTHONPATH of all dependencies used by the package
101     pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
102     gunicorn = python3.pkgs.gunicorn;
103     inherit tests;
104   };
106   meta = {
107     homepage = "https://github.com/netbox-community/netbox";
108     description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
109     mainProgram = "netbox";
110     license = lib.licenses.asl20;
111     knownVulnerabilities = (
112       lib.optional eol "Netbox version ${version} is EOL; please upgrade by following the current release notes instructions."
113     );
114     # Warning:
115     # Notice the missing `lib` in the inherit: it is using this function argument rather than a `with lib;` argument.
116     # If you replace this by `with lib;`, pay attention it does not inherit all maintainers in nixpkgs.
117     inherit maintainers;
118   };