summary refs log tree commit diff
path: root/pkgs/servers/mail/mailman/hyperkitty.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/mail/mailman/hyperkitty.nix')
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix78
1 files changed, 63 insertions, 15 deletions
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
index 1c20e33bd0c..d0d7cbc7fbb 100644
--- a/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -1,35 +1,83 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, isort, coverage, mock
-, robot-detection, django_extensions, rjsmin, cssmin, django-mailman3
-, django-haystack, flufl_lock, networkx, python-dateutil, defusedxml
-, django-paintstore, djangorestframework, django, django-q
-, django_compressor, beautifulsoup4, six, psycopg2, whoosh, elasticsearch
+{ lib
+, buildPythonPackage
+, fetchFromGitLab
+, isPy3k
+
+# dependencies
+, defusedxml
+, django
+, django-gravatar2
+, django-haystack
+, django-mailman3
+, django-paintstore
+, django-q
+, django_compressor
+, django_extensions
+, djangorestframework
+, flufl_lock
+, mistune_2_0
+, networkx
+, psycopg2
+, python-dateutil
+, robot-detection
+
+# tests
+, beautifulsoup4
+, elasticsearch
+, mock
+, whoosh
 }:
 
 buildPythonPackage rec {
   pname = "HyperKitty";
   # Note: Mailman core must be on the latest version before upgrading HyperKitty.
   # See: https://gitlab.com/mailman/postorius/-/issues/516#note_544571309
-  version = "1.3.4";
+  #
+  # Update to next stable version > 1.3.4 that has fixed tests, see
+  # https://gitlab.com/mailman/django-mailman3/-/issues/48
+  version = "1.3.5";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1lbh8n66fp3l5s0xvmvsbfvgs3z4knx0gwf0q117n2nfkslf13zp";
+  src = fetchFromGitLab {
+    domain = "gitlab.com";
+    owner = "mailman";
+    repo = "hyperkitty";
+    rev = version;
+    sha256 = "0v70r0r6w0q56hk2hw1qp3ci0bwd9x8inf4gai6ybjqjfskqrxi4";
   };
 
-  nativeBuildInputs = [ isort ];
+  postPatch = ''
+    # isort is a development dependency
+    sed -i '/isort/d' setup.py
+  '';
+
   propagatedBuildInputs = [
-    robot-detection django_extensions rjsmin cssmin django-mailman3
-    django-haystack flufl_lock networkx python-dateutil defusedxml
-    django-paintstore djangorestframework django django-q
-    django_compressor six psycopg2 isort
+    django
+    django-gravatar2
+    django-haystack
+    django-mailman3
+    django-q
+    django_compressor
+    django_extensions
+    djangorestframework
+    flufl_lock
+    mistune_2_0
+    networkx
+    psycopg2
+    python-dateutil
+    robot-detection
   ];
 
   # Some of these are optional runtime dependencies that are not
   # listed as dependencies in setup.py.  To use these, they should be
   # dependencies of the Django Python environment, but not of
   # HyperKitty so they're not included for people who don't need them.
-  checkInputs = [ beautifulsoup4 coverage elasticsearch mock whoosh ];
+  checkInputs = [
+    beautifulsoup4
+    elasticsearch
+    mock
+    whoosh
+  ];
 
   checkPhase = ''
     cd $NIX_BUILD_TOP/$sourceRoot