strudel/install.sh
hacklab 7ace286d8a
Some checks are pending
Build and Deploy to warm (strudel.cc) / build (push) Waiting to run
Strudel tests / build (20) (push) Waiting to run
Integra KISUM (audio→Strudel) + pestaña Visor + accesos en la cabecera
- Pestaña KISUM: sube audio/vídeo y lo convierte en código Strudel vía un
  mini-servidor Python local (kisum/, puerto 3010) que arranca el lanzador.
- Pestaña Visor: piano-roll (pentagrama) + osciloscopio + espectro en vivo
  de lo que suena, sin escribir .pianoroll()/.scope().
- Botones en la cabecera: projects, KISUM, visor, ajustes.
- KISUM empaquetado en kisum/ (código, sin venv) + install.sh de un comando
  y lanzador portable (sin rutas absolutas).
- .gitignore excluye venv/cachés/logs de KISUM. Docs en README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-26 18:31:37 +02:00

51 lines
2.2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Instalador todo-en-uno del fork de Strudel (hacklab) + KISUM, para Linux.
# NO descarga nada raro: usa pnpm para Node y venv+pip para KISUM.
#
# git clone https://gitea.laenre.net/hacklab/strudel.git
# cd strudel && ./install.sh && ./strudel-launcher.sh
#
set -euo pipefail
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$DIR"
echo "════════════════════════════════════════════"
echo " Instalador Strudel (fork hacklab) + KISUM"
echo "════════════════════════════════════════════"
# ── Node / pnpm ─────────────────────────────────────────────────────
# Si node no está en el PATH pero hay nvm, lo usamos.
if ! command -v node >/dev/null 2>&1 && [ -d "$HOME/.nvm/versions/node" ]; then
NODE_BIN="$(ls -d "$HOME"/.nvm/versions/node/*/bin 2>/dev/null | sort -V | tail -1)"
[ -n "${NODE_BIN:-}" ] && export PATH="${NODE_BIN}:${PATH}"
fi
if ! command -v node >/dev/null 2>&1; then
echo "ERROR: falta Node.js (>= 20)." >&2
echo " Instálalo con nvm: https://github.com/nvm-sh/nvm" >&2
echo " nvm install 20 && nvm use 20" >&2
exit 1
fi
if ! command -v pnpm >/dev/null 2>&1; then
echo "==> activando pnpm con corepack"
corepack enable pnpm 2>/dev/null || {
echo "ERROR: no pude activar pnpm. Instálalo: npm i -g pnpm" >&2
exit 1
}
fi
echo "==> Strudel: instalando dependencias de Node (pnpm i)…"
pnpm i
echo "==> Strudel: construyendo la web (pnpm build)…"
pnpm build
# ── KISUM (opcional; si falla, Strudel funciona igual) ──────────────
if [ -f "$DIR/kisum/install.sh" ]; then
echo "==> Configurando KISUM (audio → código Strudel)…"
bash "$DIR/kisum/install.sh" || echo "AVISO: KISUM no se instaló del todo. Strudel funciona igual; revisa python3/ffmpeg."
fi
echo
echo "✔ Instalación completa."
echo " Arranca con: ./strudel-launcher.sh"
echo " Strudel: http://127.0.0.1:3009"
echo " KISUM server: http://127.0.0.1:3010 (arranca solo con el lanzador)"