From 61d3f6f7d7ad36ec02f09bdec3a01bc8aeb1db9f Mon Sep 17 00:00:00 2001 From: ajs124 Date: Sun, 31 May 2020 19:12:21 +0200 Subject: [PATCH 1/3] opendmarc: init at 1.3.3 --- .../libraries/opendmarc/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/libraries/opendmarc/default.nix diff --git a/pkgs/development/libraries/opendmarc/default.nix b/pkgs/development/libraries/opendmarc/default.nix new file mode 100644 index 00000000000..7d6ae242fcf --- /dev/null +++ b/pkgs/development/libraries/opendmarc/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, libmilter }: + +stdenv.mkDerivation rec { + pname = "opendmarc"; + version = "1.3.3"; + + src = fetchFromGitHub { + owner = "trusteddomainproject"; + repo = "opendmarc"; + rev = "rel-opendmarc-${builtins.replaceStrings [ "." ] [ "-" ] version}"; + sha256 = "sha256-SQH85FLfVEEtYhR1+A1XxCDMiTjDgLQX6zifbLxCa5c="; + }; + + outputs = [ "bin" "dev" "out" "doc" ]; + + nativeBuildInputs = [ autoreconfHook ]; + + postPatch = '' + substituteInPlace configure.ac --replace ' docs/Makefile' "" + ''; + + configureFlags = [ + "--with-milter=${libmilter}" + ]; + + meta = with stdenv.lib; { + description = "A free open source software implementation of the DMARC specification"; + homepage = "http://www.trusteddomain.org/opendmarc/"; + license = with licenses; [ bsd3 sendmail ]; + maintainers = with maintainers; [ ajs124 das_j ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c3a450031f..88788960dab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14216,6 +14216,8 @@ in opencolorio = callPackage ../development/libraries/opencolorio { }; + opendmarc = callPackage ../development/libraries/opendmarc { }; + ois = callPackage ../development/libraries/ois {}; openh264 = callPackage ../development/libraries/openh264 { }; From 549540559a9d057803b4d8bc1964a5d41ae9dca8 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Sun, 31 May 2020 22:45:47 +0200 Subject: [PATCH 2/3] exim: add DMARC support --- pkgs/servers/mail/exim/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix index 4d63a7b39c7..210863aa007 100644 --- a/pkgs/servers/mail/exim/default.nix +++ b/pkgs/servers/mail/exim/default.nix @@ -4,6 +4,7 @@ , enableAuthDovecot ? false, dovecot , enablePAM ? false, pam , enableSPF ? true, libspf2 +, enableDMARC ? true, opendmarc }: stdenv.mkDerivation rec { @@ -21,7 +22,8 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals enableMySQL [ libmysqlclient zlib ] ++ stdenv.lib.optional enableAuthDovecot dovecot ++ stdenv.lib.optional enablePAM pam - ++ stdenv.lib.optional enableSPF libspf2; + ++ stdenv.lib.optional enableSPF libspf2 + ++ stdenv.lib.optional enableDMARC opendmarc; preBuild = '' sed ' @@ -71,6 +73,10 @@ stdenv.mkDerivation rec { s:^# \(SUPPORT_SPF\)=.*:\1=yes: s:^# \(LDFLAGS += -lspf2\):\1: ''} + ${stdenv.lib.optionalString enableDMARC '' + s:^# \(SUPPORT_DMARC\)=.*:\1=yes: + s:^# \(LDFLAGS += -lopendmarc\):\1: + ''} #/^\s*#.*/d #/^\s*$/d ' < src/EDITME > Local/Makefile From 9cf43741c688bb772ce2ed605f6734afabc5d81f Mon Sep 17 00:00:00 2001 From: ajs124 Date: Sun, 26 Jul 2020 01:09:14 +0200 Subject: [PATCH 3/3] opendmarc: make perl scripts work --- pkgs/development/libraries/opendmarc/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/opendmarc/default.nix b/pkgs/development/libraries/opendmarc/default.nix index 7d6ae242fcf..9b45cc244f2 100644 --- a/pkgs/development/libraries/opendmarc/default.nix +++ b/pkgs/development/libraries/opendmarc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, libmilter }: +{ stdenv, fetchFromGitHub, autoreconfHook, libmilter, perl, perlPackages, makeWrapper }: stdenv.mkDerivation rec { pname = "opendmarc"; @@ -13,16 +13,24 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "doc" ]; - nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ perl ]; + nativeBuildInputs = [ autoreconfHook makeWrapper ]; postPatch = '' substituteInPlace configure.ac --replace ' docs/Makefile' "" + patchShebangs contrib reports ''; configureFlags = [ "--with-milter=${libmilter}" ]; + postFixup = '' + for b in $bin/bin/opendmarc-{expire,import,params,reports}; do + wrapProgram $b --set PERL5LIB ${perlPackages.makeFullPerlPath (with perlPackages; [ Switch DBI DBDmysql HTTPMessage ])} + done + ''; + meta = with stdenv.lib; { description = "A free open source software implementation of the DMARC specification"; homepage = "http://www.trusteddomain.org/opendmarc/";