diff --git a/docs/CODEMAP.md b/docs/CODEMAP.md index dd2f7a5..2a6f96e 100644 --- a/docs/CODEMAP.md +++ b/docs/CODEMAP.md @@ -49,6 +49,17 @@ pub const RS_PUB_KEY: &str = "OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmBw="; Flutter 3.24.5, NDK r28c, cargo-ndk 3.1.2, Rust android-таргеты, vcpkg android-триплеты (oboe, cpu-features, ffmpeg host=false). Публикация APK: gitea release + F-Droid (шаблон GusVoice). +## Грабли: прокси и vcpkg (GUSIK-PC) +На машине в env задан `NO_PROXY=...,192.168.5.0/24,...` (CIDR). WinHTTP-загрузчик vcpkg (и +`bootstrap.ps1`) не парсит CIDR → падает с `WinHttpSetOption/WinHttpOpen error 87/0x57` на первом же +скачивании (nasm и т.п.). У машины есть прямой интернет (`netsh winhttp` = Direct, HEAD к nasm.us = 200), +поэтому `build-windows.ps1` **очищает HTTP(S)_PROXY/NO_PROXY для процесса** сборки — качается напрямую. +vcpkg.exe тоже качали вручную через IWR (bootstrap не смог) — лежит в `S:\dev\vcpkg\vcpkg.exe` (tool 2025-07-21). + +## Тулчейн (фактические пути на GUSIK-PC) +Flutter: `S:\dev\flutter` · vcpkg: `S:\dev\vcpkg` (VCPKG_ROOT) · libclang: из VS BuildTools +`...\VC\Tools\Llvm\x64\bin` · Rust 1.75 (rustup override в клоне) · MSVC 14.44 из vcvars64. + ## Секреты в CI (gitea Actions) `RUSTDESK_SERVER`, `RUSTDESK_PUB_KEY`, (опц.) `RUSTDESK_API_SERVER`. Префикс имён — не `GITHUB_`/`GITEA_` (зарезервированы), при необходимости `GT_`. diff --git a/scripts/build-windows.ps1 b/scripts/build-windows.ps1 index 8e97e7f..a94d7af 100644 --- a/scripts/build-windows.ps1 +++ b/scripts/build-windows.ps1 @@ -46,6 +46,10 @@ $vcvars = Join-Path $vsPath 'VC\Auxiliary\Build\vcvars64.bat' Write-Host "Импорт VS dev-env: $vcvars" -ForegroundColor DarkCyan cmd /c "`"$vcvars`" >nul && set" | ForEach-Object { if ($_ -match '^([^=]+)=(.*)$') { Set-Item "Env:$($matches[1])" $matches[2] } } +# CIDR в NO_PROXY (напр. 192.168.5.0/24) ломает WinHTTP-загрузчик vcpkg (WinHttpSetOption 87). +# У машины есть прямой интернет -> убираем прокси-env для процесса сборки (системные настройки не трогаем). +foreach ($p in 'HTTP_PROXY','HTTPS_PROXY','NO_PROXY','ALL_PROXY','http_proxy','https_proxy','no_proxy') { Set-Item "Env:$p" $null -EA SilentlyContinue } + # --- env тулчейна на сессию --- $env:VCPKG_ROOT = $VcpkgRoot $env:VCPKGRS_TRIPLET = $TRIPLET # для vcpkg-rs крейтов (статик-триплет)