biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / mail / mailman / hyperkitty.nix
blob344970ebb5641017647586fd2cad4ffdcccdc6e9
1 { lib
2 , python3
3 , fetchurl
4 , nixosTests
5 }:
7 with python3.pkgs;
9 buildPythonPackage rec {
10   pname = "HyperKitty";
11   version = "1.3.9";
12   pyproject = true;
14   disabled = pythonOlder "3.10";
16   src = fetchurl {
17     url = "https://gitlab.com/mailman/hyperkitty/-/releases/${version}/downloads/hyperkitty-${version}.tar.gz";
18     hash = "sha256-BfhCh4zZcfwoIfubW/+MUWXwh1yFOH/jpRdQdsj6lME=";
19   };
21   nativeBuildInputs = [
22     pdm-backend
23   ];
25   propagatedBuildInputs = [
26     django
27     django-gravatar2
28     django-haystack
29     django-mailman3
30     django-q
31     django-compressor
32     django-extensions
33     djangorestframework
34     flufl-lock
35     mistune
36     networkx
37     psycopg2
38     python-dateutil
39     robot-detection
40   ];
42   # Some of these are optional runtime dependencies that are not
43   # listed as dependencies in pyproject.toml.  To use these, they
44   # should be dependencies of the Django Python environment, but not
45   # of HyperKitty so they're not included for people who don't need
46   # them.
47   nativeCheckInputs = [
48     beautifulsoup4
49     elastic-transport
50     elasticsearch
51     mock
52     whoosh
53   ] ++ beautifulsoup4.optional-dependencies.lxml;
55   checkPhase = ''
56     cd $NIX_BUILD_TOP/$sourceRoot
57     PYTHONPATH=.:$PYTHONPATH python example_project/manage.py test \
58       --settings=hyperkitty.tests.settings_test hyperkitty
59   '';
61   passthru.tests = { inherit (nixosTests) mailman; };
63   meta = {
64     changelog = "https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html";
65     homepage = "https://www.gnu.org/software/mailman/";
66     description = "Archiver for GNU Mailman v3";
67     license = lib.licenses.gpl3;
68     platforms = lib.platforms.linux;
69     maintainers = with lib.maintainers; [ qyliss ];
70   };