Skip to content

Commit cc80c88

Browse files
authored
servarr-ffmpeg: init at 5.1.4
1 parent 6f5b952 commit cc80c88

File tree

2 files changed

+115
-2
lines changed

2 files changed

+115
-2
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{
2+
ffmpeg-headless,
3+
fetchFromGitHub,
4+
fetchpatch2,
5+
lib,
6+
}:
7+
8+
let
9+
version = "5.1.4";
10+
in
11+
12+
(ffmpeg-headless.override {
13+
inherit version; # Important! This sets the ABI.
14+
15+
# Fetch commit hash from this repository: https://github.com/Servarr/ffmpeg-build
16+
# Compare build logs to upstream logs here: https://dev.azure.com/Servarr/Servarr/_build?definitionId=15
17+
source = fetchFromGitHub {
18+
owner = "Servarr";
19+
repo = "FFmpeg";
20+
rev = "e9230b4c9027435dd402a68833f144643a3df43a";
21+
hash = "sha256-oMIblMOnnYpKvYeleCZpFZURGVc3fDAlYpOJu+u7HkU=";
22+
};
23+
24+
buildFfmpeg = false;
25+
buildFfplay = false;
26+
buildAvdevice = false;
27+
buildAvfilter = false;
28+
buildPostproc = false;
29+
buildSwresample = false;
30+
buildSwscale = false;
31+
32+
withAlsa = false;
33+
withAmf = false;
34+
withAom = false;
35+
withAss = false;
36+
withBluray = false;
37+
withBzlib = false;
38+
withCudaLLVM = false;
39+
withCuvid = false;
40+
withDrm = false;
41+
withNvcodec = false;
42+
withFontconfig = false;
43+
withFreetype = false;
44+
withFribidi = false;
45+
withGnutls = false;
46+
withIconv = false;
47+
withLzma = false;
48+
withMp3lame = false;
49+
withOpencl = false;
50+
withOpenjpeg = false;
51+
withOpenmpt = false;
52+
withOpus = false;
53+
withRist = false;
54+
withSoxr = false;
55+
withSpeex = false;
56+
withSrt = false;
57+
withSsh = false;
58+
withSvtav1 = false;
59+
withTheora = false;
60+
withV4l2 = false;
61+
withVaapi = false;
62+
withVidStab = false;
63+
withVorbis = false;
64+
withVpx = false;
65+
withVulkan = false;
66+
withWebp = false;
67+
withX264 = false;
68+
withX265 = false;
69+
withXml2 = false;
70+
withXvid = false;
71+
withZimg = false;
72+
withZlib = false;
73+
withZvbi = false;
74+
}).overrideAttrs
75+
(old: {
76+
pname = "servarr-ffmpeg";
77+
78+
patches = old.patches ++ [
79+
(fetchpatch2 {
80+
name = "fix_build_failure_due_to_libjxl_version_to_new";
81+
url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/75b1a555a70c178a9166629e43ec2f6250219eb2";
82+
hash = "sha256-+2kzfPJf5piim+DqEgDuVEEX5HLwRsxq0dWONJ4ACrU=";
83+
})
84+
];
85+
86+
configureFlags = old.configureFlags ++ [
87+
"--extra-version=Servarr"
88+
89+
# https://github.com/Servarr/ffmpeg-build/blob/bc29af6f0bf84bf9253d4d462611b1dc31ee688e/common.sh#L15-L45
90+
91+
# Disable unused functionnalities
92+
"--disable-encoders"
93+
"--disable-muxers"
94+
"--disable-protocols"
95+
"--disable-bsfs"
96+
97+
# FFMpeg options - enable what we need
98+
"--enable-protocol=file"
99+
"--enable-bsf=av1_frame_split"
100+
"--enable-bsf=av1_frame_merge"
101+
"--enable-bsf=av1_metadata"
102+
];
103+
104+
doCheck = false;
105+
106+
meta = {
107+
inherit (old.meta) license;
108+
mainProgram = "ffprobe";
109+
description = "${old.meta.description} (Servarr fork)";
110+
homepage = "https://github.com/Servarr/FFmpeg";
111+
maintainers = with lib.maintainers; [ nyanloutre ];
112+
};
113+
})

pkgs/by-name/so/sonarr/package.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
dotnetCorePackages,
77
sqlite,
88
withFFmpeg ? true, # replace bundled ffprobe binary with symlink to ffmpeg package.
9-
ffmpeg,
9+
servarr-ffmpeg,
1010
fetchYarnDeps,
1111
yarn,
1212
fixup-yarn-lock,
@@ -72,7 +72,7 @@ buildDotnetModule {
7272
hash = "sha256-YkBFvv+g4p22HdM/GQAHVGGW1yLYGWpNtRq7+QJiLIw=";
7373
};
7474

75-
ffprobe = lib.optionalDrvAttr withFFmpeg (lib.getExe' ffmpeg "ffprobe");
75+
ffprobe = lib.optionalDrvAttr withFFmpeg (lib.getExe' servarr-ffmpeg "ffprobe");
7676

7777
postConfigure = ''
7878
yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"

0 commit comments

Comments
 (0)