1{ lib, stdenv, fetchurl, m4, fixDarwinDylibNames }:
2
3stdenv.mkDerivation rec {
4 pname = "libmilter";
5 version = "8.17.2";
6
7 src = fetchurl {
8 url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz";
9 sha256 = "sha256-kPWudMNahICIYZM7oJQgG5AbcMaykDaE3POb2uiloaI=";
10 };
11
12 buildPhase = ''
13 mkdir -p $out/lib
14 cd libmilter
15 cat > a.m4 <<EOF
16 define(\`confCC', \`$CC')
17 define(\`confAR', \`$AR')
18 define(\`confEBINDIR', \`$out/libexec')
19 define(\`confINCLUDEDIR', \`$out/include')
20 define(\`confLIBDIR', \`$out/lib')
21 define(\`confMANROOT', \`$out/man/cat')
22 define(\`confMANROOTMAN', \`$out/man/man')
23 define(\`confMBINDIR', \`$out/sbin')
24 define(\`confSBINDIR', \`$out/sbin')
25 define(\`confSHAREDLIBDIR', \`$out/lib')
26 define(\`confUBINDIR', \`$out/bin')
27 define(\`confINCGRP', \`root')
28 define(\`confLIBGRP', \`root')
29 APPENDDEF(\`confENVDEF', \`-DNETINET6')
30 EOF
31 export MILTER_SOVER=1
32 sh Build -f ./a.m4
33 '';
34
35 patches = [ ./install.patch ./sharedlib.patch ./darwin.patch ];
36
37 nativeBuildInputs = [ m4 ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
38
39 postInstall = lib.optionalString stdenv.isDarwin ''
40 fixDarwinDylibNames $out/lib/libmilter.*.1
41 '';
42
43 meta = with lib; {
44 description = "Sendmail Milter mail filtering API library";
45 platforms = platforms.unix;
46 maintainers = with maintainers; [ fpletz ];
47 license = licenses.sendmail;
48 };
49}