1{ callPackage, darwin }:
2
3let
4 mkFFmpeg =
5 initArgs: ffmpegVariant:
6 callPackage ./generic.nix (
7 {
8 inherit (darwin.apple_sdk.frameworks)
9 AppKit
10 AudioToolbox
11 AVFoundation
12 CoreImage
13 VideoToolbox
14 ;
15 }
16 // (initArgs // { inherit ffmpegVariant; })
17 );
18
19 v4 = {
20 version = "4.4.4";
21 hash = "sha256-Q8bkuF/1uJfqttJJoObnnLX3BEduv+qxsvOrVhMvRjA=";
22 };
23
24 v5 = {
25 version = "5.1.4";
26 hash = "sha256-2jUL1/xGUf7aMooST2DW41KE7bC+BtgChXmj0sAJZ90=";
27 };
28
29 v6 = {
30 version = "6.1.1";
31 hash = "sha256-Q0c95hbCVUHQWPoh5uC8uzMylmB4BnWg+VhXEgSouzo=";
32 };
33
34 v7 = {
35 version = "7.0";
36 hash = "sha256-RdDfv+0y90XpgjIRvTjsemKyGunzDbsh4j4WiE9rfyM=";
37 };
38in
39
40rec {
41 ffmpeg_4 = mkFFmpeg v4 "small";
42 ffmpeg_4-headless = mkFFmpeg v4 "headless";
43 ffmpeg_4-full = mkFFmpeg v4 "full";
44
45 ffmpeg_5 = mkFFmpeg v5 "small";
46 ffmpeg_5-headless = mkFFmpeg v5 "headless";
47 ffmpeg_5-full = mkFFmpeg v5 "full";
48
49 ffmpeg_6 = mkFFmpeg v6 "small";
50 ffmpeg_6-headless = mkFFmpeg v6 "headless";
51 ffmpeg_6-full = mkFFmpeg v6 "full";
52
53 ffmpeg_7 = mkFFmpeg v7 "small";
54 ffmpeg_7-headless = mkFFmpeg v7 "headless";
55 ffmpeg_7-full = mkFFmpeg v7 "full";
56
57 # Please make sure this is updated to the latest version on the next major
58 # update to ffmpeg
59 # Packages which use ffmpeg as a library, should pin to the relevant major
60 # version number which the upstream support.
61 ffmpeg = ffmpeg_6;
62 ffmpeg-headless = ffmpeg_6-headless;
63 ffmpeg-full = ffmpeg_6-full;
64}