summary refs log tree commit diff
path: root/pkgs/servers/mail
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2019-09-03 22:15:07 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2019-09-03 22:15:07 +0200
commitde857975653a745ad766480e387a239c4d94c28d (patch)
treeedef63702ea15a7a7a9af029ab0e691d027fa96c /pkgs/servers/mail
parentd512362e770d4016cbf8a2f573d00d6d2c4e61e6 (diff)
parent1f49035aca52303abb2e09976baf36f297eb68a6 (diff)
Merge remote-tracking branch 'origin/master' into gcc-8
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r--pkgs/servers/mail/archiveopteryx/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix6
-rw-r--r--pkgs/servers/mail/mailhog/default.nix2
-rw-r--r--pkgs/servers/mail/mailman/core.nix47
-rw-r--r--pkgs/servers/mail/mailman/default.nix4
-rw-r--r--pkgs/servers/mail/mailman/fix-var-prefix.patch33
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix38
-rw-r--r--pkgs/servers/mail/mailman/postorius.nix28
-rw-r--r--pkgs/servers/mail/mlmmj/default.nix4
-rw-r--r--pkgs/servers/mail/nullmailer/default.nix2
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/extras.nix4
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/pfixtools.nix3
-rw-r--r--pkgs/servers/mail/postsrsd/default.nix2
-rw-r--r--pkgs/servers/mail/pypolicyd-spf/default.nix4
-rw-r--r--pkgs/servers/mail/rmilter/default.nix33
-rw-r--r--pkgs/servers/mail/rspamd/default.nix2
19 files changed, 171 insertions, 57 deletions
diff --git a/pkgs/servers/mail/archiveopteryx/default.nix b/pkgs/servers/mail/archiveopteryx/default.nix
index 080cbc8977568..5a318c311af83 100644
--- a/pkgs/servers/mail/archiveopteryx/default.nix
+++ b/pkgs/servers/mail/archiveopteryx/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, openssl, perl, zlib, jam }:
 stdenv.mkDerivation rec {
   version = "3.2.0";
-  name = "archiveopteryx-${version}";
+  pname = "archiveopteryx";
 
   src = fetchurl {
-    url = "http://archiveopteryx.org/download/${name}.tar.bz2";
+    url = "http://archiveopteryx.org/download/${pname}-${version}.tar.bz2";
     sha256 = "0i0zg8di8nbh96qnyyr156ikwcsq1w9b2291bazm5whb351flmqx";
   };
 
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 780264cf42b68..e3afd1f987986 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.7.1";
+  name = "dovecot-2.3.7.2";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "1hq333vj4px4xa9djl8c1v3c8rac98v2mrb9vx1wisg6frpiv9f5";
+    sha256 = "0q0jgcv3ni2znkgyhc966ffphj1wk73y76wssh0yciqafs2f0v36";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 3d0f921409c64..b7d791f341661 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, dovecot, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-pigeonhole-${version}";
-  version = "0.5.7.1";
+  pname = "dovecot-pigeonhole";
+  version = "0.5.7.2";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "0a10mam68pmdh3fw8fnv5jff6xj1k770hvadym2c39vm3x6b4w1j";
+    sha256 = "1c0ijjmdskxydmvfk8ixxgg8ndnxx1smvycbp7jjd895a9f0r7fm";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/mail/mailhog/default.nix b/pkgs/servers/mail/mailhog/default.nix
index 019c84d2898bd..429d735ffcd0b 100644
--- a/pkgs/servers/mail/mailhog/default.nix
+++ b/pkgs/servers/mail/mailhog/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "MailHog-${version}";
+  pname = "MailHog";
   version = "1.0.0";
   rev = "v${version}";
 
diff --git a/pkgs/servers/mail/mailman/core.nix b/pkgs/servers/mail/mailman/core.nix
new file mode 100644
index 0000000000000..1ba220039ea97
--- /dev/null
+++ b/pkgs/servers/mail/mailman/core.nix
@@ -0,0 +1,47 @@
+{ stdenv, buildPythonPackage, fetchPypi, 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
+}:
+
+buildPythonPackage rec {
+  pname = "mailman";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09s9p5pb8gff6zblwidyq830yfgcvv50p5drdaxj1qpy8w46lvc6";
+  };
+
+  propagatedBuildInputs = [
+    alembic aiosmtpd click dnspython falcon flufl_bounce flufl_i18n flufl_lock
+    importlib-resources lazr_config passlib requests zope_configuration
+    zope_component
+  ];
+
+  patchPhase = ''
+    substituteInPlace src/mailman/config/postfix.cfg \
+      --replace /usr/sbin/postmap ${postfix}/bin/postmap
+    substituteInPlace src/mailman/config/schema.cfg \
+      --replace /usr/bin/lynx ${lynx}/bin/lynx
+  '';
+
+  # Mailman assumes that those scripts in $out/bin are Python scripts. Wrapping
+  # them in shell code breaks this assumption. The proper way to use mailman is
+  # to create a specialized python interpreter:
+  #
+  #   python37.withPackages (ps: [ps.mailman])
+  #
+  # This gives a properly wrapped 'mailman' command plus an interpreter that
+  # has all the necessary search paths to execute unwrapped 'master' and
+  # 'runner' scripts. The setup is a little tricky, but fortunately NixOS is
+  # about to get a OS module that takes care of those details.
+  dontWrapPythonPrograms = true;
+
+  meta = {
+    homepage = https://www.gnu.org/software/mailman/;
+    description = "Free software for managing electronic mail discussion and newsletter lists";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ peti ];
+  };
+}
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index 91445afa97df8..e9f66b92be29f 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python2 }:
 
 stdenv.mkDerivation rec {
-  name = "mailman-${version}";
+  pname = "mailman";
   version = "2.1.29";
 
   src = fetchurl {
-    url = "mirror://gnu/mailman/${name}.tgz";
+    url = "mirror://gnu/mailman/${pname}-${version}.tgz";
     sha256 = "0b0dpwf6ap260791c7lg2vpw30llf19hymbf2hja3s016rqp5243";
   };
 
diff --git a/pkgs/servers/mail/mailman/fix-var-prefix.patch b/pkgs/servers/mail/mailman/fix-var-prefix.patch
deleted file mode 100644
index 9bb735ecbed79..0000000000000
--- a/pkgs/servers/mail/mailman/fix-var-prefix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ubr mailman-2.1.16-orig/contrib/redhat_fhs.patch mailman-2.1.16/contrib/redhat_fhs.patch
---- mailman-2.1.16-orig/contrib/redhat_fhs.patch	2013-10-21 14:55:48.797631434 +0200
-+++ mailman-2.1.16/contrib/redhat_fhs.patch	2013-10-21 14:56:42.534310378 +0200
-@@ -197,7 +197,7 @@
- +	    else true; \
- +	    fi; \
- +	done
-- 	chmod o-r $(DESTDIR)$(var_prefix)/archives/private
-+ 	chmod o-r $(prefix)$(var_prefix)/archives/private
-  	@for d in $(ARCH_INDEP_DIRS); \
-  	do \
- Only in mailman-2.1.5.FHS: Makefile.in~
-diff -ubr mailman-2.1.16-orig/Makefile.in mailman-2.1.16/Makefile.in
---- mailman-2.1.16-orig/Makefile.in	2013-10-21 14:55:48.798631519 +0200
-+++ mailman-2.1.16/Makefile.in	2013-10-21 14:56:42.562313220 +0200
-@@ -87,7 +87,7 @@
- 	@echo "Creating architecture independent directories..."
- 	@for d in $(VAR_DIRS); \
- 	do \
--	    dir=$(DESTDIR)$(var_prefix)/$$d; \
-+	    dir=$(prefix)$(var_prefix)/$$d; \
- 	    if test ! -d $$dir; then \
- 		echo "Creating directory hierarchy $$dir"; \
- 		$(srcdir)/mkinstalldirs $$dir; \
-@@ -96,7 +96,7 @@
- 	    else true; \
- 	    fi; \
- 	done
--	chmod o-r $(DESTDIR)$(var_prefix)/archives/private
-+	chmod o-r $(prefix)$(var_prefix)/archives/private
- 	@for d in $(ARCH_INDEP_DIRS); \
- 	do \
- 	    dir=$(DESTDIR)$(prefix)/$$d; \
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
new file mode 100644
index 0000000000000..8f060da34461b
--- /dev/null
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -0,0 +1,38 @@
+{ stdenv, buildPythonPackage, fetchPypi, coverage, mock
+, robot-detection, django_extensions, rjsmin, cssmin, django-mailman3
+, django-haystack, lockfile, networkx, dateutil, defusedxml
+, django-paintstore, djangorestframework, django, django-q
+, django_compressor, beautifulsoup4, six, psycopg2, whoosh
+}:
+
+buildPythonPackage rec {
+  pname = "HyperKitty";
+  version = "1.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1z2zswlml6nppxhzw9a4nrj7i5wsxd29s3q78ka1rwr5m5n7s1rz";
+  };
+
+  buildInputs = [ coverage mock ];
+  propagatedBuildInputs = [
+    robot-detection django_extensions rjsmin cssmin django-mailman3
+    django-haystack lockfile networkx dateutil defusedxml
+    django-paintstore djangorestframework django django-q
+    django_compressor beautifulsoup4 six psycopg2 whoosh
+  ];
+
+  checkPhase = ''
+    cd $NIX_BUILD_TOP/$sourceRoot
+    PYTHONPATH=.:$PYTHONPATH python example_project/manage.py test \
+      --settings=hyperkitty.tests.settings_test hyperkitty
+  '';
+
+  meta = {
+    homepage = "http://www.gnu.org/software/mailman/";
+    description = "Archiver for GNU Mailman v3";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ peti globin ];
+  };
+}
diff --git a/pkgs/servers/mail/mailman/postorius.nix b/pkgs/servers/mail/mailman/postorius.nix
new file mode 100644
index 0000000000000..871f2ea244dd3
--- /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/servers/mail/mlmmj/default.nix b/pkgs/servers/mail/mlmmj/default.nix
index 98b270ad7d413..2c1c07e502a7c 100644
--- a/pkgs/servers/mail/mlmmj/default.nix
+++ b/pkgs/servers/mail/mlmmj/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "mlmmj-${version}";
+  pname = "mlmmj";
   version = "1.3.0";
 
   src = fetchurl {
-    url = "http://mlmmj.org/releases/${name}.tar.gz";
+    url = "http://mlmmj.org/releases/${pname}-${version}.tar.gz";
     sha256 = "1sghqvwizvm1a9w56r34qy5njaq1c26bagj85r60h32gh3fx02bn";
   };
 
