85 lines
2.0 KiB
YAML
85 lines
2.0 KiB
YAML
# QBZ Snap package configuration
|
|
|
|
name: qbz
|
|
version: '1.1.8'
|
|
summary: Native Qobuz client for Linux with bit-perfect audio
|
|
description: |
|
|
QBZ is a native Qobuz streaming client for Linux, designed for audiophiles
|
|
who need bit-perfect playback without browser sample rate limitations.
|
|
|
|
Features:
|
|
- Bit-perfect hi-res audio playback (up to 192kHz/24-bit)
|
|
- DAC Passthrough for automatic sample rate switching
|
|
- ALSA Direct backend for exclusive hardware access
|
|
- PipeWire and PulseAudio support
|
|
- Last.fm scrobbling
|
|
- Chromecast and DLNA casting
|
|
- Offline mode with local library support
|
|
|
|
grade: stable
|
|
confinement: strict
|
|
base: core22
|
|
icon: snap/gui/qbz.png
|
|
|
|
architectures:
|
|
- build-on: amd64
|
|
|
|
apps:
|
|
qbz:
|
|
command: bin/qbz
|
|
desktop: snap/gui/qbz.desktop
|
|
extensions: [gnome]
|
|
plugs:
|
|
- network
|
|
- audio-playback
|
|
- home
|
|
- removable-media
|
|
- desktop
|
|
- desktop-legacy
|
|
- wayland
|
|
- x11
|
|
- unity7
|
|
- gsettings
|
|
- pulseaudio
|
|
- alsa
|
|
|
|
parts:
|
|
qbz:
|
|
plugin: rust
|
|
source: https://github.com/vicrodh/qbz.git
|
|
source-tag: v1.1.8
|
|
build-packages:
|
|
- libwebkit2gtk-4.1-dev
|
|
- libgtk-3-dev
|
|
- libayatana-appindicator3-dev
|
|
- librsvg2-dev
|
|
- patchelf
|
|
- libssl-dev
|
|
- libasound2-dev
|
|
- pkg-config
|
|
# alsa-utils for aplay command (device enumeration)
|
|
- alsa-utils
|
|
stage-packages:
|
|
- libwebkit2gtk-4.1-0
|
|
- libgtk-3-0
|
|
- libayatana-appindicator3-1
|
|
- libasound2
|
|
- libssl3
|
|
# Include alsa-utils in the snap for aplay -L command
|
|
- alsa-utils
|
|
override-build: |
|
|
# Install Node.js for frontend build
|
|
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
|
apt-get install -y nodejs
|
|
|
|
# Build frontend
|
|
npm ci
|
|
npm run build
|
|
|
|
# Build Tauri backend
|
|
cargo build --release --manifest-path src-tauri/Cargo.toml
|
|
|
|
# Install binary
|
|
mkdir -p $SNAPCRAFT_PART_INSTALL/bin
|
|
cp src-tauri/target/release/qbz-nix $SNAPCRAFT_PART_INSTALL/bin/qbz
|