Добавить flutter_rust_bridge codegen перед сборкой
RustDesk не коммитит src/bridge_generated.rs -> cargo build падал E0583/E0277. Встроил шаг codegen (FRB 1.80.1 + cargo-expand 1.0.95, RUSTC_BOOTSTRAP=1) в build-windows.ps1; пины в upstream.txt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,20 @@ pub const RS_PUB_KEY: &str = "OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmBw=";
|
||||
**ffmpeg** (static, features amf/nvcodec/qsv — hwcodec). ffmpeg/aom — длинная первая компиляция.
|
||||
- Сборка: `python build.py --flutter` (флаги: `--hwcodec`, `--portable`, `--vram`, `--skip-cargo`).
|
||||
|
||||
### Грабля: bridge_generated.rs (обязательный codegen)
|
||||
RustDesk **не коммитит** `src/bridge_generated.rs` (`lib.rs` объявляет `mod bridge_generated;`). Без
|
||||
генерации cargo build падает: `E0583 file not found for module bridge_generated` + `E0277 EventToUI:
|
||||
IntoIntoDart`. Генерится `flutter_rust_bridge_codegen` (в CI RustDesk — отдельный `bridge.yml`):
|
||||
```
|
||||
cargo +stable install cargo-expand --version 1.0.95 --locked
|
||||
cargo +stable install flutter_rust_bridge_codegen --version 1.80.1 --features uuid --locked
|
||||
pushd flutter && flutter pub get && popd
|
||||
RUSTC_BOOTSTRAP=1 flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs \
|
||||
--dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h
|
||||
```
|
||||
Пины FRB_VERSION/CARGO_EXPAND_VERSION — в `upstream.txt`. Шаг встроен в `build-windows.ps1` перед build.py.
|
||||
RUSTC_BOOTSTRAP=1 нужен, т.к. cargo-expand требует nightly-фич, а тулчейн 1.75 stable.
|
||||
|
||||
### Открытый вопрос (решить при первой сборке)
|
||||
Апстрим для Windows-x64 подменяет flutter-engine кастомным `windows-x64-release.zip` (ради Win7).
|
||||
Для таргета Win10/11, вероятно, можно оставить стоковый engine 3.24.5 и пропустить подмену — проверить,
|
||||
|
||||
Reference in New Issue
Block a user