2025-12-25 18:48:23 -08:00
|
|
|
#!/bin/bash
|
2025-12-28 19:09:36 -08:00
|
|
|
# Build script for Linux with CUDA support (falls back to CPU if no GPU)
|
2025-12-25 18:48:23 -08:00
|
|
|
|
|
|
|
|
echo "Building Local Transcription for Linux..."
|
|
|
|
|
echo "========================================="
|
2025-12-28 19:09:36 -08:00
|
|
|
echo ""
|
|
|
|
|
echo "This build includes CUDA support and works on both GPU and CPU systems."
|
|
|
|
|
echo ""
|
2025-12-25 18:48:23 -08:00
|
|
|
|
|
|
|
|
# Clean previous builds
|
|
|
|
|
echo "Cleaning previous builds..."
|
|
|
|
|
rm -rf build dist
|
|
|
|
|
|
2025-12-28 19:09:36 -08:00
|
|
|
# Sync dependencies (uses PyTorch CUDA from pyproject.toml)
|
|
|
|
|
echo "Installing dependencies with CUDA support..."
|
|
|
|
|
uv sync
|
|
|
|
|
|
2025-12-25 18:48:23 -08:00
|
|
|
# Build with PyInstaller
|
2025-12-28 19:32:23 -08:00
|
|
|
# Note: enum34 is excluded in local-transcription.spec
|
2025-12-25 18:48:23 -08:00
|
|
|
echo "Running PyInstaller..."
|
|
|
|
|
uv run pyinstaller local-transcription.spec
|
|
|
|
|
|
|
|
|
|
# Check if build succeeded
|
|
|
|
|
if [ -d "dist/LocalTranscription" ]; then
|
|
|
|
|
echo ""
|
|
|
|
|
echo "✓ Build successful!"
|
|
|
|
|
echo "Executable location: dist/LocalTranscription/LocalTranscription"
|
|
|
|
|
echo ""
|
2025-12-28 19:09:36 -08:00
|
|
|
echo "CUDA Support: YES (automatically falls back to CPU if no GPU detected)"
|
|
|
|
|
echo ""
|
2025-12-25 18:48:23 -08:00
|
|
|
echo "To run the application:"
|
|
|
|
|
echo " cd dist/LocalTranscription"
|
|
|
|
|
echo " ./LocalTranscription"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "To create a distributable package:"
|
|
|
|
|
echo " cd dist"
|
|
|
|
|
echo " tar -czf LocalTranscription-Linux.tar.gz LocalTranscription/"
|
|
|
|
|
else
|
|
|
|
|
echo ""
|
|
|
|
|
echo "✗ Build failed!"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|