Merge pull request #67263 from pacien/exim-spf
exim: add SPF support (+ init libspf2 at 1.2.10)
This commit is contained in:
commit
7cec032b9e
3 changed files with 52 additions and 1 deletions
43
pkgs/development/libraries/libspf2/default.nix
Normal file
43
pkgs/development/libraries/libspf2/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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
|
||||||
|
|
|
@ -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 { };
|
||||||
|
|
Loading…
Reference in a new issue