Parity with the published Flathub manifest (repack flow, PR #49), which already ships without it. The Flathub repo manifest is untouched. km
96 lines
4.0 KiB
YAML
96 lines
4.0 KiB
YAML
# Flatpak manifest — GitHub Releases bundle (network build).
|
|
#
|
|
# Rewritten 2026-07-02 for the Tauri -> Slint migration (v2.0): builds the
|
|
# crates/ workspace with the rust-stable SDK extension. The node SDK, the
|
|
# whole intltool/libdbusmenu/libayatana-appindicator module chain and the
|
|
# lib64 workaround are gone — the Slint tray is ksni (pure Rust over D-Bus),
|
|
# no C appindicator involved.
|
|
#
|
|
# The FLATHUB manifest (flathub/com.blitzfc.qbz repo) is the OFFLINE twin of
|
|
# this file (cargo-sources.json, no network); keep the two in sync when
|
|
# changing modules or finish-args. scripts/update-flathub.sh regenerates it.
|
|
|
|
app-id: com.blitzfc.qbz
|
|
runtime: org.gnome.Platform
|
|
runtime-version: '49'
|
|
sdk: org.gnome.Sdk
|
|
sdk-extensions:
|
|
- org.freedesktop.Sdk.Extension.rust-stable
|
|
# bindgen (aws-lc-sys et al.) needs libclang.
|
|
- org.freedesktop.Sdk.Extension.llvm20
|
|
command: qbz
|
|
finish-args:
|
|
- --share=ipc
|
|
- --share=network
|
|
- --socket=wayland
|
|
- --socket=fallback-x11
|
|
- --socket=pulseaudio
|
|
|
|
# Direct sound-device access (/dev/snd) for bit-perfect / exclusive
|
|
# ALSA output, matching native installs. Flatpak has no granular
|
|
# --device=snd; /dev/snd is only exposed via --device=all (same as
|
|
# Strawberry, mpv, and other bit-perfect audio apps). --device=all
|
|
# includes --device=dri (GPU), so the separate dri entry is dropped.
|
|
- --device=all
|
|
|
|
# org.freedesktop.ReserveDevice1 device-reservation names: lets QBZ ask
|
|
# WirePlumber/PipeWire to release the sound card cleanly before opening
|
|
# it exclusively (freedesktop audio-device reservation protocol). Owning
|
|
# a name implies talking to its current holder (same well-known name). #508
|
|
- --own-name=org.freedesktop.ReserveDevice1.*
|
|
|
|
# Native PipeWire access
|
|
- --filesystem=xdg-run/pipewire-0:ro
|
|
|
|
# Discord IPC socket for Rich Presence (#336).
|
|
# - The static path covers Discord installed natively (deb / rpm / AUR
|
|
# builds), which write the socket directly under $XDG_RUNTIME_DIR.
|
|
# - The :create permission on the Discord-Flatpak app dir lets us read
|
|
# the socket created by Discord-via-Flathub AND lay down our own
|
|
# $XDG_RUNTIME_DIR/discord-ipc-{0..9} symlinks pointing at it.
|
|
- --filesystem=xdg-run/discord-ipc-0
|
|
- --filesystem=xdg-run/app/com.discordapp.Discord:create
|
|
|
|
# User music library
|
|
- --filesystem=xdg-music
|
|
|
|
# Notifications and tray (ksni StatusNotifierItem)
|
|
- --talk-name=org.freedesktop.Notifications
|
|
- --talk-name=org.kde.StatusNotifierWatcher
|
|
|
|
# MPRIS media controls (own-name auto-granted: name contains appid)
|
|
- --talk-name=org.mpris.MediaPlayer2.*
|
|
|
|
modules:
|
|
- name: qbz
|
|
buildsystem: simple
|
|
build-options:
|
|
append-path: /usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/llvm20/bin
|
|
build-args:
|
|
- --share=network
|
|
env:
|
|
LIBCLANG_PATH: /usr/lib/sdk/llvm20/lib
|
|
# Memory tier for 16 GB builders: the qbz_ui rustc is the ~30 GB
|
|
# peak; single job + high codegen-units + opt 2 is the measured
|
|
# MIN-footprint combination. Binary symbols are stripped by the
|
|
# workspace [profile.release].
|
|
CARGO_INCREMENTAL: '0'
|
|
CARGO_BUILD_JOBS: '1'
|
|
CARGO_PROFILE_RELEASE_CODEGEN_UNITS: '256'
|
|
CARGO_PROFILE_RELEASE_OPT_LEVEL: '2'
|
|
build-commands:
|
|
- cargo build --release --manifest-path crates/Cargo.toml -p qbz
|
|
- install -Dm755 crates/target/release/qbz /app/bin/qbz
|
|
- install -Dm644 packaging/flatpak/com.blitzfc.qbz.desktop /app/share/applications/com.blitzfc.qbz.desktop
|
|
- install -Dm644 packaging/flatpak/com.blitzfc.qbz.metainfo.xml /app/share/metainfo/com.blitzfc.qbz.metainfo.xml
|
|
- install -Dm644 LICENSE /app/share/licenses/com.blitzfc.qbz/LICENSE
|
|
- install -Dm644 packaging/icons/32x32.png /app/share/icons/hicolor/32x32/apps/com.blitzfc.qbz.png
|
|
- install -Dm644 packaging/icons/128x128.png /app/share/icons/hicolor/128x128/apps/com.blitzfc.qbz.png
|
|
- install -Dm644 packaging/icons/256x256.png /app/share/icons/hicolor/256x256/apps/com.blitzfc.qbz.png
|
|
sources:
|
|
- type: dir
|
|
path: ../..
|
|
skip:
|
|
- .git
|
|
- crates/target
|