summary refs log tree commit diff
path: root/pkgs/servers/mail
diff options
context:
space:
mode:
authorajs124 <git@ajs124.de>2018-07-21 15:14:46 +0200
committerajs124 <git@ajs124.de>2018-07-23 23:00:50 +0200
commit3a14eb0e12a3e160166a80560ddc1ec9addf7bc2 (patch)
treeebcf32106b1368d7e33baa416da5d11d74ad5112 /pkgs/servers/mail
parent6c1e45b00025d112bbcfaf22939c33650a6e8c55 (diff)
downloadnixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.tar
nixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.tar.gz
nixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.tar.bz2
nixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.tar.lz
nixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.tar.xz
nixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.tar.zst
nixlib-3a14eb0e12a3e160166a80560ddc1ec9addf7bc2.zip
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