about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixpkgs/nixos/modules/services/mail/mailman.nix3
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/web.nix31
2 files changed, 21 insertions, 13 deletions
diff --git a/nixpkgs/nixos/modules/services/mail/mailman.nix b/nixpkgs/nixos/modules/services/mail/mailman.nix
index a5f5588f90bc..136dff72a34d 100644
--- a/nixpkgs/nixos/modules/services/mail/mailman.nix
+++ b/nixpkgs/nixos/modules/services/mail/mailman.nix
@@ -258,7 +258,8 @@ in {
       # settings_local.json is loaded.
       os.environ["SECRET_KEY"] = ""
 
-      from mailman_web.settings import *
+      from mailman_web.settings.base import *
+      from mailman_web.settings.mailman import *
 
       import json
 
diff --git a/nixpkgs/pkgs/servers/mail/mailman/web.nix b/nixpkgs/pkgs/servers/mail/mailman/web.nix
index f8019907f283..cf105eae8f02 100644
--- a/nixpkgs/pkgs/servers/mail/mailman/web.nix
+++ b/nixpkgs/pkgs/servers/mail/mailman/web.nix
@@ -3,26 +3,33 @@
 }:
 
 buildPythonPackage rec {
-  pname = "mailman-web-unstable";
-  version = "2019-09-29";
+  pname = "mailman-web";
+  version = "unstable-2021-04-10";
   disabled = !isPy3k;
 
   src = fetchgit {
     url = "https://gitlab.com/mailman/mailman-web";
-    rev = "d17203b4d6bdc71c2b40891757f57a32f3de53d5";
-    sha256 = "124cxr4vfi1ibgxygk4l74q4fysx0a6pga1kk9p5wq2yvzwg9z3n";
+    rev = "19a7abe27dd3bc39c0250440de073f0adecd4da1";
+    sha256 = "0h25140n2jaisl0ri5x7gdmbypiys8vlq8dql1zmaxvq459ybxkn";
     leaveDotGit = true;
   };
 
-  # This is just so people installing from pip also get uwsgi
-  # installed, AFAICT.
-
-  # Django is depended on transitively by hyperkitty and postorius,
-  # and mailman_web has overly restrictive version bounds on it, so
-  # let's remove it.
   postPatch = ''
+    # This is just so people installing from pip also get uwsgi
+    # installed, AFAICT.
     sed -i '/^  uwsgi$/d' setup.cfg
+
+    # Django is depended on transitively by hyperkitty and postorius,
+    # and mailman_web has overly restrictive version bounds on it, so
+    # let's remove it.
     sed -i '/^  Django/d' setup.cfg
+
+    # Upstream seems to mostly target installing on top of existing
+    # distributions, and uses a path appropriate for that, but we are
+    # a distribution, so use a state directory appropriate for a
+    # distro package.
+    substituteInPlace mailman_web/settings/base.py \
+        --replace /opt/mailman/web /var/lib/mailman-web
   '';
 
   nativeBuildInputs = [ git makeWrapper setuptools-scm ];
@@ -38,7 +45,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Django project for Mailman 3 web interface";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ peti qyliss ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ peti qyliss m1cr0man ];
   };
 }