#!/bin/bash
set -euo pipefail
source "$(dirname "$0")/lib.sh"

if [[ "${SKIP_DIREWOLF_BUILD:-}" == "yes" ]] && command -v direwolf >/dev/null 2>&1; then
    warn "SKIP_DIREWOLF_BUILD=yes and direwolf already present — skipping build"
else
    log "Building Direwolf from source (GPSD + cm108 support)..."
    BUILD_DIR="/tmp/direwolf-build-$$"
    rm -rf "$BUILD_DIR"
    git clone --depth 1 https://github.com/wb2osz/direwolf.git "$BUILD_DIR"
    # Ensure libgps available for GPSD support
    sudo apt-get install -y libgps-dev || true
    cmake -S "$BUILD_DIR" -B "$BUILD_DIR/build"
    cmake --build "$BUILD_DIR/build" -j"$(nproc)"
    sudo cmake --install "$BUILD_DIR/build"
    rm -rf "$BUILD_DIR"
    log "Direwolf installed: $(direwolf -V 2>&1 | head -1 || true)"
fi

log "Installing direwolf.conf for ${HAM_USER}..."
template_install \
    "${ROOT}/configs/direwolf.conf" \
    "${HAM_HOME}/direwolf.conf"
sudo chown "${HAM_USER}:${HAM_USER}" "${HAM_HOME}/direwolf.conf"

log "Direwolf step complete"