diff --git a/pkgs/servers/mail/nullmailer/default.nix b/pkgs/servers/mail/nullmailer/default.nix
index 4b753bdf0cdb1..7738c4eb3d4ad 100644
--- a/pkgs/servers/mail/nullmailer/default.nix
+++ b/pkgs/servers/mail/nullmailer/default.nix
@@ -5,7 +5,7 @@ assert tls -> gnutls != null;
 stdenv.mkDerivation rec {
 
   version = "2.2";
-  name = "nullmailer-${version}";
+  pname = "nullmailer";
 
   src = fetchurl {
     url = "https://untroubled.org/nullmailer/nullmailer-${version}.tar.gz";
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 2e1b3a4f7980e..fdc2b3fd2c429 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "opensmtpd-${version}";
+  pname = "opensmtpd";
   version = "6.4.2p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib libressl db pam ];
 
   src = fetchurl {
-    url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
+    url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz";
     sha256 = "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd";
   };
 
diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix
index 1d4ad63c37d2a..71b27facbab67 100644
--- a/pkgs/servers/mail/opensmtpd/extras.nix
+++ b/pkgs/servers/mail/opensmtpd/extras.nix
@@ -10,11 +10,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "opensmtpd-extras-${version}";
+  pname = "opensmtpd-extras";
   version = "6.4.0";
 
   src = fetchurl {
-    url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
+    url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz";
     sha256 = "09k25l7zy5ch3fk6qphni2h0rxdp8wacmfag1whi608dgimrhrnb";
   };
 
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index a4b0b921adb29..39845f12f03cd 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -24,12 +24,12 @@ let
 
 in stdenv.mkDerivation rec {
 
-  name = "postfix-${version}";
+  pname = "postfix";
 
   version = "3.4.6";
 
   src = fetchurl {
-    url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
+    url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
     sha256 = "09p3vg2xlh6iq45gp6zanbp1728fc31r7zz71r131vh20ssajx6n";
   };
 
diff --git a/pkgs/servers/mail/postfix/pfixtools.nix b/pkgs/servers/mail/postfix/pfixtools.nix
index bf59bd8d5eea6..8a92843e43ecd 100644
--- a/pkgs/servers/mail/postfix/pfixtools.nix
+++ b/pkgs/servers/mail/postfix/pfixtools.nix
@@ -22,7 +22,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "pfixtools-${version}";
+  pname = "pfixtools";
+  inherit version;
 
   src = pfixtoolsSrc;
 
diff --git a/pkgs/servers/mail/postsrsd/default.nix b/pkgs/servers/mail/postsrsd/default.nix
index f13c57e3b35d5..49854927e57f8 100644
--- a/pkgs/servers/mail/postsrsd/default.nix
+++ b/pkgs/servers/mail/postsrsd/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "postsrsd-${version}";
+  pname = "postsrsd";
   version = "1.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/servers/mail/pypolicyd-spf/default.nix b/pkgs/servers/mail/pypolicyd-spf/default.nix
index d5e410a86c1f5..5da94ca80269e 100644
--- a/pkgs/servers/mail/pypolicyd-spf/default.nix
+++ b/pkgs/servers/mail/pypolicyd-spf/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonApplication, fetchurl, pyspf }:
 
 buildPythonApplication rec {
-  name = "pypolicyd-spf-${version}";
+  pname = "pypolicyd-spf";
   majorVersion = "2.0";
   version = "${majorVersion}.2";
 
   src = fetchurl {
-    url = "https://launchpad.net/pypolicyd-spf/${majorVersion}/${version}/+download/${name}.tar.gz";
+    url = "https://launchpad.net/pypolicyd-spf/${majorVersion}/${version}/+download/${pname}-${version}.tar.gz";
     sha256 = "1nm8y1jjgx6mxrbcxrbdnmkf8vglwp0wiw6jipzh641wb24gi76z";
   };
 
diff --git a/pkgs/servers/mail/rmilter/default.nix b/pkgs/servers/mail/rmilter/default.nix
new file mode 100644
index 0000000000000..9d7730e399f3a
--- /dev/null
+++ b/pkgs/servers/mail/rmilter/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, bison, flex, pkgconfig, openssl, pcre
+, libmilter, opendkim, libmemcached, glib }:
+
+let patchedLibmilter = stdenv.lib.overrideDerivation  libmilter (_ : {
+    patches = libmilter.patches ++ [ ./fd-passing-libmilter.patch ];
+});
+in
+
+stdenv.mkDerivation rec {
+  pname = "rmilter";
+  version = "1.10.0";
+
+  src = fetchFromGitHub {
+    owner = "vstakhov";
+    repo = "rmilter";
+    rev = version;
+    sha256 = "1gbp6jah88l6xqgflim01ycyp63l733bgir65fxnnrmifj1qzymh";
+  };
+
+  nativeBuildInputs = [ bison cmake flex pkgconfig ];
+  buildInputs = [ libmemcached patchedLibmilter openssl pcre opendkim glib ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/vstakhov/rmilter;
+    license = licenses.asl20;
+    description = ''
+      Daemon to integrate rspamd and milter compatible MTA, for example
+      postfix or sendmail
+    '';
+    maintainers = with maintainers; [ avnik fpletz ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 67a647b236b44..2b3986c412d06 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -13,7 +13,7 @@ let libmagic = file;  # libmagic provided by file package ATM
 in
 
 stdenv.mkDerivation rec {
-  name = "rspamd-${version}";
+  pname = "rspamd";
   version = "1.9.4";
 
   src = fetchFromGitHub {