32 lines
1.5 KiB
Bash
32 lines
1.5 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Convenience launcher for the MineSeeker GTK4 desktop client.
|
||
|
|
# Creates the venv on first run, then launches main.py.
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
VENV="$SCRIPT_DIR/.venv"
|
||
|
|
PYTHON="$VENV/bin/python"
|
||
|
|
|
||
|
|
# ── Create venv if missing ──────────────────────────────────────────────────
|
||
|
|
if [ ! -f "$PYTHON" ]; then
|
||
|
|
echo "[run.sh] Creating venv with --system-site-packages…"
|
||
|
|
python3 -m venv --system-site-packages "$VENV"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# ── Install / update pure-Python deps ──────────────────────────────────────
|
||
|
|
echo "[run.sh] Installing dependencies…"
|
||
|
|
"$VENV/bin/pip" install --quiet requests sseclient-py python-dotenv
|
||
|
|
|
||
|
|
# ── Check .env ──────────────────────────────────────────────────────────────
|
||
|
|
if [ ! -f "$SCRIPT_DIR/.env" ]; then
|
||
|
|
echo ""
|
||
|
|
echo "ERROR: $SCRIPT_DIR/.env not found."
|
||
|
|
echo "Copy .env.example to .env and set MINESEEKER_BASE_URL."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# ── Launch ──────────────────────────────────────────────────────────────────
|
||
|
|
echo "[run.sh] Starting MineSeeker…"
|
||
|
|
exec "$PYTHON" "$SCRIPT_DIR/main.py" "$@"
|