From 293e3306b3eb17a60e02f5bdd6f78495966f0e97 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 19 Apr 2026 11:18:58 +0000 Subject: [PATCH] facetimehd: patch out wait_prepare/wait_finish for Linux 7.0 struct vb2_ops dropped wait_prepare and wait_finish in Linux 6.8. Add a nixpkgs overlay to sed them out of fthd_v4l2.c at build time. https://claude.ai/code/session_01XEMg2HskwRaQW3nrCd1q2z --- hosts/hardware/FredOS-Macbook.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hosts/hardware/FredOS-Macbook.nix b/hosts/hardware/FredOS-Macbook.nix index 7b15780..4123d54 100644 --- a/hosts/hardware/FredOS-Macbook.nix +++ b/hosts/hardware/FredOS-Macbook.nix @@ -34,6 +34,20 @@ hardware.enableRedistributableFirmware = true; hardware.facetimehd.enable = true; + # wait_prepare/wait_finish were removed from struct vb2_ops in Linux 6.8 + nixpkgs.overlays = [ + (final: prev: { + linuxPackagesFor = kernel: (prev.linuxPackagesFor kernel).extend (lpFinal: lpPrev: { + facetimehd = lpPrev.facetimehd.overrideAttrs (old: { + postPatch = (old.postPatch or "") + '' + sed -i '/\.wait_prepare[[:space:]]*=.*vb2_ops_wait_prepare/d' fthd_v4l2.c + sed -i '/\.wait_finish[[:space:]]*=.*vb2_ops_wait_finish/d' fthd_v4l2.c + ''; + }); + }); + }) + ]; + nixpkgs.config.allowInsecurePredicate = pkg: (lib.hasPrefix "broadcom-sta" (lib.getName pkg));