This package was added in
<https://github.com/NixOS/nixpkgs/pull/345248> to address
<https://github.com/NixOS/nixpkgs/issues/344689>, a request for a
package of wgpu-native, wgpu’s native WebGPU implementation that
other applications can use as a library.
However, it doesn’t package that at all; instead, it contains
only several binary utility and example programs shipped as part
of wgpu, and in fact, these were already present as the more
appropriately‐named `wgpu-utils` package, which needs only an update.
Given that this package was added without the due diligence to check
whether the software being packaged was what was being requested,
or whether it was already present under an obvious name, I don’t
think there’s an argument for retaining this duplicate. `wgpu-utils`
can be updated and refactored to be on par with this package, and if
the library that was actually requested is ever packaged, it should
be called `wgpu-native` instead.
This reverts commit 27e304c09e.
Several confused users have reported that this
package does not work at all, and per the discussion in
<https://github.com/NixOS/nixpkgs/pull/345905>, the contributor who
added it does not appear to have tested its basic functionality at
all before opening a pull request.
That’s not acceptable; we rely on package maintainers to be able
to assess the basic functionality of software and ensuring that a
program can even start up before opening a pull request to package it
is basic due diligence. It’s harmful to have a package that doesn’t
work and lacks a maintainer who can assess whether it works or not,
so we should remove it until both of those can be addressed.
This reverts commit 5eb022fdb2.
Most Darwin source releases vendor private headers in a separate
derivation and add them to `NIX_CFLAGS_COMPILE` (to avoid propagating
them in static builds). Adopt this pattern for consistency with the
other source releases.
The SDK library path is normally add by the ld wrapper, but ld64 is
being used unwrapped in this check phase. Ensure it can find the
requires SDK stubs by passing them via the clang wrapper.
Many packages need only libtool from cctools, which is different from
GNU libtool (commonly used with other autotools), so it can’t be
provided by default with the Darwin bintools. Providing it as a separate
output allows packages to use cctools’s libtool without pulling other
tools they may not want.
macOS ships with several stubs in `/usr/bin` that invoke `xcrun` to run
the tools from the active SDK. When `/usr/bin` is in `PATH`, this will
cause `xcrun` from xcbuild to invoke itself over and over. Filtering
`/usr/bin` from `xcrun`’s search path prevents this from happening.
xcbuild determines the SDK dynamically, so overriding the `sdkVer` no
longer works. If packages want to change the SDK, they need to add one
of the SDK packages to their inputs.