#!/bin/bash
# Компиляция hbbs (с gate.patch) и hbbr. Запускается внутри контейнера rust:1.90-bookworm
# с лимитами памяти и процессора (см. deploy/build-hbbs.sh). Результат — /work/out/{hbbs,hbbr}.
set -euo pipefail
TAG="${RUSTDESK_SERVER_TAG:-1.1.16}"
rm -rf /work/src && mkdir -p /work/out
git clone -q --depth 1 --branch "$TAG" --recurse-submodules --shallow-submodules \
  https://github.com/rustdesk/rustdesk-server.git /work/src
cd /work/src
git apply --index /work/gate.patch
git diff --cached --stat
# В протоколе сервера 1.1.16 нет поля прав — добавляем как в клиенте 1.5.0.
git -C libs/hbb_common apply /work/proto.patch
git -C libs/hbb_common diff --stat
export CARGO_BUILD_JOBS=1 CARGO_TARGET_DIR=/work/target
nice -n 19 cargo build --release --locked --bin hbbs --bin hbbr
cp /work/target/release/hbbs /work/target/release/hbbr /work/out/
/work/out/hbbs --version || true
echo BUILD_OK
