{ lib, buildPythonPackage, setuptools, sqlite, django_4, django-compressor, django-libsass, dj-database-url, }: let src = with lib.fileset; toSource { root = ../src; fileset = intersection (gitTracked ../../.) ../src; }; pyproject = with lib; fromTOML pyproject-toml; # TODO: define this globally name = "panel"; # TODO: we may want this in a file so it's easier to read statically version = "0.0.0"; pyproject-toml = '' [project] name = "Fediversity-Panel" version = "${version}" [tool.setuptools] packages = [ "${name}" ] include-package-data = true ''; in buildPythonPackage { pname = name; inherit (pyproject.project) version; pyproject = true; inherit src; preBuild = '' echo "recursive-include ${name} *" > MANIFEST.in cp ${builtins.toFile "source" pyproject-toml} pyproject.toml ''; propagatedBuildInputs = [ setuptools django_4 django-compressor django-libsass dj-database-url sqlite ]; postInstall = '' mkdir -p $out/bin cp -v ${src}/manage.py $out/bin/manage.py chmod +x $out/bin/manage.py wrapProgram $out/bin/manage.py --prefix PYTHONPATH : "$PYTHONPATH" ''; }