about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2019-08-27 12:24:51 +0200
committerGitHub <noreply@github.com>2019-08-27 12:24:51 +0200
commit630e25ba5cd30adb9efb8b6a64a295af780e62b4 (patch)
treee70acc7e252a2d9c0cc5e597a5997c305be51df0 /pkgs
parentdb2b048aecd9abb03892b1faa480e9d5ac88b269 (diff)
parent582bb946242dd61a2500dcc9f8114a616fe9933f (diff)
downloadnixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.tar
nixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.tar.gz
nixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.tar.bz2
nixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.tar.lz
nixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.tar.xz
nixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.tar.zst
nixlib-630e25ba5cd30adb9efb8b6a64a295af780e62b4.zip
Merge pull request #67525 from peti/t/postorious
mailman: add the Postorious web UI
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/python-modules/django-mailman3/default.nix30
-rw-r--r--pkgs/development/python-modules/mailmanclient/default.nix21
-rw-r--r--pkgs/servers/mail/mailman/core.nix (renamed from pkgs/servers/mail/mailman/default.nix)0
-rw-r--r--pkgs/servers/mail/mailman/postorius.nix28
-rw-r--r--pkgs/top-level/python-packages.nix8
5 files changed, 86 insertions, 1 deletions
diff --git a/pkgs/development/python-modules/django-mailman3/default.nix b/pkgs/development/python-modules/django-mailman3/default.nix
new file mode 100644
index 000000000000..91cea9b00598
--- /dev/null
+++ b/pkgs/development/python-modules/django-mailman3/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchPypi, django-gravatar2, django_compressor
+, django-allauth, mailmanclient, django, mock
+}:
+
+buildPythonPackage rec {
+  pname = "django-mailman3";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0v6c1jhcc212wc2xa314irfcchl05r7nysrcy63dcaan958kmnnx";
+  };
+
+  propagatedBuildInputs = [
+    django-gravatar2 django_compressor django-allauth mailmanclient
+  ];
+  checkInputs = [ django mock ];
+
+  checkPhase = ''
+    cd $NIX_BUILD_TOP/$sourceRoot
+    PYTHONPATH=.:$PYTHONPATH django-admin.py test --settings=django_mailman3.tests.settings_test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Django library for Mailman UIs";
+    homepage = https://gitlab.com/mailman/django-mailman3;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ globin peti ];
+  };
+}
diff --git a/pkgs/development/python-modules/mailmanclient/default.nix b/pkgs/development/python-modules/mailmanclient/default.nix
new file mode 100644
index 000000000000..95e9e4fdd3e0
--- /dev/null
+++ b/pkgs/development/python-modules/mailmanclient/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, six, httplib2 }:
+
+buildPythonPackage rec {
+  pname = "mailmanclient";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xsrzdrsmfhnxv68zwm1g6awk7in08k6yhkyd27ipn0mq1wjm5jd";
+  };
+
+  propagatedBuildInputs = [ six httplib2 ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.gnu.org/software/mailman/";
+    description = "REST client for driving Mailman 3";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ peti globin ];
+  };
+}
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/core.nix
index fcd594270db4..fcd594270db4 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/core.nix
diff --git a/pkgs/servers/mail/mailman/postorius.nix b/pkgs/servers/mail/mailman/postorius.nix
new file mode 100644
index 000000000000..871f2ea244dd
--- /dev/null
+++ b/pkgs/servers/mail/mailman/postorius.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi, beautifulsoup4, vcrpy, mock
+, django-mailman3, mailmanclient
+}:
+
+buildPythonPackage rec {
+  pname = "postorius";
+  version = "1.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1722lnscxfl8wdigf5d80d1qmd5gblr439wa989jxlww0wkjg9fl";
+  };
+
+  buildInputs = [ beautifulsoup4 vcrpy mock ];
+  propagatedBuildInputs = [ django-mailman3 ];
+
+  checkPhase = ''
+    cd $NIX_BUILD_TOP/$sourceRoot
+    PYTHONPATH=.:$PYTHONPATH python example_project/manage.py test --settings=test_settings postorius
+  '';
+
+  meta = {
+    homepage = https://www.gnu.org/software/mailman/;
+    description = "Web-based user interface for managing GNU Mailman";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ globin peti ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 008c624c94ac..e8dca7c924b7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -711,7 +711,9 @@ in {
 
   mail-parser = callPackage ../development/python-modules/mail-parser { };
 
-  mailman = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman { });
+  mailman = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/core.nix { });
+
+  mailmanclient = callPackage ../development/python-modules/mailmanclient { };
 
   manhole = callPackage ../development/python-modules/manhole { };
 
@@ -821,6 +823,8 @@ in {
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  postorius = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/postorius.nix { });
+
   pplpy = callPackage ../development/python-modules/pplpy { };
 
   pprintpp = callPackage ../development/python-modules/pprintpp { };
@@ -2868,6 +2872,8 @@ in {
 
   django-logentry-admin = callPackage ../development/python-modules/django-logentry-admin { };
 
+  django-mailman3 = callPackage ../development/python-modules/django-mailman3 { };
+
   django-pglocks = callPackage ../development/python-modules/django-pglocks { };
 
   django-picklefield = callPackage ../development/python-modules/django-picklefield { };