nixos-config/packages/sievec.nix
Charlotte 🦝 Delenk 50e0843938
fix: Patch the sieve file that is given to sievec
CA derivations apparently add a /nix/store argument to store paths,
even if they shouldn’t

see #70
2022-03-16 08:45:29 +01:00

25 lines
649 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
sed -i 's|/nix/store/||g' $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}"
'';
}