nixpkgs/pkgs/development/libraries/ffmpeg/default.nix
2024-10-05 01:34:12 +01:00

72 lines
1.9 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
callPackage,
darwin,
cudaPackages,
}:
let
mkFFmpeg =
initArgs: ffmpegVariant:
callPackage ./generic.nix (
{
inherit (darwin.apple_sdk.frameworks)
Accelerate
AppKit
AudioToolbox
AVFoundation
CoreImage
VideoToolbox
;
inherit (darwin) xcode;
inherit (cudaPackages) cuda_cudart cuda_nvcc libnpp;
}
// (initArgs // { inherit ffmpegVariant; })
);
v4 = {
version = "4.4.5";
hash = "sha256-GrKNGYI8kO47Yoi82dMV30ymuXSjxo4gH+yB8jIUa2A=";
};
v6 = {
version = "6.1.2";
hash = "sha256-h/N56iKkAR5kH+PRQceWZvHe3k+70KWMDEP5iVq/YFQ=";
};
v7 = {
version = "7.1";
hash = "sha256-erTkv156VskhYEJWjpWFvHjmcr2hr6qgUi28Ho8NFYk=";
};
in
rec {
# We keep FFmpeg 4 around for now mainly for a couple of binary
# packages (Spotify and REAPER). Please dont add new source packages
# that depend on this version.
ffmpeg_4 = mkFFmpeg v4 "small";
ffmpeg_4-headless = mkFFmpeg v4 "headless";
ffmpeg_4-full = mkFFmpeg v4 "full";
ffmpeg_6 = mkFFmpeg v6 "small";
ffmpeg_6-headless = mkFFmpeg v6 "headless";
ffmpeg_6-full = mkFFmpeg v6 "full";
ffmpeg_7 = mkFFmpeg v7 "small";
ffmpeg_7-headless = mkFFmpeg v7 "headless";
ffmpeg_7-full = mkFFmpeg v7 "full";
# Please make sure this is updated to new major versions once they
# build and work on all the major platforms. If absolutely necessary
# due to severe breaking changes, the bump can wait a little bit to
# give the most proactive users time to migrate, but dont hold off
# for too long.
#
# Packages which depend on FFmpeg should generally use these
# unversioned aliases to allow for quicker migration to new releases,
# but can pin one of the versioned variants if they do not work with
# the current default version.
ffmpeg = ffmpeg_7;
ffmpeg-headless = ffmpeg_7-headless;
ffmpeg-full = ffmpeg_7-full;
}