about summary refs log tree commit diff
path: root/pkgs/servers/mail/mailman
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2021-10-10 01:15:47 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2021-10-11 01:22:10 +0200
commitf931bc81d63f5cfda55ac73d754c87b3fd63b291 (patch)
tree7797f40e534b7dfa4d29b6a151f5ab2683c37650 /pkgs/servers/mail/mailman
parent2cb093097d86d1976a35cda17d02e427af4306be (diff)
mailman: 3.3.4 -> 3.3.5
Override sqlalchemy version with 1.3.24 and relax alembic dependency.
Diffstat (limited to 'pkgs/servers/mail/mailman')
-rw-r--r--pkgs/servers/mail/mailman/default.nix53
1 files changed, 43 insertions, 10 deletions
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index 3ef9cafebaf07..386c425611fb0 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,23 +1,52 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy3k, alembic, aiosmtpd, dnspython
-, flufl_bounce, flufl_i18n, flufl_lock, lazr_config, lazr_delegates, passlib
-, requests, zope_configuration, click, falcon, importlib-resources
-, zope_component, lynx, postfix, authheaders, gunicorn
+{ lib, python3, fetchPypi, fetchpatch, pythonOlder, postfix, lynx
 }:
 
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      # https://gitlab.com/mailman/mailman/-/issues/845
+      sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
+        version = "1.3.24";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "06bmxzssc66cblk1hamskyv5q3xf1nh1py3vi6dka4lkpxy7gfzb";
+        };
+      });
+    };
+  };
+
+in
+
+with py.pkgs;
+
 buildPythonPackage rec {
   pname = "mailman";
-  version = "3.3.4";
-  disabled = !isPy3k;
+  version = "3.3.5";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01rx322b8mzcdj9xh4bjwnl0zis6n2wxd31rrij4cw3a2j03xpas";
+    sha256 = "12mgxs1ndhdjjkydx48b95na9k9h0disfqgrr6wxx7vda6dqvcwz";
   };
 
   propagatedBuildInputs = [
-    alembic aiosmtpd click dnspython falcon flufl_bounce flufl_i18n flufl_lock
-    importlib-resources lazr_config passlib requests zope_configuration
-    zope_component authheaders gunicorn
+    aiosmtpd
+    alembic
+    authheaders
+    click
+    dnspython
+    falcon
+    flufl_bounce
+    flufl_i18n
+    flufl_lock
+    gunicorn
+    importlib-resources
+    lazr_config
+    passlib
+    requests
+    sqlalchemy
+    zope_component
+    zope_configuration
   ];
 
   patches = [
@@ -33,6 +62,9 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
+    substituteInPlace setup.py \
+      --replace "alembic>=1.6.2,<1.7" "alembic>=1.6.2"
+
     substituteInPlace src/mailman/config/postfix.cfg \
       --replace /usr/sbin/postmap ${postfix}/bin/postmap
     substituteInPlace src/mailman/config/schema.cfg \
@@ -48,6 +80,7 @@ buildPythonPackage rec {
   # 'runner' scripts.
   dontWrapPythonPrograms = true;
 
+  # requires flufl.testing, which the upstream has archived
   doCheck = false;
 
   meta = {