This updates the ipu6 driver and firmware to a more recent version,
which seems to at least work in Chrom{e,ium}.
ipu6-drivers now relies on the in-kernel ipu6 kernel driver, so we
update our logic and metadata for it.
In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
This now references `kVTVideoDecoderReferenceMissingErr`, which was
added in the macOS 12 SDK. Unfortunately, our 12.3 SDK doesn’t work
to build this package currently. This should hopefully be fixed after
the SDK rework.
Checking for Darwin didn't take into account that we also use a
libunwind implementation without pkg-config on riscv32-linux. Fix by
checking for the presence of the pkg-config file required directly,
rather than by using platform as a proxy.
ld64 is failing to link these plugins with the following error. lld does not have this problem and can link this plugin successfully.
section __TEXT,__text reloc 18: symbol index out of range
Upstream removed support for using dlopen on platforms other than Linux to fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171, but Darwin in nixpkgs still needs to find the libsoup dynamically because nixpkgs packages both. Instead of using `dlopen`, Darwin probes for libsoup symbols.