#!/usr/bin/env bash # Compila gitswarm a un binario standalone con Nuitka. # Requisitos del sistema: python3-dev, gcc, patchelf (ver README). set -euo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" cd "$HERE" if [ ! -d .venv ]; then echo "[build] creando venv…" python3 -m venv .venv .venv/bin/pip install --quiet --upgrade pip .venv/bin/pip install --quiet -r requirements.txt fi if ! .venv/bin/python -c "import nuitka" 2>/dev/null; then echo "[build] instalando nuitka en el venv…" .venv/bin/pip install --quiet nuitka fi echo "[build] limpiando artefactos previos…" rm -rf dist build gitswarm.build gitswarm.dist gitswarm.onefile-build echo "[build] compilando (esto puede tardar 1-2 min)…" .venv/bin/python -m nuitka \ --onefile \ --assume-yes-for-downloads \ --output-dir=dist \ --output-filename=gitswarm \ --remove-output \ --lto=yes \ --include-package=rich \ gitswarm.py echo "[build] hecho:" ls -lh dist/gitswarm echo "[build] instalar con: cp dist/gitswarm ~/.local/bin/"