File: rust.rst

package info (click to toggle)
mesa 25.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 322,268 kB
  • sloc: ansic: 2,212,173; xml: 1,032,268; cpp: 519,750; python: 81,988; asm: 40,568; yacc: 11,976; lisp: 5,067; lex: 3,452; sh: 1,049; makefile: 224
file content (57 lines) | stat: -rw-r--r-- 2,058 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Rust
====

Rust Subproject Names
---------------------

All Rust subprojects should follow the convention ``NAME-SEMVER-rs``,
where ``SEMVER`` is the version up to and including the first nonzero
component.  For example, ``zerocopy-0.8.13`` becomes ``zerocopy-0.8-rs``,
whereas ``syn-2.0.66`` becomes ``syn-2-rs``.

Rust Update Policy
------------------

Given that for some distributions it's not feasible to keep up with the
pace of Rust, we promise to only bump the minimum required Rust version
following those rules:

-  Only up to the Rust requirement of other major Linux desktop
   components, e.g.:

   -  `Firefox ESR <https://whattrainisitnow.com/release/?version=esr>`__:
      `Minimum Supported Rust Version:
      <https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html#schedule>`__

   -  latest `Linux Kernel Rust requirement
      <https://docs.kernel.org/process/changes.html#current-minimal-requirements>`__

-  Only require a newer Rust version than stated by other rules if and only
   if it's required to get around a bug inside rustc.

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.