diff options
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r-- | pkgs/servers/mail/postgrey/default.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/servers/mail/postgrey/default.nix b/pkgs/servers/mail/postgrey/default.nix new file mode 100644 index 00000000000..7fdf0edb096 --- /dev/null +++ b/pkgs/servers/mail/postgrey/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, perl, perlPackages, lib, runCommand, postfix }: + +let + mk-perl-flags = inputs: lib.concatStringsSep " " (map (dep: "-I ${dep}/lib/perl5/site_perl") inputs); + postgrey-flags = mk-perl-flags (with perlPackages; [ + NetServer BerkeleyDB DigestSHA1 NetAddrIP IOMultiplex + ]); + policy-test-flags = mk-perl-flags (with perlPackages; [ + ParseSyslog + ]); + version = "1.36"; + name = "postgrey-${version}"; +in runCommand name { + src = fetchurl { + url = "http://postgrey.schweikert.ch/pub/${name}.tar.gz"; + sha256 = "09jzb246ki988389r9gryigriv9sravk40q75fih5n0q4p2ghax2"; + }; + meta = with stdenv.lib; { + description = "A postfix policy server to provide greylisting"; + homepage = "https://postgrey.schweikert.ch/"; + platforms = postfix.meta.platforms; + licenses = licenses.gpl2; + }; +} '' + mkdir -p $out/bin + cd $out + tar -xzf $src --strip-components=1 + mv postgrey policy-test bin + sed -i -e "s,#!/usr/bin/perl -T,#!${perl}/bin/perl -T ${postgrey-flags}," \ + -e "s#/etc/postfix#$out#" \ + bin/postgrey + sed -i -e "s,#!/usr/bin/perl,#!${perl}/bin/perl ${policy-test-flags}," \ + bin/policy-test +'' |