From 22af3829a4bf9722c96ca07cb2840e4d61ee8b7e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 26 Aug 2019 17:41:02 +0200 Subject: [PATCH] mailman: add the Postorious web UI --- .../django-mailman3/default.nix | 19 ++++++++++++++ .../python-modules/mailmanclient/default.nix | 13 ++++++++++ .../mail/mailman/{default.nix => core.nix} | 0 pkgs/servers/mail/mailman/postorius.nix | 25 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 8 +++++- 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/django-mailman3/default.nix create mode 100644 pkgs/development/python-modules/mailmanclient/default.nix rename pkgs/servers/mail/mailman/{default.nix => core.nix} (100%) create mode 100644 pkgs/servers/mail/mailman/postorius.nix 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..bd0f626d54eb --- /dev/null +++ b/pkgs/development/python-modules/django-mailman3/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPythonPackage, fetchPypi, django-gravatar2, django_compressor +, django-allauth, mailmanclient +}: + +buildPythonPackage rec { + pname = "django-mailman3"; + version = "1.2.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0v6c1jhcc212wc2xa314irfcchl05r7nysrcy63dcaan958kmnnx"; + }; + + propagatedBuildInputs = [ + django-gravatar2 django_compressor django-allauth mailmanclient + ]; + + doCheck = false; +} diff --git a/pkgs/development/python-modules/mailmanclient/default.nix b/pkgs/development/python-modules/mailmanclient/default.nix new file mode 100644 index 000000000000..a3a807901f3d --- /dev/null +++ b/pkgs/development/python-modules/mailmanclient/default.nix @@ -0,0 +1,13 @@ +{ stdenv, buildPythonPackage, fetchPypi, six, httplib2 }: + +buildPythonPackage rec { + pname = "mailmanclient"; + version = "3.2.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0xsrzdrsmfhnxv68zwm1g6awk7in08k6yhkyd27ipn0mq1wjm5jd"; + }; + + propagatedBuildInputs = [ six httplib2 ]; +} diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/core.nix similarity index 100% rename from pkgs/servers/mail/mailman/default.nix rename to 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..7ae07a995286 --- /dev/null +++ b/pkgs/servers/mail/mailman/postorius.nix @@ -0,0 +1,25 @@ +{ 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 ]; + + doCheck = false; + + 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; [ peti ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e77d3aecea25..91a828f3c1d4 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 { };