HaidoDocs

Plataformas

Compilación multiplataforma y targets de Tauri para TPV El Haido

Plataformas Soportadas

TPV El Haido soporta múltiples plataformas gracias a Tauri. Esta guía cubre los targets de compilación y consideraciones específicas de cada plataforma.

Matriz de Plataformas

PlataformaTargetArquitecturaEstado
Windows 10/11x86_64-pc-windows-msvcx64✅ Producción
macOS Intelx86_64-apple-darwinx64✅ Producción
macOS Apple Siliconaarch64-apple-darwinARM64✅ Producción
Linux x64x86_64-unknown-linux-gnux64✅ Producción
Linux ARM64aarch64-unknown-linux-gnuARM64✅ Producción
Raspberry Pi 4/5aarch64-unknown-linux-gnuARM64✅ Producción

Requisitos por Plataforma

Windows

RequisitoVersión
Windows10 o superior
WebView2Incluido en Windows 11, instalable en Windows 10
Visual StudioBuild Tools 2019+

macOS

RequisitoVersión
macOS11 Big Sur o superior
XcodeCommand Line Tools
RustCon target aarch64 para Apple Silicon

Linux

RequisitoPaquete
WebKit2GTKlibwebkit2gtk-4.1-0
GTK3libgtk-3-0
libappindicatorPara system tray
# Ubuntu/Debian sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libappindicator3-dev # Fedora sudo dnf install webkit2gtk4.1-devel gtk3-devel libappindicator-gtk3-devel

Compilación Nativa

Windows

# Desde Windows bun run tauri build # Output: # src-tauri/target/release/bundle/ # ├── msi/TPV El Haido_x.x.x_x64_en-US.msi # └── nsis/TPV El Haido_x.x.x_x64-setup.exe

macOS

# Desde macOS bun run tauri build # Output: # src-tauri/target/release/bundle/ # ├── dmg/TPV El Haido_x.x.x_x64.dmg # Intel # └── dmg/TPV El Haido_x.x.x_aarch64.dmg # Apple Silicon

Linux

# Desde Linux bun run tauri build # Output: # src-tauri/target/release/bundle/ # ├── deb/tpv-el-haido_x.x.x_amd64.deb # └── appimage/tpv-el-haido_x.x.x_amd64.AppImage

Cross-Compilation

Para Raspberry Pi (desde Linux x64)

Instalar toolchain ARM64

# Ubuntu/Debian sudo apt install gcc-aarch64-linux-gnu # Configurar Rust rustup target add aarch64-unknown-linux-gnu

Configurar linker

Crea o edita ~/.cargo/config.toml:

[target.aarch64-unknown-linux-gnu] linker = "aarch64-linux-gnu-gcc"

Compilar

bun run build bun run tauri build --target aarch64-unknown-linux-gnu

Transferir a Raspberry Pi

scp src-tauri/target/aarch64-unknown-linux-gnu/release/bundle/deb/*.deb pi@raspberrypi:~

Para macOS Universal (Intel + Apple Silicon)

# Desde macOS con Apple Silicon rustup target add x86_64-apple-darwin # Build para ambas arquitecturas bun run tauri build --target universal-apple-darwin

Raspberry Pi

Requisitos

RequisitoEspecificación
ModeloRaspberry Pi 4 o 5
SistemaRaspberry Pi OS (64-bit)
RAM2GB mínimo, 4GB recomendado
Almacenamiento8GB mínimo

Instalación

# Descargar el .deb ARM64 wget https://github.com/MKS2508/tpv-el-haido2/releases/latest/download/tpv-el-haido_arm64.deb # Instalar sudo dpkg -i tpv-el-haido_arm64.deb sudo apt-get install -f

Optimizaciones para RPi

# Aumentar GPU memory (raspi-config) sudo raspi-config # → Performance Options → GPU Memory → 256 # Desactivar compositor si hay lag # Raspberry Pi OS → Preferences → Raspberry Pi Configuration → Display # → Disable compositor

Autostart en Raspberry Pi

Para iniciar TPV El Haido automáticamente:

# Crear archivo de autostart mkdir -p ~/.config/autostart cat > ~/.config/autostart/tpv-el-haido.desktop << EOF [Desktop Entry] Type=Application Name=TPV El Haido Exec=tpv-el-haido EOF

Modo Kiosk

Para usar la RPi como terminal dedicado:

# Editar /etc/xdg/lxsession/LXDE-pi/autostart sudo nano /etc/xdg/lxsession/LXDE-pi/autostart # Añadir al final: @tpv-el-haido # Opcional: ocultar cursor después de inactividad @unclutter -idle 0.5 -root

Formatos de Distribución

Windows

FormatoExtensiónDescripción
MSI.msiInstalador Windows Installer
NSIS.exeInstalador clásico Setup.exe

macOS

FormatoExtensiónDescripción
DMG.dmgImagen de disco estándar
App Bundle.appAplicación sin instalador

Linux

FormatoExtensiónDescripción
DEB.debPaquete Debian/Ubuntu
AppImage.AppImagePortable, cualquier distro
RPM.rpmFedora/RHEL (si se configura)

Configuración de Tauri

tauri.conf.json

{ "productName": "TPV El Haido", "version": "0.1.0", "identifier": "com.elhaido.tpv", "bundle": { "active": true, "targets": "all", "icon": [ "icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico" ], "windows": { "certificateThumbprint": null, "digestAlgorithm": "sha256", "timestampUrl": "" }, "macOS": { "minimumSystemVersion": "11.0" }, "linux": { "deb": { "depends": ["libwebkit2gtk-4.1-0", "libgtk-3-0"] } } } }

CI/CD con GitHub Actions

Workflow de Release

# .github/workflows/release.yml name: Release on: push: tags: - 'v*' jobs: build: strategy: matrix: include: - os: windows-latest target: x86_64-pc-windows-msvc - os: macos-latest target: x86_64-apple-darwin - os: macos-latest target: aarch64-apple-darwin - os: ubuntu-latest target: x86_64-unknown-linux-gnu - os: ubuntu-latest target: aarch64-unknown-linux-gnu runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v1 - name: Setup Rust uses: dtolnay/rust-action@stable with: targets: ${{ matrix.target }} - name: Install dependencies run: bun install - name: Build run: bun run tauri build --target ${{ matrix.target }} - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: ${{ matrix.target }} path: src-tauri/target/${{ matrix.target }}/release/bundle/

Firmas y Actualizaciones

Generar Claves

# Generar par de claves Ed25519 bunx tauri signer generate -w ~/.tauri/keys # Output: # - ~/.tauri/keys/tpv-el-haido.key (privada) # - ~/.tauri/keys/tpv-el-haido.key.pub (pública)

Configurar Updater

// tauri.conf.json { "plugins": { "updater": { "active": true, "endpoints": [ "https://github.com/MKS2508/tpv-el-haido2/releases/latest/download/latest.json" ], "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6...", "windows": { "installMode": "passive" } } } }

Siguiente Paso

Actions

On this page