nixpkgs/pkgs/applications/kde/mlt-path.patch
Anthony Cowley 7810dcbd7b kdenlive: Avoid exposing configurable paths to melt
kdenlive's configuration stores two paths to the `mlt` package. These
may be set in the GUI under `Settings -> Configure Kdenlive ->
Environment`, and are persisted in $XDG_CONFIG_HOME/.kdenliverc

A problem I encountered was `kdenlive` holding on to old `mlt` paths
in these settings after a nixpkgs update, causing video rendering to fail.

The C++ class kdenlive uses for these settings is automatically
generated, so what this patch does is edit the declaration of the
relevant settings to provide default values with the absolute path of
`mlt` known at build time, and mark those settings as hidden.

In testing, I've found that changing `mlt` and rebuilding `kdenlive`
causes updated paths to appear in the GUI, and no entries to be added
to the kdenliverc file.

A shortcoming of this patch is that existing users will already have paths
stored in their `kdenliverc` files that can cause trouble. The hope is
that an approach like the one taken here will reduce this sort
of breakage moving forward.
2019-09-11 00:16:14 -04:00

23 lines
789 B
Diff

diff -ruN old/src/kdenlivesettings.kcfg new/src/kdenlivesettings.kcfg
--- old/src/kdenlivesettings.kcfg 2019-09-10 23:20:27.555392353 -0400
+++ new/src/kdenlivesettings.kcfg 2019-09-10 23:25:47.533964155 -0400
@@ -378,14 +378,14 @@
</group>
<group name="env">
- <entry name="mltpath" type="Path">
+ <entry name="mltpath" type="Path" hidden="true">
<label>Mlt framework install path.</label>
- <default></default>
+ <default>@mlt@/share/mlt/profiles</default>
</entry>
- <entry name="rendererpath" type="Path">
+ <entry name="rendererpath" type="Path" hidden="true">
<label>Mlt melt renderer install path.</label>
- <default></default>
+ <default>@mlt@/bin/melt</default>
</entry>
<entry name="ffmpegpath" type="Path">