RUST.ECLASS
章节: eclass-manpages (5)更新时间: 2024 年 11 月
索引 返回主内容
名称
rust.eclass - 用于针对分段 Rust 构建的实用程序函数描述
一个 eclass,用于可靠地依赖于给定 Rust 分段的 Rust 或 Rust/LLVM 组合。要使用此 eclass1. 如果需要,将 RUST_{MAX,MIN}_SLOT 设置为支持的分段范围。2. 如果 rust 是可选的,则将 RUST_OPTIONAL 设置为非空值,然后
适当地 控制 ${RUST_DEPEND} 3. 使用 rust_pkg_setup、get_rust_prefix 或 RUST_SLOT。
支持的 EAPI
8函数
- _get_rust_slot [-b|-d]
- 查找对软件包可接受的最新 Rust 安装,并打印其版本号(即 SLOT)和类型(源或二进制)。
如果指定了 -b,则检查相对于 BROOT 执行,并返回 BROOT 路径。
如果指定了 -d,则检查相对于 ESYSROOT 执行,并返回 ESYSROOT 路径。-d 是默认值。
如果 RUST_M{AX,IN}_SLOT 非零,则仅考虑不晚于或早于指定分段的 Rust 版本。否则,所有 Rust 版本都被视为可接受。
如果 `rust_check_deps()` 函数在 ebuild 中定义,则会调用它来验证特定分段是否可接受。在函数范围内,将定义 RUST_SLOT 和 LLVM_SLOT。
如果分段可接受,则函数应返回 true 状态,否则返回 false。如果未定义 rust_check_deps(),则该函数默认为检查是否安装了合适的 Rust 软件包。
- get_rust_path 前缀 分段 rust_type
- 给定分段和 rust_type 的参数,返回 Rust 安装的适当路径。rust_type 应为“source”或“binary”。如果 rust_type 不是其中之一,则函数将终止。
- get_rust_prefix [-b|-d]
- 查找对软件包可接受的最新 Rust 安装,并打印到它的绝对路径。如果同时安装了 -bin 和常规 Rust,则优先使用常规 Rust。
选项和行为与 get_rust_slot 相同。
- rust_prepend_path <分段> <类型>
- 将指定 Rust 的路径添加到 PATH 的开头,并重新导出它。
- rust_pkg_setup
- 将对最新可接受 Rust 分段的适当可执行文件目录添加到 PATH 的开头。如果与 LLVM 一起使用,则除了此函数之外,还应进行适当的 `llvm-r1_pkg_setup` 调用。有关路径确定逻辑,请参阅 get_rust_prefix 文档。
最高可接受的 Rust 分段可以在 RUST_MAX_VER 变量中设置。如果未设置或为空,则任何分段都可接受。
最低可接受的 Rust 分段可以在 RUST_MIN_VER 变量中设置。如果未设置或为空,则任何分段都可接受。
`CARGO` 和 `RUSTC` 变量针对选定的分段进行设置并导出。
PATH 操作仅对源代码构建执行。安装二进制软件包时,该函数为无操作。
如果需要任何其他行为,则应将函数的内容内联到 ebuild 中并根据需要进行修改。
ECLASS 变量
- RUST_MAX_VER
- 软件包支持的最高 Rust 分段。需要在调用 rust_pkg_setup 之前设置。如果未设置,则假定没有上限。
- RUST_MIN_VER
- 软件包支持的最低 Rust 分段。需要在调用 rust_pkg_setup 之前设置。如果未设置,则假定没有下限。
- RUST_DEPEND(由 ECLASS 生成)
- 这是一个由 eclass 生成的 Rust 依赖项字符串,由 RUST_MAX_VER 和 RUST_MIN_VER 过滤。如果设置了 RUST_NEEDS_LLVM,则将其分组并由 LLVM_COMPAT 中列出的所有实现的适当 `llvm_slot_x` USE 控制。
- RUST_OPTIONAL
- 如果设置为非空值,则不会将 Rust 依赖项添加到 BDEPEND。这对于软件包需要自行控制 rust 后面的某些 USE 的情况很有用。
- RUST_REQ_USE
- 要添加到 Rust 依赖项的其他 USE 依赖项。这对于需要依赖于特定 Rust 功能(如 clippy 或 rustfmt)的软件包很有用。在变量用于 Rust 依赖项之前会对其进行扩展。
作者
Matt Jolly <[email protected]>维护者
Matt Jolly <[email protected]>报告 Bug
请通过 https://bugs.gentoo.org/ 报告 Bug。文件
rust.eclass另请参见
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/rust.eclass
索引
此文档由 man2html 使用手册页创建。
时间: 2024 年 11 月 12 日格林威治标准时间 03:27:01