GNOME resolves the MPRIS media-widget app icon via DesktopEntry -> the installed <id>.desktop -> Icon=. Rename the Arch desktop file to com.blitzfc.qbz.desktop, set Icon=com.blitzfc.qbz, and install the hicolor icon as com.blitzfc.qbz.png so the basename matches the published DesktopEntry. Other channels (AUR/Gentoo/Snap + Tauri bundle/release workflow) documented in qbz-nix-docs (release-time, build-test required). Flatpak was already correct. cc
50 lines
1.3 KiB
Bash
50 lines
1.3 KiB
Bash
# Maintainer: QBZ Team
|
|
|
|
pkgname=qbz
|
|
pkgver=0.1.0
|
|
pkgrel=1
|
|
pkgdesc="Native Qobuz client for Linux with bit-perfect playback"
|
|
arch=(x86_64)
|
|
url="https://github.com/vicrodh/qbz"
|
|
license=(MIT)
|
|
depends=(
|
|
alsa-lib
|
|
gtk3
|
|
libappindicator-gtk3
|
|
libxkbcommon
|
|
openssl
|
|
webkit2gtk
|
|
)
|
|
makedepends=(
|
|
nodejs
|
|
npm
|
|
rust
|
|
cargo
|
|
pkgconf
|
|
clang
|
|
)
|
|
optdepends=(
|
|
'alsa-utils: Required for bit-perfect device detection and better ALSA device names'
|
|
'pipewire-alsa: PipeWire audio support'
|
|
'pipewire-pulse: PulseAudio compatibility'
|
|
)
|
|
source=("https://github.com/vicrodh/qbz/archive/refs/tags/v${pkgver}.tar.gz")
|
|
sha256sums=('SKIP')
|
|
|
|
build() {
|
|
cd "${srcdir}/qbz-${pkgver}"
|
|
npm ci
|
|
npm run build
|
|
npx tauri build --no-bundle
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/qbz-${pkgver}"
|
|
install -Dm755 src-tauri/target/release/qbz "${pkgdir}/usr/bin/qbz"
|
|
# .desktop basename and Icon MUST be the app-id so GNOME resolves the MPRIS
|
|
# app icon (MPRIS DesktopEntry = com.blitzfc.qbz → <id>.desktop → Icon=).
|
|
install -Dm644 packaging/arch/com.blitzfc.qbz.desktop "${pkgdir}/usr/share/applications/com.blitzfc.qbz.desktop"
|
|
install -Dm644 src-tauri/icons/128x128.png "${pkgdir}/usr/share/icons/hicolor/128x128/apps/com.blitzfc.qbz.png"
|
|
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
|
}
|