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 django-allauth
39 django-gravatar2
40 mailmanclient
41 pytz
42 ]
43 ++ django-allauth.optional-dependencies.openid
44 ++ django-allauth.optional-dependencies.socialaccount;
45
46 nativeCheckInputs = [
47 django
48 pytest-django
49 pytestCheckHook
50 ];
51
52 preCheck = ''
53 export DJANGO_SETTINGS_MODULE=django_mailman3.tests.settings_test
54 '';
55
56 pythonImportsCheck = [ "django_mailman3" ];
57
58 passthru.tests = {
59 inherit (nixosTests) mailman;
60 };
61
62 meta = with lib; {
63 description = "Django library for Mailman UIs";
64 homepage = "https://gitlab.com/mailman/django-mailman3";
65 license = licenses.gpl3Plus;
66 maintainers = with maintainers; [ qyliss ];
67 broken = lib.versionAtLeast django-allauth.version "65.0.0";
68 };
69}