zathura: fix fish completions

The fish completion checks the plugin directory for supported file types
to complete. However the plugin dir checked was the one of the
zathura_core derivation which of course has no plugin dir. We now patch
up the referenced path in the wrapper derivation.

Changed files
+10 -1
pkgs
applications
misc
zathura
+10 -1
pkgs/applications/misc/zathura/wrapper.nix
···
buildInputs = [ makeWrapper ];
-
postBuild = ''
+
postBuild = let
+
fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
+
in ''
makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
--prefix PATH ":" "${lib.makeBinPath [ file ]}" \
--add-flags --plugins-dir="$out/lib/zathura"
+
+
# zathura fish completion references the zathura_core derivation to
+
# check for supported plugins which live in the wrapper derivation,
+
# so we need to fix the path to reference $out instead.
+
rm "$out/${fishCompletion}"
+
substitute "${zathura_core.out}/${fishCompletion}" "$out/${fishCompletion}" \
+
--replace "${zathura_core.out}" "$out"
'';
meta = with lib; {