mesa: define peripheral support for src/util/rust
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

This creates a concept of "peripheral" for Rust crates housed in
Mesa, and "unofficially" uploaded to crates.io by subcommunities
of Mesa.  This is modeled on LLVM's peripheral versus core
support concept:

https://llvm.org/docs/SupportPolicy.html

This allows use of the mesa3d_util crate without vendoring it.
This is a desire of the crosvm maintainers (crrev.com/c/6594760).

This also formally defines CODEOWNERS to be the projected uploaders
of the mesa3d_util crate.  Everyone of course is encouraged to make
changes, but that just gives us a heads-up to update the downstream
imports of mesa3d_util.

The Cargo.toml file is not added here, since Meson is the only
officially supported build system of the Mesa3D project.

Reviewed-by: Marcin Radomski <dextero@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36276>
This commit is contained in:
Gurchetan Singh 2025-07-21 17:58:27 -07:00 committed by Marge Bot
parent 8d899622b6
commit 2f5e37f72e
2 changed files with 27 additions and 0 deletions

View file

@ -156,3 +156,6 @@ gitlab-ci*.yml @eric
# VMware
/src/gallium/drivers/svga/ @brianp @charmainel
/src/gallium/winsys/svga/ @thomash @drawat
# Rust util: peripherally uploaded to crates.io
src/util/rust @gurchetansingh @aruby @jmacnak @dextero1

View file

@ -31,3 +31,27 @@ following those rules:
As bug fixes might run into rustc compiler bugs, a rust version bump _can_
happen on a stable branch as well.
Peripheral Support for crates.io uploads
----------------------------------------
Certain Mesa crates are uploaded to crates.io at the discretion of certain
sub-communities of Mesa. These crates are:
- https://crates.io/crates/mesa3d_util
These crates are used as dependencies to other Rust-based projects, such as:
- https://crates.io/crates/rutabaga_gfx/0.1.61/dependencies
This is not supported by the "core" Mesa quarterly release cycles, and the
official Mesa maintainers are not liable for use or mis-use of the crates.
Please contact the relevant sub-community before using these crates outside
of Mesa3D.
Official Mesa distribution of crates will likely have wait until improvements
are made in the Meson build system:
- https://github.com/mesonbuild/meson/issues/2173
The Meson build system is the only build system officially supported by
Mesa3D.