Обход прокси-затыка vcpkg + факты тулчейна в CODEMAP

CIDR в NO_PROXY ломает WinHTTP-загрузчик vcpkg (err 87); чистим
прокси-env для процесса (есть прямой интернет). Пути тулчейна на
GUSIK-PC зафиксированы в docs/CODEMAP.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 14:35:17 +03:00
parent 1851a72ab6
commit df40e79c0c
2 changed files with 15 additions and 0 deletions
+11
View File
@@ -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-триплеты 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). (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) ## Секреты в CI (gitea Actions)
`RUSTDESK_SERVER`, `RUSTDESK_PUB_KEY`, (опц.) `RUSTDESK_API_SERVER`. Префикс имён — не `GITHUB_`/`GITEA_` `RUSTDESK_SERVER`, `RUSTDESK_PUB_KEY`, (опц.) `RUSTDESK_API_SERVER`. Префикс имён — не `GITHUB_`/`GITEA_`
(зарезервированы), при необходимости `GT_`. (зарезервированы), при необходимости `GT_`.
+4
View File
@@ -46,6 +46,10 @@ $vcvars = Join-Path $vsPath 'VC\Auxiliary\Build\vcvars64.bat'
Write-Host "Импорт VS dev-env: $vcvars" -ForegroundColor DarkCyan Write-Host "Импорт VS dev-env: $vcvars" -ForegroundColor DarkCyan
cmd /c "`"$vcvars`" >nul && set" | ForEach-Object { if ($_ -match '^([^=]+)=(.*)$') { Set-Item "Env:$($matches[1])" $matches[2] } } 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 тулчейна на сессию ---
$env:VCPKG_ROOT = $VcpkgRoot $env:VCPKG_ROOT = $VcpkgRoot
$env:VCPKGRS_TRIPLET = $TRIPLET # для vcpkg-rs крейтов (статик-триплет) $env:VCPKGRS_TRIPLET = $TRIPLET # для vcpkg-rs крейтов (статик-триплет)