mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 13:47:47 +01:00
fee[dB]ack has no AUR entry, so install_feedback.sh builds a local package from the PKGBUILD tracked beside it, the same way hypersomnia-appimage and jackify-bin are installed here. The script only builds and then prints the `sudo pacman -U` line to run, since interactive sudo prompts belong to the user rather than an agent. The built .pkg.tar.zst is ~640 MB, so it is gitignored along with the Bottles prefixes and the archwiki_rag vector index — all three are local runtime state that is regenerable and must never enter the history (see memories/binary-files.md). The PKGBUILD and the installer are the source and stay tracked. Exclude PKGBUILDs from shellcheck. A PKGBUILD is a makepkg manifest, not a standalone script: it has no shebang by design, pkgname/pkgver/ source/sha512sums are read by makepkg, and pkgdir/srcdir are injected by it, so shellcheck flags every one as unused or undefined. The same reasoning already excludes zsh — the dialect is outside what shellcheck can judge — and the alternative was a directive on nearly every line. Also drops three stray files: a saved search-results page, a 0-byte file from a mistyped redirect, and a June i3 config backup superseded by git. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YQLwdquDCNmWtvgi3Lk72J
51 lines
2.4 KiB
Bash
51 lines
2.4 KiB
Bash
# 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
|
|
}
|