continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
Latest mesa requires macOS SDK 10.13 - this applies an upstream
patch for compatibility with 10.13
Applied on darwin only to avoid linux rebuilds in staging-next - left a
note that this can be done unconditionally as it has no effect on
non-darwin platforms, if this would be considered more robust.
There's no need to keep the expressions for old patches around.
Also: Apply the musl patch unconditionally to ensure that it doesn't
break after future updates.
This reverts commit c778945806.
I believe this is exactly what brings the staging branch into
the right shape after the last merge from master (through staging-next);
otherwise part of staging changes would be lost
(due to being already reachable from master but reverted).
Announcements:
- https://docs.mesa3d.org/relnotes/20.2.0.html
- https://docs.mesa3d.org/relnotes/20.2.1.html
I've rebased the patches accordingly and avoided:
meson.build:320: WARNING: Platform `surfaceless` is now always selected; setting this option will be an error in Mesa 20.3
meson.build:324: WARNING: Platform `drm` is now automatically selected; setting this option will be an error in Mesa 20.3
This will also fix the list in the configuration summary:
EGL/Vulkan/VL platforms: x11 surfaceless wayland drm surfaceless drm
The effective change is that "drirc.d/00-mesa-defaults.conf" will now be
installed to $out instead of $drivers and not appear under
"/run/opengl-driver/share/" anymore.
This is done to fix#89421, i.e. so that Mesa will find and load the
included DriConf defaults. The other files in "$drivers/share" will not
be moved to $out as some Nixpkgs logic might depend on them being
available under "/run/opengl-driver/share/" (e.g. addOpenGLRunpath).
Overriding it just for .drivers had the advantage of limiting rebuilds,
but it seems less clean and apparently it can interact a bit surprisingly
with some other overrides. /cc #94444.
Also this will get removed once patchelf gets updated.
Without this, the radv cache uuid would fall back to using the
timestamps of the radv and llvm shared libraries, which are fixed in
/nix/store. This caused cache collisons, which resulted in crashes
(e.g. #92807).