1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 pdm-backend,
8
9 # dependencies
10 django-gravatar2,
11 django-allauth,
12 mailmanclient,
13 pytz,
14
15 # tests
16 django,
17 pytest-django,
18 pytestCheckHook,
19 nixosTests,
20}:
21
22buildPythonPackage rec {
23 pname = "django-mailman3";
24 version = "1.3.15";
25 pyproject = true;
26
27 src = fetchPypi {
28 pname = "django_mailman3";
29 inherit version;
30 hash = "sha256-+ZFrJpy5xdW6Yde/XEvxoAN8+TSQdiI0PfjZ7bHG0Rs=";
31 };
32
33 pythonRelaxDeps = [ "django-allauth" ];
34
35 build-system = [ pdm-backend ];
36
37 dependencies =
38 [
39 django-allauth
40 django-gravatar2
41 mailmanclient
42 pytz
43 ]
44 ++ django-allauth.optional-dependencies.openid
45 ++ django-allauth.optional-dependencies.socialaccount;
46
47 nativeCheckInputs = [
48 django
49 pytest-django
50 pytestCheckHook
51 ];
52
53 preCheck = ''
54 export DJANGO_SETTINGS_MODULE=django_mailman3.tests.settings_test
55 '';
56
57 pythonImportsCheck = [ "django_mailman3" ];
58
59 passthru.tests = {
60 inherit (nixosTests) mailman;
61 };
62
63 meta = with lib; {
64 description = "Django library for Mailman UIs";
65 homepage = "https://gitlab.com/mailman/django-mailman3";
66 license = licenses.gpl3Plus;
67 maintainers = with maintainers; [ qyliss ];
68 broken = lib.versionAtLeast django-allauth.version "65.0.0";
69 };
70}