diff options
Diffstat (limited to 'pkgs/applications/video/shotcut/default.nix')
-rw-r--r-- | pkgs/applications/video/shotcut/default.nix | 62 |
1 files changed, 23 insertions, 39 deletions
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix index efa7782891ce..42f281567749 100644 --- a/pkgs/applications/video/shotcut/default.nix +++ b/pkgs/applications/video/shotcut/default.nix @@ -1,6 +1,8 @@ { lib , fetchFromGitHub -, mkDerivation +, stdenv +, wrapQtAppsHook +, substituteAll , SDL2 , frei0r , ladspaPlugins @@ -8,72 +10,54 @@ , mlt , jack1 , pkg-config +, fftw , qtbase -, qtmultimedia -, qtx11extras -, qtwebsockets -, qtquickcontrols2 -, qtgraphicaleffects -, qmake , qttools +, qtmultimedia +, qtcharts +, cmake , gitUpdater }: - -assert lib.versionAtLeast mlt.version "6.24.0"; - -mkDerivation rec { +stdenv.mkDerivation rec { pname = "shotcut"; - version = "21.09.20"; + version = "23.11.29"; src = fetchFromGitHub { owner = "mltframework"; repo = "shotcut"; rev = "v${version}"; - sha256 = "1y46n5gmlayfl46l0vhg5g5dbbc0sg909mxb68sia0clkaas8xrh"; + hash = "sha256-szWXX/DIJk5ktESgecglptU1qrnrd/u0N6AffwZ5Tos="; }; - nativeBuildInputs = [ pkg-config qmake ]; + nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ]; buildInputs = [ SDL2 frei0r ladspaPlugins gettext mlt + fftw qtbase + qttools qtmultimedia - qtx11extras - qtwebsockets - qtquickcontrols2 - qtgraphicaleffects + qtcharts ]; - env.NIX_CFLAGS_COMPILE = "-I${mlt.dev}/include/mlt++ -I${mlt.dev}/include/mlt"; - qmakeFlags = [ - "QMAKE_LRELEASE=${lib.getDev qttools}/bin/lrelease" - "SHOTCUT_VERSION=${version}" - "DEFINES+=SHOTCUT_NOUPGRADE" + env.NIX_CFLAGS_COMPILE = "-DSHOTCUT_NOUPGRADE"; + cmakeFlags = [ + "-DSHOTCUT_VERSION=${version}" ]; - prePatch = '' - sed 's_shotcutPath, "melt[^"]*"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp - sed 's_shotcutPath, "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/jobs/ffmpegjob.cpp - sed 's_qApp->applicationDirPath(), "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/docks/encodedock.cpp - NICE=$(type -P nice) - sed "s_/usr/bin/nice_''${NICE}_" -i src/jobs/meltjob.cpp src/jobs/ffmpegjob.cpp - ''; + patches = [ + (substituteAll { inherit mlt; src = ./fix-mlt-ffmpeg-path.patch; }) + ]; qtWrapperArgs = [ - "--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1" - "--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa" - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ jack1 SDL2 ]}" - "--prefix PATH : ${mlt}/bin" + "--set FREI0R_PATH ${frei0r}/lib/frei0r-1" + "--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa" + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [jack1 SDL2]}" ]; - postInstall = '' - mkdir -p $out/share/shotcut - cp -r src/qml $out/share/shotcut/ - ''; - passthru.updateScript = gitUpdater { rev-prefix = "v"; }; |