summary refs log tree commit diff
path: root/pkgs/servers/mail/postfix/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/mail/postfix/default.nix')
-rw-r--r--pkgs/servers/mail/postfix/default.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 6a0ac22602d5..03fd33150e32 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -1,4 +1,7 @@
-{stdenv, fetchurl, db4, glibc}:
+{stdenv, fetchurl, db4, glibc
+  , openssl
+  , cyrus_sasl
+}:
 
 assert stdenv.isLinux;
 
@@ -11,10 +14,18 @@ stdenv.mkDerivation {
 
   installTargets = ["non-interactive-package"];
   installFlags = [" install_root=$out "];
-  preInstall = "sed -e '/^PATH=/d' -i postfix-install";
+  preInstall = "
+    sed -e '/^PATH=/d' -i postfix-install
+  ";
   postInstall = ''
     ensureDir $out
     mv ut/$out/* $out/
+
+    mkdir $out/share/postfix/conf
+    cp conf/* $out/share/postfix/conf
+    sed -e 's@PATH=.*@PATH=${stdenv.coreutils}/bin:${stdenv.findutils}/bin:${stdenv.gnused}/bin:${stdenv.gnugrep}/bin:$out/sbin@' -i $out/share/postfix/conf/post-install
+    sed -e '2aPATH=${stdenv.coreutils}/bin:${stdenv.findutils}/bin:${stdenv.gnused}/bin:${stdenv.gnugrep}/bin:$out/sbin' -i $out/share/postfix/conf/postfix-script
+    chmod a+x $out/share/postfix/conf/{postfix-script,post-install}
   '';
 
   preBuild = ''
@@ -28,9 +39,11 @@ stdenv.mkDerivation {
     export manpage_directory=$out/share/man
     export sample_directory=$out/share/postfix/doc/samples
     export readme_directory=$out/share/postfix/doc
+
+    make makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -DHAS_DB -I${cyrus_sasl}/include/sasl' AUXLIBS='-lssl -lcrypto -lsasl2 -ldb'
   '';
 
-  buildinputs = [db4];
+  buildinputs = [db4 openssl cyrus_sasl];
   patches = [./postfix-2.2.9-db.patch ./postfix-2.2.9-lib.patch];
   inherit glibc;
 }