1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 aiosmtpd,
11 django,
12
13 # tests
14 factory-boy,
15 mock,
16 pip,
17 postgresql,
18 postgresqlTestHook,
19 pygments,
20 pytestCheckHook,
21 pytest-cov-stub,
22 pytest-django,
23 shortuuid,
24 vobject,
25 werkzeug,
26}:
27
28buildPythonPackage rec {
29 pname = "django-extensions";
30 version = "4.1";
31 pyproject = true;
32
33 src = fetchFromGitHub {
34 owner = pname;
35 repo = pname;
36 tag = version;
37 hash = "sha256-WgO/bDe4anQCc1q2Gdq3W70yDqDgmsvn39Qf9ZNVXuE=";
38 };
39
40 build-system = [ setuptools ];
41
42 dependencies = [
43 aiosmtpd
44 django
45 ];
46
47 __darwinAllowLocalNetworking = true;
48
49 nativeCheckInputs = [
50 factory-boy
51 mock
52 pip
53 postgresql
54 postgresqlTestHook
55 pygments # not explicitly declared in setup.py, but some tests require it
56 pytest-cov-stub
57 pytest-django
58 pytestCheckHook
59 shortuuid
60 vobject
61 werkzeug
62 ];
63
64 env = {
65 postgresqlEnableTCP = 1;
66 PGUSER = "postgres";
67 PGPASSWORD = "postgres";
68 PGDATABASE = "django_extensions_test";
69 };
70
71 disabledTestPaths = [
72 # https://github.com/django-extensions/django-extensions/issues/1871
73 "tests/test_dumpscript.py"
74 ];
75
76 meta = with lib; {
77 changelog = "https://github.com/django-extensions/django-extensions/releases/tag/${src.tag}";
78 description = "Collection of custom extensions for the Django Framework";
79 homepage = "https://github.com/django-extensions/django-extensions";
80 license = licenses.mit;
81 };
82}