about summary refs log tree commit diff
path: root/pkgs/applications/kde/kdenlive.nix
diff options
context:
space:
mode:
authorAnthony Cowley <acowley@gmail.com>2019-09-10 23:42:40 -0400
committerAnthony Cowley <acowley@gmail.com>2019-09-11 00:16:14 -0400
commit7810dcbd7b3c96aed45803de27dc17e71e400c42 (patch)
treeb55015b7d44534caa83a401be5bd2ec9a7091ed0 /pkgs/applications/kde/kdenlive.nix
parente19054ab3cd5b7cc9a01d0efc71c8fe310541065 (diff)
downloadnixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.tar
nixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.tar.gz
nixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.tar.bz2
nixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.tar.lz
nixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.tar.xz
nixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.tar.zst
nixlib-7810dcbd7b3c96aed45803de27dc17e71e400c42.zip
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.
Diffstat (limited to 'pkgs/applications/kde/kdenlive.nix')
-rw-r--r--pkgs/applications/kde/kdenlive.nix3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix
index fa75dd1eb97a..b7c691e9594b 100644
--- a/pkgs/applications/kde/kdenlive.nix
+++ b/pkgs/applications/kde/kdenlive.nix
@@ -70,10 +70,13 @@ mkDerivation {
     kpurpose
     kdeclarative
   ];
+  patches = [ ./mlt-path.patch ];
+  inherit mlt;
   postPatch =
     # Module Qt5::Concurrent must be included in `find_package` before it is used.
     ''
       sed -i CMakeLists.txt -e '/find_package(Qt5 REQUIRED/ s|)| Concurrent)|'
+      substituteAllInPlace src/kdenlivesettings.kcfg
     '';
   meta = {
     license = with lib.licenses; [ gpl2Plus ];