forked from mirrors/nixpkgs
postfix: 2.11.5 -> 3.0.3
This commit is contained in:
parent
faa7561a66
commit
929e734f19
|
@ -11,6 +11,8 @@ let
|
||||||
|
|
||||||
mainCf =
|
mainCf =
|
||||||
''
|
''
|
||||||
|
compatibility_level = 2
|
||||||
|
|
||||||
queue_directory = /var/postfix/queue
|
queue_directory = /var/postfix/queue
|
||||||
command_directory = ${pkgs.postfix}/sbin
|
command_directory = ${pkgs.postfix}/sbin
|
||||||
daemon_directory = ${pkgs.postfix}/libexec/postfix
|
daemon_directory = ${pkgs.postfix}/libexec/postfix
|
||||||
|
@ -31,10 +33,7 @@ let
|
||||||
mynetworks_style = ${cfg.networksStyle}
|
mynetworks_style = ${cfg.networksStyle}
|
||||||
''
|
''
|
||||||
else
|
else
|
||||||
# Postfix default is subnet, but let's play safe
|
"")
|
||||||
''
|
|
||||||
mynetworks_style = host
|
|
||||||
'')
|
|
||||||
+ optionalString (cfg.hostname != "") ''
|
+ optionalString (cfg.hostname != "") ''
|
||||||
myhostname = ${cfg.hostname}
|
myhostname = ${cfg.hostname}
|
||||||
''
|
''
|
||||||
|
@ -89,7 +88,7 @@ let
|
||||||
masterCf = ''
|
masterCf = ''
|
||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
# service type private unpriv chroot wakeup maxproc command + args
|
# service type private unpriv chroot wakeup maxproc command + args
|
||||||
# (yes) (yes) (yes) (never) (100)
|
# (yes) (yes) (no) (never) (100)
|
||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
smtp inet n - n - - smtpd
|
smtp inet n - n - - smtpd
|
||||||
#submission inet n - n - - smtpd
|
#submission inet n - n - - smtpd
|
||||||
|
@ -232,8 +231,7 @@ in
|
||||||
default = null;
|
default = null;
|
||||||
example = ["localdomain"];
|
example = ["localdomain"];
|
||||||
description = "
|
description = "
|
||||||
List of domains we agree to relay to. Default is the same as
|
List of domains we agree to relay to. Default is empty.
|
||||||
destination.
|
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -357,23 +355,20 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
jobs.postfix =
|
systemd.services.postfix =
|
||||||
# I copy _lots_ of shipped configuration filed
|
|
||||||
# that can be left as is. I am afraid the exact
|
|
||||||
# will list slightly change in next Postfix
|
|
||||||
# release, so listing them all one-by-one in an
|
|
||||||
# accurate way is unlikely to be better.
|
|
||||||
{ description = "Postfix mail server";
|
{ description = "Postfix mail server";
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
|
|
||||||
daemonType = "fork";
|
serviceConfig = {
|
||||||
|
Type = "forking";
|
||||||
|
Restart = "always";
|
||||||
|
PIDFile = "/var/postfix/queue/pid/master.pid";
|
||||||
|
};
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
if ! [ -d /var/spool/postfix ]; then
|
${pkgs.coreutils}/bin/mkdir -p /var/spool/mail /var/postfix/conf /var/postfix/queue
|
||||||
${pkgs.coreutils}/bin/mkdir -p /var/spool/mail /var/postfix/conf /var/postfix/queue
|
|
||||||
fi
|
|
||||||
|
|
||||||
${pkgs.coreutils}/bin/chown -R ${user}:${group} /var/postfix
|
${pkgs.coreutils}/bin/chown -R ${user}:${group} /var/postfix
|
||||||
${pkgs.coreutils}/bin/chown -R ${user}:${setgidGroup} /var/postfix/queue
|
${pkgs.coreutils}/bin/chown -R ${user}:${setgidGroup} /var/postfix/queue
|
||||||
|
@ -382,7 +377,7 @@ in
|
||||||
${pkgs.coreutils}/bin/chmod a+rwxt /var/spool/mail
|
${pkgs.coreutils}/bin/chmod a+rwxt /var/spool/mail
|
||||||
${pkgs.coreutils}/bin/ln -sf /var/spool/mail /var/mail
|
${pkgs.coreutils}/bin/ln -sf /var/spool/mail /var/mail
|
||||||
|
|
||||||
ln -sf "${pkgs.postfix}/etc/postfix/"* /var/postfix/conf
|
ln -sf ${pkgs.postfix}/etc/postfix/postfix-files /var/postfix/conf
|
||||||
|
|
||||||
ln -sf ${aliasesFile} /var/postfix/conf/aliases
|
ln -sf ${aliasesFile} /var/postfix/conf/aliases
|
||||||
ln -sf ${virtualFile} /var/postfix/conf/virtual
|
ln -sf ${virtualFile} /var/postfix/conf/virtual
|
||||||
|
@ -391,12 +386,18 @@ in
|
||||||
|
|
||||||
${pkgs.postfix}/sbin/postalias -c /var/postfix/conf /var/postfix/conf/aliases
|
${pkgs.postfix}/sbin/postalias -c /var/postfix/conf /var/postfix/conf/aliases
|
||||||
${pkgs.postfix}/sbin/postmap -c /var/postfix/conf /var/postfix/conf/virtual
|
${pkgs.postfix}/sbin/postmap -c /var/postfix/conf /var/postfix/conf/virtual
|
||||||
|
'';
|
||||||
|
|
||||||
|
script = ''
|
||||||
${pkgs.postfix}/sbin/postfix -c /var/postfix/conf start
|
${pkgs.postfix}/sbin/postfix -c /var/postfix/conf start
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
reload = ''
|
||||||
|
${pkgs.postfix}/sbin/postfix -c /var/postfix/conf reload
|
||||||
|
'';
|
||||||
|
|
||||||
preStop = ''
|
preStop = ''
|
||||||
${pkgs.postfix}/sbin/postfix -c /var/postfix/conf stop
|
${pkgs.postfix}/sbin/postfix -c /var/postfix/conf stop
|
||||||
'';
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
63
pkgs/servers/mail/postfix/3.0.nix
Normal file
63
pkgs/servers/mail/postfix/3.0.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{ stdenv, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, coreutils
|
||||||
|
, findutils, gnugrep, gawk, icu
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
name = "postfix-${version}";
|
||||||
|
|
||||||
|
version = "3.0.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
|
||||||
|
sha256 = "00mc12k5p1zlrlqcf33vh5zizaqr5ai8q78dwv69smjh6kn4c7j0";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper gnused db openssl cyrus_sasl icu ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
sed -e '/^PATH=/d' -i postfix-install
|
||||||
|
|
||||||
|
export command_directory=$out/sbin
|
||||||
|
export config_directory=/etc/postfix
|
||||||
|
export daemon_directory=$out/libexec/postfix
|
||||||
|
export data_directory=/var/lib/postfix
|
||||||
|
export html_directory=$out/share/postfix/doc/html
|
||||||
|
export mailq_path=$out/bin/mailq
|
||||||
|
export manpage_directory=$out/share/man
|
||||||
|
export newaliases_path=$out/bin/newaliases
|
||||||
|
export queue_directory=/var/spool/postfix
|
||||||
|
export readme_directory=$out/share/postfix/doc
|
||||||
|
export sendmail_path=$out/bin/sendmail
|
||||||
|
|
||||||
|
make makefiles \
|
||||||
|
CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl \
|
||||||
|
-DHAS_DB_BYPASS_MAKEDEFS_CHECK \
|
||||||
|
-fPIE -fstack-protector-all --param ssp-buffer-size=4 -O2 -D_FORTIFY_SOURCE=2' \
|
||||||
|
AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl -pie -Wl,-z,relro,-z,now'
|
||||||
|
'';
|
||||||
|
|
||||||
|
installTargets = [ "non-interactive-package" ];
|
||||||
|
|
||||||
|
installFlags = [ " install_root=installdir " ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out
|
||||||
|
mv -v installdir/$out/* $out/
|
||||||
|
mv -v installdir/etc $out/etc
|
||||||
|
sed -e '/^PATH=/d' -i $out/libexec/postfix/post-install
|
||||||
|
wrapProgram $out/libexec/postfix/post-install \
|
||||||
|
--prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin
|
||||||
|
wrapProgram $out/libexec/postfix/postfix-script \
|
||||||
|
--prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin:${gawk}/bin:${gnused}/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "http://www.postfix.org/";
|
||||||
|
description = "A fast, easy to administer, and secure mail server";
|
||||||
|
license = stdenv.lib.licenses.bsdOriginal;
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.rickynils ];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -9174,10 +9174,9 @@ let
|
||||||
popa3d = callPackage ../servers/mail/popa3d { };
|
popa3d = callPackage ../servers/mail/popa3d { };
|
||||||
|
|
||||||
postfix28 = callPackage ../servers/mail/postfix { };
|
postfix28 = callPackage ../servers/mail/postfix { };
|
||||||
|
|
||||||
postfix211 = callPackage ../servers/mail/postfix/2.11.nix { };
|
postfix211 = callPackage ../servers/mail/postfix/2.11.nix { };
|
||||||
|
postfix30 = callPackage ../servers/mail/postfix/3.0.nix { };
|
||||||
postfix = postfix211;
|
postfix = postfix30;
|
||||||
|
|
||||||
pshs = callPackage ../servers/http/pshs { };
|
pshs = callPackage ../servers/http/pshs { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue