fix: remove libcamera from pipewire buildInputs (both overlays)

meta.platforms = [] on libcamera doesn't help because nixos-25.11 pipewire
has libcamera unconditionally in buildInputs. Must overrideAttrs to:
- filter libcamera out of buildInputs
- clear existing libcamera meson flags and set -Dlibcamera=disabled
This commit is contained in:
2026-06-14 09:03:44 -04:00
committed by Hermes
parent 9978ea36f4
commit 6a1c26cac2

View File

@@ -101,9 +101,20 @@
boot.loader.raspberry-pi.bootloader = "kernel"; boot.loader.raspberry-pi.bootloader = "kernel";
# Kill camera packages — not needed on uConsole, break cross-compile # Kill camera packages — not needed on uConsole, break cross-compile
nixpkgs.overlays = [ nixpkgs.overlays = [
# Make camera packages "unavailable" so no pkgs depend on them
(final: prev: { (final: prev: {
libcamera = prev.libcamera.overrideAttrs (_: { meta.platforms = []; });
libcamera-rpi = prev.libcamera-rpi.overrideAttrs (_: { meta.platforms = []; });
libpisp = prev.libpisp.overrideAttrs (_: { meta.platforms = []; });
# Pipewire in nixos-25.11 has libcamera unconditionally in buildInputs;
# meta.platforms trick doesn't help — must actually remove it
pipewire = prev.pipewire.overrideAttrs (old: { pipewire = prev.pipewire.overrideAttrs (old: {
mesonFlags = old.mesonFlags ++ [ "-Dlibcamera=disabled" ]; buildInputs = builtins.filter
(x: !(x?pname && x.pname == "libcamera"))
(old.buildInputs or []);
mesonFlags = builtins.filter
(flag: !(builtins.isString flag && builtins.match ".*libcamera.*" flag != null))
(old.mesonFlags or []) ++ [ "-Dlibcamera=disabled" ];
}); });
}) })
]; ];
@@ -114,7 +125,12 @@
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (final: prev: {
pipewire = prev.pipewire.overrideAttrs (old: { pipewire = prev.pipewire.overrideAttrs (old: {
mesonFlags = old.mesonFlags ++ [ "-Dlibcamera=disabled" ]; buildInputs = builtins.filter
(x: !(x?pname && x.pname == "libcamera"))
(old.buildInputs or []);
mesonFlags = builtins.filter
(flag: !(builtins.isString flag && builtins.match ".*libcamera.*" flag != null))
(old.mesonFlags or []) ++ [ "-Dlibcamera=disabled" ];
}); });
}) })
]; ];