about summary refs log tree commit diff
path: root/pkgs/servers/mail
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2018-07-30 11:48:28 +0100
committerGitHub <noreply@github.com>2018-07-30 11:48:28 +0100
commit86d7d96da2d03c645ada36906d26b142f08196e1 (patch)
tree432bdbd80d8b158cb451e57a7fe4ce9d717884c7 /pkgs/servers/mail
parent8f12a9a283f945712ed928cd804ff2b4da656d20 (diff)
parent3a14eb0e12a3e160166a80560ddc1ec9addf7bc2 (diff)
downloadnixlib-86d7d96da2d03c645ada36906d26b142f08196e1.tar
nixlib-86d7d96da2d03c645ada36906d26b142f08196e1.tar.gz
nixlib-86d7d96da2d03c645ada36906d26b142f08196e1.tar.bz2
nixlib-86d7d96da2d03c645ada36906d26b142f08196e1.tar.lz
nixlib-86d7d96da2d03c645ada36906d26b142f08196e1.tar.xz
nixlib-86d7d96da2d03c645ada36906d26b142f08196e1.tar.zst
nixlib-86d7d96da2d03c645ada36906d26b142f08196e1.zip
Merge pull request #44030 from ajs124/exim_mysql_dovecot
exim: add optional support for MySQL and the Dovecot authenticator
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r--pkgs/servers/mail/exim/default.nix24
1 files changed, 20 insertions, 4 deletions
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 87d9e5042990..3acf777999f7 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -1,5 +1,7 @@
-{ coreutils, db, fetchurl, openldap, openssl, pcre, perl, pkgconfig, stdenv
-, enableLDAP ? false
+{ coreutils, db, fetchurl, openssl, pcre, perl, pkgconfig, stdenv
+, enableLDAP ? false, openldap
+, enableMySQL ? false, mysql, zlib
+, enableAuthDovecot ? false, dovecot
 }:
 
 stdenv.mkDerivation rec {
@@ -11,10 +13,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ coreutils db openssl pcre perl ]
-    ++ stdenv.lib.optional enableLDAP openldap;
+  buildInputs = [ coreutils db openssl perl pcre ]
+    ++ stdenv.lib.optional enableLDAP openldap
+    ++ stdenv.lib.optionals enableMySQL [ mysql zlib ]
+    ++ stdenv.lib.optional enableAuthDovecot dovecot;
 
   preBuild = ''
+    ${stdenv.lib.optionalString enableMySQL "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${mysql}/share/mysql/pkgconfig/"}
     sed '
       s:^\(BIN_DIRECTORY\)=.*:\1='"$out"'/bin:
       s:^\(CONFIGURE_FILE\)=.*:\1=/etc/exim.conf:
@@ -39,8 +44,19 @@ stdenv.mkDerivation rec {
       ${stdenv.lib.optionalString enableLDAP ''
         s:^# \(LDAP_LIB_TYPE=OPENLDAP2\)$:\1:
         s:^# \(LOOKUP_LDAP=yes\)$:\1:
+        s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lldap:
         s:^# \(LOOKUP_LIBS\)=.*:\1=-lldap:
       ''}
+      ${stdenv.lib.optionalString enableMySQL ''
+        s:^# \(LOOKUP_MYSQL=yes\)$:\1:
+        s:^# \(LOOKUP_MYSQL_PC=mariadb\)$:\1:
+        s:^\(LOOKUP_LIBS\)=\(.*\):\1=\2 -lmysqlclient:
+        s:^# \(LOOKUP_LIBS\)=.*:\1=-lmysqlclient:
+        s:^# \(LOOKUP_INCLUDE\)=.*:\1=-I${mysql}/include/mysql/:
+      ''}
+      ${stdenv.lib.optionalString enableAuthDovecot ''
+        s:^# \(AUTH_DOVECOT\)=.*:\1=yes:
+      ''}
       #/^\s*#.*/d
       #/^\s*$/d
     ' < src/EDITME > Local/Makefile