25 lines
600 B
Nix
25 lines
600 B
Nix
|
{ writeText, stdenv, dovecot_pigeonhole, ... } @ pkgs: { name, src, exts }:
|
||
|
let dummyConfig = writeText "dovecot.cfg" ''
|
||
|
plugin {
|
||
|
sieve_plugins = sieve_imapsieve sieve_extprograms
|
||
|
sieve_global_extensions = +vnd.dovecot.pipe
|
||
|
}
|
||
|
'';
|
||
|
in
|
||
|
stdenv.mkDerivation {
|
||
|
inherit name;
|
||
|
inherit src;
|
||
|
|
||
|
phases = [ "copyPhase" "compilePhase" ];
|
||
|
|
||
|
copyPhase = ''
|
||
|
mkdir $out
|
||
|
cp $src $out/${name}.sieve
|
||
|
chmod 0755 $out/${name}.sieve
|
||
|
set +x
|
||
|
'';
|
||
|
compilePhase = ''
|
||
|
${dovecot_pigeonhole}/bin/sievec -c ${dummyConfig} $out/${name}.sieve $out/${name}.svbin -x "${toString exts}"
|
||
|
'';
|
||
|
}
|