mesa/src
Paolo Bonzini 8ea232a9ae meson: rename Rust subprojects to NAME-SEMVER-rs
Use the convention for Rust subprojects that was adopted by Meson 1.5.0
and newer.

Distros would prefer to avoid vendored crate sources, and instead use
local sources from e.g. /usr/share/cargo/registry.  While Meson does not
support a local registry, it can be emulated with MESON_PACKAGE_CACHE_DIR.

However, because the distro might not be using the exact version of the
package, but only one that has the same semver, packagers need to add
some hacks to rewrite the wrap files.  For example, in Fedora:

    export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
    # So... Meson can't actually find them without tweaks
    %define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*)
    %define rewrite_wrap_file() sed -e "/source.*/d" -e "s/%{1}-.*/%{inst_crate_nameversion %{1}}/" -i subprojects/%{1}.wrap
    %rewrite_wrap_file proc-macro2
    %rewrite_wrap_file quote
    %rewrite_wrap_file syn
    %rewrite_wrap_file unicode-ident
    %rewrite_wrap_file paste

Having a common convention for the name of Rust wraps makes it possible
to perform this transformation with a script without listing
the wraps one by one, and to share the script across multiple packages
(which will be useful when QEMU starts using Rust in a similar way to Mesa).

For an example of such a script, see
https://lore.kernel.org/r/20250722083507.678542-1-pbonzini@redhat.com/.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36284>
2025-07-24 17:52:34 +00:00
..
amd radeonsi/ci: Remove Fluster flakes, document failures 2025-07-24 15:04:38 +00:00
android_stub
asahi treewide: use SWAP macro 2025-07-23 19:49:47 +00:00
broadcom broadcom/ci: document recent flakes 2025-07-23 15:30:52 +00:00
c11 c11: use SPDX-License-Identifier header 2025-01-08 20:37:51 +00:00
compiler meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
drm-shim
egl egl/x11: don't leak device_name when choosing zink 2025-07-22 13:23:56 +00:00
etnaviv meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
freedreno ir3/cp: disable cat3 hw bug workaround on a6xx+ 2025-07-23 19:08:30 +00:00
gallium lima: replace NIR_PASS_V with NIR_PASS(_, ...) 2025-07-24 17:19:56 +00:00
gbm gbm: Add more formats 2025-07-15 12:37:10 +00:00
getopt
gfxstream gfxstream: Add init+tracking for the host-equivalent queue_family 2025-07-24 15:58:30 +00:00
glx dri: Get rid of __DRIbackgroundCallableExtension 2025-07-16 01:32:56 +00:00
gtest
imagination pvr/rogue: replace NIR_PASS_V with NIR_PASS(_, ...) 2025-07-23 14:00:51 +00:00
imgui
intel anv: fix format compatibility check typo 2025-07-24 00:11:29 +00:00
loader loader: Ignore NOUVEAU_USE_ZINK on Hopper+ 2025-07-23 20:19:38 +00:00
mapi mesa: support NV_timeline_semaphore 2025-07-07 21:18:29 +00:00
mesa treewide: use SWAP macro 2025-07-23 19:49:47 +00:00
microsoft dzn: use common SWAP 2025-07-23 19:49:47 +00:00
nouveau meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
panfrost panvk: Advertise VK_EXT_mutable_descriptor_type on v9+ 2025-07-23 12:54:24 +00:00
tool pps: Generate libgpudataprofiling.so from pps-producer sources for Android CTS 2025-07-15 20:29:57 +00:00
util meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
virtio meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
vulkan anti-lag: Submit timestamps early in a frame. 2025-07-24 09:50:08 +00:00
x11 x11: Add an x11_xlib_display_is_thread_safe() helper 2025-07-16 01:32:56 +00:00
.clang-format nir: add ALU reassocation pass 2025-07-22 23:17:01 +00:00
meson.build meson: Only build src/x11 if with_platform_x11 2025-07-16 01:32:55 +00:00