9 python3.pkgs.buildPythonApplication rec {
10 pname = "peering-manager";
13 src = fetchFromGitHub {
16 rev = "refs/tags/v${version}";
17 sha256 = "sha256-UV1zSX9C9y5faOBUQ7bfj2DT6ffhMW28MIT7SaYjMgw=";
23 # Fix compatibility with pyixapi 0.2.3
24 # https://github.com/peering-manager/peering-manager/commit/ee558ff66e467412942559a8a92252e3fc009920
25 ./fix-pyixapi-0.2.3-compatibility.patch
28 propagatedBuildInputs = with python3.pkgs; [
34 django-postgresql-netfields
40 drf-spectacular-sidecar
51 ] ++ plugins python3.pkgs;
55 cp peering_manager/configuration{.example,}.py
56 python3 manage.py collectstatic --no-input
57 rm -f peering_manager/configuration.py
63 mkdir -p $out/opt/peering-manager
64 cp -r . $out/opt/peering-manager
65 chmod +x $out/opt/peering-manager/manage.py
66 makeWrapper $out/opt/peering-manager/manage.py $out/bin/peering-manager \
67 --prefix PYTHONPATH : "$PYTHONPATH"
72 # PYTHONPATH of all dependencies used by the package
74 pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
77 inherit (nixosTests) peering-manager;
82 homepage = "https://peering-manager.net/";
83 license = licenses.asl20;
84 description = "BGP sessions management tool";
85 mainProgram = "peering-manager";
86 maintainers = teams.wdz.members;
87 platforms = platforms.linux;