# Maintainer: Warlock Studio # Contributor: Ivan Ayub # Arch Linux PKGBUILD — builds Warlock Studio from source using PyInstaller # ============================================================================= # This PKGBUILD is provided for reference / self-build. For AUR submission # replace pkgver() with the actual release tag and uncomment source=() array. # ============================================================================= pkgname=warlock-studio pkgver=6.0 pkgrel=1 pkgdesc="AI-powered video upscaling, restoration, denoising and frame interpolation" arch=('x86_64') url="https://github.com/Ivan-Ayub97/Warlock-Studio" license=('MIT') depends=( 'python' 'python-pip' 'python-customtkinter' 'python-opencv' 'python-numpy' 'python-pillow' 'python-moviepy' 'python-natsort' 'python-packaging' 'python-psutil' 'python-requests' 'python-tkinterdnd2' 'tk' 'onnxruntime-opt' # or onnxruntime for CPU-only 'ffmpeg' 'libxkbcommon' 'libxcb' 'libgl' ) makedepends=( 'python-build' 'python-installer' 'python-wheel' 'python-pyinstaller' ) optdepends=( 'python-onnxruntime-opt: GPU-accelerated ONNX inference (CUDA)' 'python-onnxruntime-directml: DirectML backend for Windows (not applicable)' ) conflicts=() provides=("${pkgname}") source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz") sha256sums=('SKIP') validpgpkeys=() build() { cd "${srcdir}/${pkgname}-${pkgver}" # Install Python dependencies into temporary venv for PyInstaller python -m venv --system-site-packages _buildenv source _buildenv/bin/activate pip install --no-input --no-cache-dir -r requirements.txt pip install --no-input --no-cache-dir pyinstaller # Build with PyInstaller pyinstaller Warlock-Studio.spec --noconfirm deactivate rm -rf _buildenv } package() { cd "${srcdir}/${pkgname}-${pkgver}" # Install into /opt/warlock-studio install -dm755 "${pkgdir}/opt/warlock-studio" cp -r dist/Warlock-Studio/* "${pkgdir}/opt/warlock-studio/" # Desktop entry install -dm755 "${pkgdir}/usr/share/applications" cat > "${pkgdir}/usr/share/applications/warlock-studio.desktop" << EOF [Desktop Entry] Name=Warlock Studio Comment=AI-powered video upscaling, restoration and frame interpolation Exec=/opt/warlock-studio/Warlock-Studio Icon=warlock-studio Terminal=false Type=Application Categories=Graphics;Video;AudioVideo; StartupWMClass=Warlock-Studio EOF # Icon install -dm755 "${pkgdir}/usr/share/icons/hicolor/256x256/apps" install -m644 logo.ico "${pkgdir}/usr/share/icons/hicolor/256x256/apps/warlock-studio.ico" 2>/dev/null || true # Symlink to PATH install -dm755 "${pkgdir}/usr/bin" ln -sf "/opt/warlock-studio/Warlock-Studio" "${pkgdir}/usr/bin/warlock-studio" # License install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" 2>/dev/null || true } # vim:set ts=2 sw=2 et: