31 lines
857 B
Nix
31 lines
857 B
Nix
{ stdenv, dovecot_pigeonhole}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "sieve-report-spam-ham";
|
|
|
|
src = ./sieve-report-spam-ham;
|
|
|
|
phases = [ "copyPhase" "compilePhase" ];
|
|
|
|
copyPhase = ''
|
|
mkdir $out
|
|
cp -Rv $src/. $out/
|
|
find $out -type d -exec chmod -c 0755 {} \;
|
|
set +x
|
|
'';
|
|
|
|
# Yeah, need a specific dovecot.conf to enable the necessary plugins...
|
|
# taking the one used by the dovecot that actually executes the sieve scripts should
|
|
# work as well, but passing it through isn't worth my time.
|
|
compilePhase = ''
|
|
dc=$(pwd)/dovecot.conf
|
|
cat > $dc <<-EOF
|
|
plugin {
|
|
sieve_plugins = sieve_imapsieve sieve_extprograms
|
|
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
|
|
}
|
|
EOF
|
|
find $out -iname '*.sieve' -print0 | xargs -t -0 -n1 ${dovecot_pigeonhole}/bin/sievec -c $dc
|
|
'';
|
|
}
|