mesa/.gitlab-ci
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
..
bare-metal ci: fix yamllint warnings about whitespace 2025-07-01 16:17:13 +00:00
build egl/wayland: Move bind_wayland_display to legacy build option 2025-07-10 14:51:20 +00:00
ci-tron ci-tron: add ci-tron-arm64-test-{asan,ubsan}-{gl,vk} job templates 2025-07-02 14:42:40 +02:00
common ci/init-stage1: avoid duplicate mounts 2025-07-17 13:16:56 +00:00
container ci: build and install native libwayland 2025-07-22 10:41:00 +00:00
fossils ci: enable shellcheck on whole .gitlab-ci 2023-05-25 16:06:53 +02:00
lava ci/lava: fix heredoc-in-yaml syntax 2025-07-24 08:40:44 +00:00
meson meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
piglit ci: Add a weston.ini 2025-07-10 14:51:20 +00:00
test radeonsi/ci: Convert Fluster job to deqp-runner suite 2025-07-24 15:04:38 +00:00
windows ci: build mediafoundation frontend in windows-msvc 2025-06-05 22:02:01 +00:00
.flake8 ci: update_traces_checksum: fix E501 line too long 2024-12-23 20:47:16 +00:00
all-skips.txt ci/piglit: Consolidate identical skip lists for X11 and gbm 2025-04-11 07:05:06 +00:00
android-cts-runner.sh ci/android: fix exit code from android-cts-runner.sh and android-deqp-runner.sh 2025-07-22 20:49:12 +00:00
android-deqp-runner.sh ci/android: fix exit code from android-cts-runner.sh and android-deqp-runner.sh 2025-07-22 20:49:12 +00:00
android-runner.sh ci/android: fix exit code from android-cts-runner.sh and android-deqp-runner.sh 2025-07-22 20:49:12 +00:00
android-skips.txt virtio/ci: Run additional VKCTS tests on Cuttlefish with Venus+ANV 2025-07-01 14:50:54 +00:00
angle-skips.txt ci: Add global ANGLE skips for its waiver 2024-10-18 20:39:33 +00:00
bin ci: move the CI handling scripts into bin/ci 2022-12-19 16:36:19 +01:00
conditional-build-image-tags.yml Uprev Piglit to 0980079dcfb5adbad873d88e00181268f55cb8ef 2025-07-18 15:33:14 +00:00
create-llvm-meson-wrap-file.sh ci/android: build llvmpipe driver for Android by forcing llvm fallback 2025-01-02 19:31:41 +00:00
cross-xfail-ppc64el ci: update xfails for ppc64le and s390x 2021-03-23 14:01:49 +00:00
cross-xfail-s390x llvmpipe: Use lp_build_round_arch on IBM Z (s390x) 2021-11-23 17:49:02 +00:00
crosvm-init.sh ci: enable shellcheck on whole .gitlab-ci 2023-05-25 16:06:53 +02:00
crosvm-runner.sh ci: Forward all environment variables to DUTs and crosvm 2025-05-26 15:30:47 +00:00
cuttlefish-runner.sh ci/android: Move sourcing setup-test-env.sh before set -uex 2025-06-30 10:15:15 +00:00
deqp-runner.sh radeonsi/ci: Convert Fluster job to deqp-runner suite 2025-07-24 15:04:38 +00:00
docs docs: Move the current CI .rst doc to docs/ci/ and link to it from .gitlab-ci. 2020-07-08 20:13:11 +00:00
download-git-cache.sh ci: use curl instead of wget in download-git-cache.sh 2025-04-24 10:36:00 +00:00
farm-rules.yml ci: document anholt farm as decommissioned 2025-07-10 18:15:36 +00:00
fossilize-runner.sh ci: prune dri from LD_LIBRARY_PATH 2024-07-24 15:53:12 +00:00
fossils.yml gitlab-ci: add parallel-rdp fossils 2020-06-25 08:03:09 +02:00
gtest-runner.sh ci/va: Add /va/bin to PATH for test-video container 2025-04-28 20:08:32 +00:00
image-tags.yml ci/lava: fix heredoc-in-yaml syntax 2025-07-24 08:40:44 +00:00
prepare-artifacts.sh ci/fluster: Move the fluster-runner.sh script 2025-05-03 15:38:32 +02:00
report-flakes.py ci: Add known-flake handling for the IRC flake reports 2021-06-01 20:31:00 +00:00
run-pytest.sh ci/lava: Move lava_job_submitter tests to lava folder 2025-07-17 13:16:56 +00:00
run-shader-db.sh ci: Make section emission really quiet 2024-10-20 11:32:43 +01:00
run-shellcheck.sh ci: move shellcheck options to .shellcheckrc 2024-10-24 22:43:03 +00:00
run-yamllint.sh ci: Crank up the yamllint line length limit. 2023-04-20 02:22:41 +00:00
setup-test-env.sh ci: fix using _section_switch and _uncollapsed_section_switch 2025-07-03 12:04:40 +00:00
test-source-dep.yml ci: fix rustfmt job rules (one more case) 2025-07-23 11:20:19 +00:00
vkd3d-runner.sh ci/vkd3d: Use structured tagging for vkd3d-proton 2025-06-10 06:33:10 +00:00