bun: 1.1.34 -> 1.1.38 (#360759)
[NixPkgs.git] / pkgs / servers / mail / nullmailer / default.nix
blobd91d8f4cb9309879b1a0f745ed2615d01a8f220d
2   stdenv,
3   fetchurl,
4   lib,
5   tls ? true,
6   gnutls ? null,
7 }:
9 assert tls -> gnutls != null;
11 stdenv.mkDerivation rec {
13   version = "2.2";
14   pname = "nullmailer";
16   src = fetchurl {
17     url = "https://untroubled.org/nullmailer/nullmailer-${version}.tar.gz";
18     sha256 = "0md8cf90fl2yf3zh9njjy42a673v4j4ygyq95xg7fzkygdigm1lq";
19   };
21   buildInputs = lib.optional tls gnutls;
23   configureFlags = [
24     "--sysconfdir=/etc"
25     "--localstatedir=/var"
26   ] ++ lib.optional tls "--enable-tls";
28   installFlags = [ "DESTDIR=$(out)" ];
30   # We have to remove the ''var'' directory, since nix can't handle named pipes
31   # and we can't use it in the store anyway. Same for ''etc''.
32   # The second line is need, because the installer of nullmailer will copy its
33   # own prepared version of ''etc'' and ''var'' and also uses the prefix path (configure phase)
34   # for hardcoded absolute references to its own binary farm, e.g. sendmail binary is
35   # calling nullmailer-inject binary. Since we can't configure inside the store of
36   # the derivation we need both directories in the root, but don't want to put them there
37   # during install, hence we have to fix mumbling inside the install directory.
38   # This is kind of a hack, but the only way I know of, yet.
39   postInstall = ''
40     rm -rf $out/var/ $out/etc/
41     mv $out/$out/* $out/
42     rmdir $out/$out
43   '';
45   enableParallelBuilding = true;
47   meta = {
48     homepage = "http://untroubled.org/nullmailer/";
49     description = ''
50       A sendmail/qmail/etc replacement MTA for hosts which relay to a fixed set of smart relays.
51       It is designed to be simple to configure, secure, and easily extendable.
52     '';
53     license = lib.licenses.gpl2Plus;
54     platforms = lib.platforms.all;
55     maintainers = with lib.maintainers; [ sargon ];
56   };