Merge pull request #67263 from pacien/exim-spf

exim: add SPF support (+ init libspf2 at 1.2.10)
This commit is contained in:
Samuel Leathers 2019-08-24 00:58:02 -04:00 committed by GitHub
commit 7cec032b9e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 1 deletions

View file

@ -0,0 +1,43 @@
{ stdenv, fetchurl, autoreconfHook }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "libspf2";
version = "1.2.10";
src = fetchurl {
url = "https://www.libspf2.org/spf/libspf2-${version}.tar.gz";
sha256 = "1j91p0qiipzf89qxq4m1wqhdf01hpn1h5xj4djbs51z23bl3s7nr";
};
patches = [
(fetchurl {
name = "0001-gcc-variadic-macros.patch";
url = "https://github.com/shevek/libspf2/commit/5852828582f556e73751076ad092f72acf7fc8b6.patch";
sha256 = "1v6ashqzpr0xidxq0vpkjd8wd66cj8df01kyzj678ljzcrax35hk";
})
];
postPatch = ''
# disable static bins compilation
sed -i \
-e '/bin_PROGRAMS/s/spfquery_static//' src/spfquery/Makefile.am \
-e '/bin_PROGRAMS/s/spftest_static//' src/spftest/Makefile.am \
-e '/bin_PROGRAMS/s/spfd_static//' src/spfd/Makefile.am \
-e '/bin_PROGRAMS/s/spf_example_static//' src/spf_example/Makefile.am
'';
# autoreconf necessary because we modified automake files
nativeBuildInputs = [ autoreconfHook ];
doCheck = true;
meta = {
description = "Implementation of the Sender Policy Framework for SMTP authorization";
homepage = https://www.libspf2.org;
license = with licenses; [ lgpl21Plus bsd2 ];
maintainers = with maintainers; [ pacien ];
platforms = platforms.all;
};
}

View file

@ -3,6 +3,7 @@
, enableMySQL ? false, mysql, zlib , enableMySQL ? false, mysql, zlib
, enableAuthDovecot ? false, dovecot , enableAuthDovecot ? false, dovecot
, enablePAM ? false, pam , enablePAM ? false, pam
, enableSPF ? true, libspf2
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional enableLDAP openldap ++ stdenv.lib.optional enableLDAP openldap
++ stdenv.lib.optionals enableMySQL [ mysql.connector-c zlib ] ++ stdenv.lib.optionals enableMySQL [ mysql.connector-c zlib ]
++ stdenv.lib.optional enableAuthDovecot dovecot ++ stdenv.lib.optional enableAuthDovecot dovecot
++ stdenv.lib.optional enablePAM pam; ++ stdenv.lib.optional enablePAM pam
++ stdenv.lib.optional enableSPF libspf2;
preBuild = '' preBuild = ''
sed ' sed '
@ -64,6 +66,10 @@ stdenv.mkDerivation rec {
s:^\(EXTRALIBS_EXIM\)=\(.*\):\1=\2 -lpam: s:^\(EXTRALIBS_EXIM\)=\(.*\):\1=\2 -lpam:
s:^# \(EXTRALIBS_EXIM\)=.*:\1=-lpam: s:^# \(EXTRALIBS_EXIM\)=.*:\1=-lpam:
''} ''}
${stdenv.lib.optionalString enableSPF ''
s:^# \(SUPPORT_SPF\)=.*:\1=yes:
s:^# \(LDFLAGS += -lspf2\):\1:
''}
#/^\s*#.*/d #/^\s*#.*/d
#/^\s*$/d #/^\s*$/d
' < src/EDITME > Local/Makefile ' < src/EDITME > Local/Makefile

View file

@ -4516,6 +4516,8 @@ in
libsidplayfp = callPackage ../development/libraries/libsidplayfp { }; libsidplayfp = callPackage ../development/libraries/libsidplayfp { };
libspf2 = callPackage ../development/libraries/libspf2 { };
libsrs2 = callPackage ../development/libraries/libsrs2 { }; libsrs2 = callPackage ../development/libraries/libsrs2 { };
libtermkey = callPackage ../development/libraries/libtermkey { }; libtermkey = callPackage ../development/libraries/libtermkey { };