aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/kde/kdenlive/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/kde/kdenlive/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/kde/kdenlive/default.nix104
1 files changed, 104 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/kde/kdenlive/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/kde/kdenlive/default.nix
new file mode 100644
index 000000000000..47afcd0a67e3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/kde/kdenlive/default.nix
@@ -0,0 +1,104 @@
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, breeze-icons
+, breeze-qt5
+, kdoctools
+, kconfig
+, kcrash
+, kguiaddons
+, kiconthemes
+, ki18n
+, kinit
+, kdbusaddons
+, knotifications
+, knewstuff
+, karchive
+, knotifyconfig
+, kplotting
+, ktextwidgets
+, mlt
+, shared-mime-info
+, libv4l
+, kfilemetadata
+, ffmpeg-full
+, frei0r
+, phonon-backend-gstreamer
+, qtdeclarative
+, qtmultimedia
+, qtquickcontrols2
+, qtscript
+, rttr
+, kpurpose
+, kdeclarative
+, wrapGAppsHook
+}:
+
+mkDerivation {
+ pname = "kdenlive";
+ nativeBuildInputs = [
+ extra-cmake-modules
+ kdoctools
+ ];
+ buildInputs = [
+ breeze-icons
+ breeze-qt5
+ kconfig
+ kcrash
+ kdbusaddons
+ kfilemetadata
+ kguiaddons
+ ki18n
+ kiconthemes
+ kinit
+ knotifications
+ knewstuff
+ karchive
+ knotifyconfig
+ kplotting
+ ktextwidgets
+ mlt
+ phonon-backend-gstreamer
+ qtdeclarative
+ qtmultimedia
+ qtquickcontrols2
+ qtscript
+ shared-mime-info
+ libv4l
+ ffmpeg-full
+ frei0r
+ rttr
+ kpurpose
+ kdeclarative
+ wrapGAppsHook
+ ];
+ # Both MLT and FFMpeg paths must be set or Kdenlive will complain that it
+ # doesn't find them. See:
+ # https://github.com/NixOS/nixpkgs/issues/83885
+ patches = [ ./mlt-path.patch ./ffmpeg-path.patch ];
+ inherit mlt;
+ ffmpeg = ffmpeg-full;
+ 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
+ '';
+
+ dontWrapGApps = true;
+
+ # Frei0r path needs to be set too or Kdenlive will complain. See:
+ # https://github.com/NixOS/nixpkgs/issues/83885
+ # https://github.com/NixOS/nixpkgs/issues/29614#issuecomment-488849325
+ qtWrapperArgs = [
+ "--set FREI0R_PATH ${frei0r}/lib/frei0r-1"
+ ];
+
+ preFixup = ''
+ qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+ '';
+
+ meta = {
+ license = with lib.licenses; [ gpl2Plus ];
+ };
+}