diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/mail/postgrey/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/mail/postgrey/default.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/mail/postgrey/default.nix b/nixpkgs/pkgs/servers/mail/postgrey/default.nix new file mode 100644 index 000000000000..07b351bfb216 --- /dev/null +++ b/nixpkgs/pkgs/servers/mail/postgrey/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, perlPackages, lib, runCommand, postfix }: + +let + mk-perl-flags = inputs: lib.concatStringsSep " " (map (dep: "-I ${dep}/${perlPackages.perl.libPrefix}") inputs); + postgrey-flags = mk-perl-flags (with perlPackages; [ + NetServer BerkeleyDB DigestSHA1 NetAddrIP IOMultiplex + ]); + policy-test-flags = mk-perl-flags (with perlPackages; [ + ParseSyslog + ]); + version = "1.37"; + name = "postgrey-${version}"; +in runCommand name { + src = fetchurl { + url = "https://postgrey.schweikert.ch/pub/${name}.tar.gz"; + sha256 = "1xx51xih4711vrvc6d57il9ccallbljj5zhgqdb07jzmz11rakgz"; + }; + meta = with lib; { + description = "A postfix policy server to provide greylisting"; + homepage = "https://postgrey.schweikert.ch/"; + platforms = postfix.meta.platforms; + license = 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,#!${perlPackages.perl}/bin/perl -T ${postgrey-flags}," \ + -e "s#/etc/postfix#$out#" \ + bin/postgrey + sed -i -e "s,#!/usr/bin/perl,#!${perlPackages.perl}/bin/perl ${policy-test-flags}," \ + bin/policy-test +'' |