- AUR qbz and qbzd: makedepends jack2 -> jack, so pipewire-jack can satisfy the build-time JACK dependency (both provide `jack`; only jack2 provides `jack2`). - Flathub: bump runtime/SDK from the EOL org.kde.Platform 6.9 to 6.11 (verified available in the KDE flatpak-kde-runtime branches). The binary is built against Qt 6.8 and loads on 6.11 by forward ABI compatibility. (#755) cc
67 lines
2.4 KiB
Bash
67 lines
2.4 KiB
Bash
# Maintainer: blitzkriegfc <blitzkriegfc@gmail.com>
|
|
pkgname=qbzd
|
|
pkgver=0.0.0
|
|
pkgrel=1
|
|
pkgdesc="QBZ headless Qobuz daemon for servers and appliances"
|
|
arch=('x86_64' 'aarch64')
|
|
url="https://github.com/vicrodh/qbz"
|
|
license=('MIT')
|
|
depends=('alsa-lib')
|
|
makedepends=('rust' 'cmake' 'nasm' 'jack')
|
|
# makepkg's GCC LTO objects cannot be consumed from Rust rlibs by rustc's lld.
|
|
options=('!lto' '!debug')
|
|
install=qbzd.install
|
|
optdepends=(
|
|
'pipewire: PipeWire device discovery and sample-rate control'
|
|
'libpulse: PulseAudio device discovery and routing through pactl'
|
|
'jack2: JACK audio backend'
|
|
'xdg-utils: Open the login URL in a browser when one is available'
|
|
)
|
|
provides=('qbzd')
|
|
conflicts=('qbzd-bin' 'qbzd-git')
|
|
source=(
|
|
"qbz-${pkgver}.tar.gz::https://github.com/vicrodh/qbz/archive/refs/tags/v${pkgver}.tar.gz"
|
|
"qbz-${pkgver}-cargo-vendor.tar.xz::https://github.com/vicrodh/qbz/releases/download/v${pkgver}/qbz-${pkgver}-cargo-vendor.tar.xz"
|
|
)
|
|
sha256sums=('SKIP' 'SKIP')
|
|
|
|
prepare() {
|
|
cd "${srcdir}/qbz-${pkgver}"
|
|
mkdir -p .cargo
|
|
printf '%s\n' \
|
|
'[source.crates-io]' \
|
|
'replace-with = "vendored-sources"' \
|
|
'' \
|
|
'[source.vendored-sources]' \
|
|
"directory = \"${srcdir}/qbz-${pkgver}-cargo-vendor\"" \
|
|
'' \
|
|
'[net]' \
|
|
'offline = true' > .cargo/config.toml
|
|
}
|
|
|
|
build() {
|
|
cd "${srcdir}/qbz-${pkgver}"
|
|
cargo build --release --locked --offline \
|
|
--manifest-path crates/Cargo.toml -p qbzd
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/qbz-${pkgver}"
|
|
local binary=crates/target/release/qbzd
|
|
|
|
install -Dm755 "$binary" "${pkgdir}/usr/bin/qbzd"
|
|
install -Dm644 crates/qbzd/service/qbzd.service \
|
|
"${pkgdir}/usr/lib/systemd/user/qbzd.service"
|
|
|
|
"$binary" completions bash > "${srcdir}/qbzd.bash"
|
|
"$binary" completions zsh > "${srcdir}/qbzd.zsh"
|
|
"$binary" completions fish > "${srcdir}/qbzd.fish"
|
|
install -Dm644 "${srcdir}/qbzd.bash" "${pkgdir}/usr/share/bash-completion/completions/qbzd"
|
|
install -Dm644 "${srcdir}/qbzd.zsh" "${pkgdir}/usr/share/zsh/site-functions/_qbzd"
|
|
install -Dm644 "${srcdir}/qbzd.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/qbzd.fish"
|
|
install -Dm644 packaging/linux/qbzd-standalone-README.md \
|
|
"${pkgdir}/usr/share/doc/${pkgname}/README.md"
|
|
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
|
install -Dm644 licenses/* -t "${pkgdir}/usr/share/licenses/${pkgname}/third-party"
|
|
}
|