From 56a2098698688a02f8be6a43f52570afa5fcda89 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 8 Sep 2024 01:24:35 +0100 Subject: [PATCH 1/3] ocamlPackages.ffmpeg*: pin FFmpeg 6 for now --- pkgs/top-level/ocaml-packages.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index c487541fa2e8..65574e91e1bd 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -510,31 +510,31 @@ let ffmpeg = callPackage ../development/ocaml-modules/ffmpeg { }; ffmpeg-av = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-av.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox; }; ffmpeg-avcodec = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox; }; ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox AVFoundation Cocoa CoreImage ForceFeedback OpenGL VideoToolbox; }; ffmpeg-avfilter = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AppKit CoreImage OpenGL VideoToolbox; }; ffmpeg-avutil = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox; }; ffmpeg-swresample = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox; }; ffmpeg-swscale = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox; }; From a149bd4768f8a4d1eb600302bc31ef8e4da7a0be Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 8 Sep 2024 01:24:35 +0100 Subject: [PATCH 2/3] liquidsoap: pin FFmpeg 6 for now --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 347af5805ae9..5ba479dd4a1b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9372,7 +9372,7 @@ with pkgs; lesspipe = callPackage ../tools/misc/lesspipe { }; liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix { - ffmpeg = ffmpeg-full; + ffmpeg = ffmpeg_6-full; ocamlPackages = ocaml-ng.ocamlPackages_4_14; }; From b1a93bb5c45a955dccdae4b70e6e4f85968a4933 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 7 Sep 2024 22:46:33 +0100 Subject: [PATCH 3/3] {telegram-desktop,kotatogram-desktop}.tg_owt: add patch for FFmpeg 7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are forks of WebRTC, so include the same upstream patch we use for FFmpeg 7 support in Qt 5’s WebEngine. I didn’t bother deduplicating it across these two copy‐pasted expressions since the original authors didn’t either. --- .../telegram/kotatogram-desktop/tg_owt.nix | 13 +++++++++++++ .../telegram/telegram-desktop/tg_owt.nix | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix index e2f3c4ba884e..5dcfd895f5ed 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch2 , pkg-config , cmake , ninja @@ -42,6 +43,18 @@ stdenv.mkDerivation { fetchSubmodules = true; }; + patches = [ + # Remove usage of AVCodecContext::reordered_opaque + (fetchpatch2 { + name = "webrtc-ffmpeg-7.patch"; + url = "https://webrtc.googlesource.com/src/+/e7d10047096880feb5e9846375f2da54aef91202%5E%21/?format=TEXT"; + decode = "base64 -d"; + stripLen = 1; + extraPrefix = "src/"; + hash = "sha256-EdwHeVko8uDsP5GTw2ryWiQgRVCAdPc1me6hySdiwMU="; + }) + ]; + postPatch = lib.optionalString stdenv.isLinux '' substituteInPlace src/modules/desktop_capture/linux/wayland/egl_dmabuf.cc \ --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \ diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix index 64541fc79e97..425b82f15d9b 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, pkg-config, cmake, crc32c, @@ -41,6 +42,18 @@ stdenv.mkDerivation { fetchSubmodules = true; }; + patches = [ + # Remove usage of AVCodecContext::reordered_opaque + (fetchpatch2 { + name = "webrtc-ffmpeg-7.patch"; + url = "https://webrtc.googlesource.com/src/+/e7d10047096880feb5e9846375f2da54aef91202%5E%21/?format=TEXT"; + decode = "base64 -d"; + stripLen = 1; + extraPrefix = "src/"; + hash = "sha256-EdwHeVko8uDsP5GTw2ryWiQgRVCAdPc1me6hySdiwMU="; + }) + ]; + outputs = [ "out" "dev"