handbrake: use ffmpeg's new override interface

ffmpeg no longer responds to changing version using overrideAttrs. This causes
an issue where a critical patch that is included when ABI == 7.0 would not be
applied because the ffmpeg drv still thinks it's building for ABI 7.0.1.

You must specify the ABI version via the explicit override API now which this
patch does.

The ffmpeg derivation now supports fetching an upstream source for a certain
version; there is no need to do so manually anymore.
This commit is contained in:
Atemu 2024-06-06 19:57:10 +02:00
parent 00d7d60e2a
commit 0093d837d9

View File

@ -106,12 +106,10 @@ let
# base ffmpeg version is specified in:
# https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs
ffmpeg-version = "7.0";
ffmpeg-hb = ffmpeg_7-full.overrideAttrs (old: {
ffmpeg-hb = (ffmpeg_7-full.override {
version = ffmpeg-version;
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
hash = "sha256-ok2QdL9VI6Zaqp570Cr+QQnOedab130QT+09q0uTTXo=";
};
hash = "sha256-RdDfv+0y90XpgjIRvTjsemKyGunzDbsh4j4WiE9rfyM=";
}).overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [
"${src}/contrib/ffmpeg/A01-mov-read-name-track-tag-written-by-movenc.patch"
"${src}/contrib/ffmpeg/A02-movenc-write-3gpp-track-titl-tag.patch"