# Maintainer: kuhy (local-only package, not published to the AUR) # fee[dB]ack has no AUR entry; this PKGBUILD packages the upstream GitHub # release AppImage the same way hypersomnia-appimage/jackify-bin are # packaged on this box: extracted into /opt, symlinked into /usr/bin, with # a discovered (not hardcoded) .desktop entry and icon theme tree. pkgname=feedback-appimage pkgver=0.3.0.alpha1 pkgrel=1 pkgdesc="fee[dB]ack desktop app with integrated audio engine, VST hosting, and amp modeling" arch=('x86_64') url="https://got-feedback.org/" license=('AGPL3') depends=('fuse2') options=(!strip) # stripping corrupts the AppImage's embedded ELF/squashfs layout source=("https://github.com/got-feedback/feedBack-desktop/releases/download/v0.3.0-alpha.1/feedback-0.3.0-x86_64.AppImage") # Pinned for real (unlike upstream examples that use SKIP) so a future # pkgver bump that silently changes the release asset fails the build # loudly instead of installing an unverified binary. sha512sums=('d4c664ed5fe2052635dd6741579a19f521cb22e6b5c88edf5ac5c4e22226656113d7e613a996bd5ed59f05a229a07dbad421b6ac18212bcd94073a818efd3953') _filename="feedback-0.3.0-x86_64.AppImage" _install_path="/opt/feedback/feedback" package() { chmod +x "${_filename}" ./"${_filename}" --appimage-extract >/dev/null 2>&1 # Discover the bundled .desktop file rather than hardcode its name - # upstream's internal AppImage layout isn't a stable contract across releases. local desktop_file desktop_file=$(find squashfs-root -maxdepth 1 -iname '*.desktop' | head -1) [[ -n "$desktop_file" ]] || { echo "feedback-appimage: no bundled .desktop file found in AppImage" >&2; return 1; } install -Dm755 "${_filename}" "${pkgdir}${_install_path}" install -dm755 "${pkgdir}/usr/bin" ln -s "${_install_path}" "${pkgdir}/usr/bin/feedback" install -Dm644 "$desktop_file" "${pkgdir}/usr/share/applications/feedback-appimage.desktop" # Bundled Exec points at the AppImage's own AppRun wrapper; point it at # the installed symlink instead, keeping the upstream --no-sandbox flag. sed -i 's|^Exec=.*|Exec=feedback --no-sandbox %U|' "${pkgdir}/usr/share/applications/feedback-appimage.desktop" if [[ -d squashfs-root/usr/share/icons/hicolor ]]; then install -dm755 "${pkgdir}/usr/share/icons" cp -a squashfs-root/usr/share/icons/hicolor "${pkgdir}/usr/share/icons/" find "${pkgdir}/usr/share/icons/hicolor" -type d -exec chmod 755 {} \; find "${pkgdir}/usr/share/icons/hicolor" -type f -exec chmod 644 {} \; fi }