depot/third_party/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix

77 lines
1.5 KiB
Nix
Raw Normal View History

{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonAtLeast,
# build-system
setuptools,
# dependencies
django,
# tests
factory-boy,
mock,
pip,
pygments,
pytestCheckHook,
pytest-django,
shortuuid,
vobject,
werkzeug,
}:
buildPythonPackage rec {
pname = "django-extensions";
version = "3.2.3";
pyproject = true;
# https://github.com/django-extensions/django-extensions/issues/1831
# Requires asyncore, which was dropped in 3.12
disabled = pythonAtLeast "3.12";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-A2+5FBv0IhTJPkwgd7je+B9Ac64UHJEa3HRBbWr2FxM=";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=django_extensions --cov-report html --cov-report term" ""
'';
build-system = [ setuptools ];
dependencies = [ django ];
__darwinAllowLocalNetworking = true;
nativeCheckInputs = [
factory-boy
mock
pip
pygments # not explicitly declared in setup.py, but some tests require it
pytest-django
pytestCheckHook
shortuuid
vobject
werkzeug
];
disabledTestPaths = [
# requires network access
"tests/management/commands/test_pipchecker.py"
# django.db.utils.OperationalError: no such table: django_extensions_permmodel
"tests/test_dumpscript.py"
];
meta = with lib; {
description = "A collection of custom extensions for the Django Framework";
homepage = "https://github.com/django-extensions/django-extensions";
license = licenses.mit;
};
}