chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / sh / shotcut / package.nix
blob09bcb4447aed123c131875ce0529c4513903107a
2   lib,
3   fetchFromGitHub,
4   stdenv,
5   substituteAll,
6   SDL2,
7   frei0r,
8   ladspaPlugins,
9   gettext,
10   mlt,
11   jack1,
12   pkg-config,
13   fftw,
14   qt6,
15   cmake,
16   darwin,
17   gitUpdater,
19 stdenv.mkDerivation (finalAttrs: {
20   pname = "shotcut";
21   version = "24.09.13";
23   src = fetchFromGitHub {
24     owner = "mltframework";
25     repo = "shotcut";
26     rev = "v${finalAttrs.version}";
27     hash = "sha256-hYpb3ZCRXd07KQVZ3xpNeEJY5HFLNDsqpPJp3b9UXtE=";
28   };
30   nativeBuildInputs = [
31     pkg-config
32     cmake
33     qt6.wrapQtAppsHook
34   ];
36   buildInputs = [
37     SDL2
38     frei0r
39     ladspaPlugins
40     gettext
41     mlt
42     fftw
43     qt6.qtbase
44     qt6.qttools
45     qt6.qtmultimedia
46     qt6.qtcharts
47     qt6.qtwayland
48   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
50   env.NIX_CFLAGS_COMPILE = "-DSHOTCUT_NOUPGRADE";
51   cmakeFlags = [ "-DSHOTCUT_VERSION=${finalAttrs.version}" ];
53   patches = [
54     (substituteAll {
55       inherit mlt;
56       src = ./fix-mlt-ffmpeg-path.patch;
57     })
58   ];
60   qtWrapperArgs = [
61     "--set FREI0R_PATH ${frei0r}/lib/frei0r-1"
62     "--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa"
63     "--prefix LD_LIBRARY_PATH : ${
64       lib.makeLibraryPath ([ SDL2 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ jack1 ])
65     }"
66   ];
68   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
69     mkdir $out/Applications $out/bin
70     mv $out/Shotcut.app $out/Applications/Shotcut.app
71     ln -s $out/Applications/Shotcut.app/Contents/MacOS/Shotcut $out/bin/shotcut
72   '';
74   passthru.updateScript = gitUpdater { rev-prefix = "v"; };
76   meta = with lib; {
77     description = "Free, open source, cross-platform video editor";
78     longDescription = ''
79       An official binary for Shotcut, which includes all the
80       dependencies pinned to specific versions, is provided on
81       http://shotcut.org.
83       If you encounter problems with this version, please contact the
84       nixpkgs maintainer(s). If you wish to report any bugs upstream,
85       please use the official build from shotcut.org instead.
86     '';
87     homepage = "https://shotcut.org";
88     license = licenses.gpl3Plus;
89     maintainers = with maintainers; [
90       woffs
91       peti
92     ];
93     platforms = platforms.unix;
94     mainProgram = "shotcut";
95   };