mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-11 00:04:11 +00:00
018175ecab
I was using a 23.11 package on a NixOS 23.05 system and this caused the python that was used in gunicorn to differ from the python the postgres lib was linked against.
111 lines
2.8 KiB
Nix
111 lines
2.8 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, python3
|
|
, version
|
|
, hash
|
|
, plugins ? ps: []
|
|
, extraPatches ? []
|
|
, tests ? {}
|
|
, maintainers ? []
|
|
, eol ? false
|
|
}:
|
|
let
|
|
extraBuildInputs = plugins python3.pkgs;
|
|
in
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "netbox";
|
|
inherit version;
|
|
|
|
format = "other";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "netbox-community";
|
|
repo = pname;
|
|
rev = "refs/tags/v${version}";
|
|
inherit hash;
|
|
};
|
|
|
|
patches = extraPatches;
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
bleach
|
|
boto3
|
|
django_4
|
|
django-cors-headers
|
|
django-debug-toolbar
|
|
django-filter
|
|
django-graphiql-debug-toolbar
|
|
django-mptt
|
|
django-pglocks
|
|
django-prometheus
|
|
django-redis
|
|
django-rq
|
|
django-tables2
|
|
django-taggit
|
|
django-timezone-field
|
|
djangorestframework
|
|
drf-spectacular
|
|
drf-spectacular-sidecar
|
|
drf-yasg
|
|
dulwich
|
|
swagger-spec-validator # from drf-yasg[validation]
|
|
feedparser
|
|
graphene-django
|
|
jinja2
|
|
markdown
|
|
markdown-include
|
|
netaddr
|
|
pillow
|
|
psycopg2
|
|
pyyaml
|
|
sentry-sdk
|
|
social-auth-core
|
|
social-auth-app-django
|
|
svgwrite
|
|
tablib
|
|
jsonschema
|
|
] ++ extraBuildInputs;
|
|
|
|
buildInputs = with python3.pkgs; [
|
|
mkdocs-material
|
|
mkdocs-material-extensions
|
|
mkdocstrings
|
|
mkdocstrings-python
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
python3.pkgs.mkdocs
|
|
];
|
|
|
|
postBuild = ''
|
|
PYTHONPATH=$PYTHONPATH:netbox/
|
|
python -m mkdocs build
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/opt/netbox
|
|
cp -r . $out/opt/netbox
|
|
chmod +x $out/opt/netbox/netbox/manage.py
|
|
makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \
|
|
--prefix PYTHONPATH : "$PYTHONPATH"
|
|
'';
|
|
|
|
passthru = {
|
|
# PYTHONPATH of all dependencies used by the package
|
|
pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
|
|
gunicorn = python3.pkgs.gunicorn;
|
|
inherit tests;
|
|
};
|
|
|
|
meta = {
|
|
homepage = "https://github.com/netbox-community/netbox";
|
|
description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
|
|
license = lib.licenses.asl20;
|
|
knownVulnerabilities = (lib.optional eol "Netbox version ${version} is EOL; please upgrade by following the current release notes instructions.");
|
|
# Warning:
|
|
# Notice the missing `lib` in the inherit: it is using this function argument rather than a `with lib;` argument.
|
|
# If you replace this by `with lib;`, pay attention it does not inherit all maintainers in nixpkgs.
|
|
inherit maintainers;
|
|
};
|
|
}
|