Yes, it's inconsistent with enablePatentEncumberedCodecs, but it's the
name this option had before it was removed in dda100f27b ("mesa:
split out the Darwin build into a separate expression, heavily clean
up Linux"), and therefore still has in stable. There's no reason for
the name to change between NixOS releases just because it was
temporarily removed.
While there's a lot in Mesa that's architecture-specific, there's also
portable stuff that should be able to build for basically any Unix out
there. It should work on almost any Linux architecture, and it's also
used by every BSD I think.
Mesa is a package like any other. There's no reason for it to be a
special case with its platforms listed in lib, because if other
packages want to refer to mesa's platforms, they can access the
platforms from the package meta like they would for any other package.
Use glslang's bin output in nativeBuildInputs to prevent propagating the "dev" output which
then injects the glslang libraries for host into target. Switch to using
the spirv-tools package for buildInputs instead of glslang to further
prevent the wrong things from propagating on host since we only need the
pkg-config and static libraries.
This requires hacks to build against Apple’s OpenGL framework, and
there’s no point; macOS ships with a GLU implementation already, so
this package should only be used for X11 applications that explicitly
require Mesa’s libGLX and want `<GL/glu.h>`.
The way we build Mesa for Linux (and potentially others) is very,
very different from the way we build Mesa on Darwin. In short,
on Linux we generally want to build as much of it as possible,
while on Darwin we want to build just enough of it to get GLX
for legacy X applications.
So, split out the Darwin build into its own expression entirely,
and give it just enough inputs and just enough feature flags to
actually do the one thing we want it to do, and nothing else.
The Linux expression can be simplified further now, but that
would cause rebuilds, so we'll have to do that later.
- build teflon as a separate output
- allow new Intel on non-x86
- libclc is a hard dependency now (for Intel, and later Asahi)
- fix Intel cross in presence of libclc
- NVK is no longer experimental
- add xcbutilkeysyms dependency to enable trace capture hotkey