GraphiteEditor / GraphiteEditor/Graphite
Dependency uses nightly toolchain even when building app with stable toolchain
- 主要语言
- Rust
- 星标
- 27.2k
- 派生
- 1.3k
- 平均合并
- 20 小时 5 分钟
- 30 天内合并 PR
- 57
描述
Singe the topic came up in #4227 of an immanent stable release, I had another look at the Arch Linux packaging (currently the Git HEAD based VCS package in the AUR, but with an eye to making an official stable package when the time comes). I tried building it with a stable Rust toolchain but it fails:
```
error: failed to run custom build command for `raster-nodes-shaders v0.1.0 (/build/graphite-editor-git/src/graphite-editor-git/node-graph/nodes/raster/shaders)`
Caused by:
process didn't exit successfully: `/build/graphite-editor-git/src/graphite-editor-git/target/release/build/raster-nodes-shaders-0590a2ab379ae769/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=RASTER_NODES_SHADER_PATH
cargo:rerun-if-env-changed=RUST_GPU_PATH_OVERRIDE
cargo:rerun-if-env-changed=RUSTC_CODEGEN_SPIRV_PATH
--- stderr
[2026-06-12T09:33:05Z INFO cargo_gpu_install::install] cache directory is '/build/.cache/rust-gpu'
[2026-06-12T09:33:05Z DEBUG cargo_gpu_install::spirv_source] Running `cargo metadata` on `/build/graphite-editor-git/src/graphite-editor-git/node-graph/nodes/raster/shaders/entrypoint`
[2026-06-12T09:33:05Z DEBUG cargo_gpu_install::spirv_source] Parsed `rust-gpu` source and version: CratesIO(Version { major: 0, minor: 10, patch: 0, pre: Prerelease("alpha.1") })
[2026-06-12T09:33:05Z DEBUG cargo_gpu_install::spirv_source] Parsed `SpirvSource` from crate `/build/graphite-editor-git/src/graphite-editor-git/node-graph/nodes/raster/shaders/entrypoint`: CratesIO(Version { major: 0, minor: 10, patch: 0, pre: Prerelease("alpha.1") })
[2026-06-12T09:33:05Z DEBUG cargo_gpu_install::install] writing `rustc_codegen_spirv_dummy` source files into '/build/.cache/rust-gpu/codegen/0_10_0-alpha_1'
[2026-06-12T09:33:05Z DEBUG cargo_gpu_install::install] resolving toolchain version to use
[2026-06-12T09:33:05Z DEBUG cargo_gpu_install::spirv_source] Running `cargo metadata` on `/build/.cache/rust-gpu/codegen/0_10_0-alpha_1`
[2026-06-12T09:33:09Z DEBUG cargo_gpu_install::spirv_source] Parsing `build.rs` at "/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_codegen_spirv-0.10.0-alpha.1/build.rs" for the used toolchain
[2026-06-12T09:33:09Z INFO cargo_gpu_install::install] selected toolchain channel `"nightly-2026-04-11"`
[2026-06-12T09:33:09Z DEBUG cargo_gpu_install::install] ensure_toolchain_and_components_exist
Error: ensuring toolchain and components exist
Caused by:
0: Failed to launch cmd `rustup toolchain list -q`
1: No such file or directory (os error 2)
```
I would suggest this needs to get addressed before release so the whole thing can be built with a single stable toolchain, not some pinned nightly if possible. If not possible this needs to be better documented. In that event I would also suggest setting the main project toolchain defaults to match this deep dependency so that the build requirements were clear upfront and the whole thing is built with the same toolchain instead of mixing and matching.
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 node-graph/nodes/raster/shaders 开始,检查 entrypoint 元数据,以及 rustc_codegen_spirv 中用于选择 toolchain 的 build.rs 逻辑。使用 stable toolchain 重现构建,并检查 cargo_gpu_install 的输出和 rustup 调用。完成的标准是项目能够使用一个 stable toolchain 构建,或者所需的 nightly toolchain 已得到明确记录并被一致地选中。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- build-system
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100