Files
spotifast/native-packages.yaml
T
Carmine Paolino 1ca29d53c4 Rename Linux launcher and window identities to Spotifast
Align native and Flatpak window IDs with installed desktop entries and icons,
while preserving existing window state. Keep packaging compatible with the
immutable 0.8.0 inputs and test both launcher generations.

Refs #462
2026-09-14 23:30:41 +02:00

204 lines
5.9 KiB
YAML

# Shared CLI: gem install native-packages --version 0.6.0
---
schema: 1
tool:
version: 0.6.0
nfpm: 2.47.0
# Ubuntu 24.04 and Debian 13 use the ALSA t64 package name. Override ELF
# inference as well as the explicit dependencies below.
libraries:
libasound.so.2:
deb: libasound2t64
rpm: alsa-lib
nfpm:
name: spotifast
maintainer: Carmine Paolino <carmine@paolino.me>
homepage: https://github.com/crmne/spotifast
description: A native Spotify client
license: MIT
provides: [fastpotify]
replaces: [fastpotify]
conflicts: [fastpotify]
contents:
- src: "@PAYLOAD@/fastpotify-v@VERSION@-@TARGET@/fastpotify"
dst: "/usr/bin/fastpotify"
file_info:
mode: 493
- src: fastpotify
dst: /usr/bin/spotifast
type: symlink
- src: "@PAYLOAD@/fastpotify-v@VERSION@-@TARGET@/LICENSE"
dst: "/usr/share/licenses/spotifast/LICENSE"
file_info:
mode: 420
- src: "@PAYLOAD@/fastpotify-v@VERSION@-@TARGET@/README.md"
dst: "/usr/share/doc/spotifast/README.md"
file_info:
mode: 420
# Retain the input release's launcher identity: current builds use Spotifast,
# while historical binaries still advertise the Fastpotify window class.
- src: "@PAYLOAD@/fastpotify-v@VERSION@-@TARGET@/packaging/applications/*.desktop"
dst: "/usr/share/applications/"
file_info:
mode: 420
- src: "@PAYLOAD@/fastpotify-v@VERSION@-@TARGET@/packaging/icons/*.svg"
dst: "/usr/share/icons/hicolor/scalable/apps/"
file_info:
mode: 420
- src: contrib/omarchy/spotifast.json.tpl
dst: /usr/share/spotifast/omarchy/spotifast.json.tpl
file_info:
mode: 420
- src: contrib/omarchy/spotifast-theme
dst: /usr/share/spotifast/omarchy/spotifast-theme
file_info:
mode: 493
overrides:
# ELF inspection cannot discover the GUI's dlopen dependencies. Keep
# these aligned with winit/glutin/rfd and packaging/check-runtime-libs.c.
deb:
depends:
- libdbus-1-3
- libc6 (>= 2.39)
- libgl1
- libegl1
- libxkbcommon0
- libxkbcommon-x11-0
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libx11-6
- libx11-xcb1
- libxcursor1
- libxi6
- libxrandr2
- libasound2t64
- libpulse0
- libgcc-s1
- libstdc++6
rpm:
depends:
- dbus-libs
- glibc >= 2.39
- libglvnd-glx
- libglvnd-egl
- libxkbcommon
- libxkbcommon-x11
- libwayland-client
- libwayland-cursor
- libwayland-egl
- libX11
- libX11-xcb
- libXcursor
- libXi
- libXrandr
- alsa-lib
- pulseaudio-libs
- libgcc
- libstdc++
rpm:
buildhost: github-actions
targets:
macos-universal:
platform: macos
arch: universal
formats: [dmg]
input:
kind: directory
local: dist/macos-input
native:
command: [ruby, packaging/macos/dmg.rb, '@PAYLOAD@', '@PACKAGE@']
output: 'spotifast-@TAG@-macos-universal.dmg'
linux-amd64:
platform: linux
arch: amd64
libc: glibc
compiler_target: x86_64-unknown-linux-gnu
formats:
- deb
- rpm
input:
local: dist/spotifast-v@VERSION@-x86_64-unknown-linux-gnu.tar.gz
release_asset: spotifast-v@VERSION@-x86_64-unknown-linux-gnu.tar.gz
linux-arm64:
platform: linux
arch: arm64
libc: glibc
compiler_target: aarch64-unknown-linux-gnu
formats:
- deb
- rpm
input:
local: dist/spotifast-v@VERSION@-aarch64-unknown-linux-gnu.tar.gz
release_asset: spotifast-v@VERSION@-aarch64-unknown-linux-gnu.tar.gz
release:
repository: crmne/spotifast
prereleases: true
checksums: checksums.txt
assets:
AMD64:
file: spotifast-v@VERSION@-x86_64-unknown-linux-gnu.tar.gz
local: dist/spotifast-v@VERSION@-x86_64-unknown-linux-gnu.tar.gz
ARM64:
file: spotifast-v@VERSION@-aarch64-unknown-linux-gnu.tar.gz
local: dist/spotifast-v@VERSION@-aarch64-unknown-linux-gnu.tar.gz
SOURCE:
file: spotifast-v@VERSION@-source.tar.gz
local: dist/spotifast-v@VERSION@-source.tar.gz
MACOS:
file: spotifast-v@VERSION@-macos-universal.dmg
local: dist/spotifast-v@VERSION@-macos-universal.dmg
templates:
arch/spotifast/PKGBUILD: packaging/arch/spotifast/PKGBUILD.in
arch/spotifast/spotifast.install: packaging/arch/spotifast.install
arch/spotifast-bin/PKGBUILD: packaging/arch/spotifast-bin/PKGBUILD.in
arch/spotifast-bin/spotifast-bin.install: packaging/arch/spotifast.install
arch/spotifast-git/PKGBUILD: packaging/arch/spotifast-git/PKGBUILD.in
arch/spotifast-git/spotifast-git.install: packaging/arch/spotifast.install
homebrew/spotifast.rb: packaging/homebrew/spotifast.rb.in
repositories:
aur-source:
group: aur
url: https://aur.archlinux.org/spotifast.git
push_url: ssh://aur@aur.archlinux.org/spotifast.git
branch: master
package_path: "."
files:
arch/spotifast: "."
version_file: ".SRCINFO"
version_pattern: "^\\s*pkgver = (\\S+)"
publish: push
aur-bin:
group: aur
url: https://aur.archlinux.org/spotifast-bin.git
push_url: ssh://aur@aur.archlinux.org/spotifast-bin.git
branch: master
package_path: "."
files:
arch/spotifast-bin: "."
version_file: ".SRCINFO"
version_pattern: "^\\s*pkgver = (\\S+)"
publish: push
aur-git:
group: aur
url: https://aur.archlinux.org/spotifast-git.git
push_url: ssh://aur@aur.archlinux.org/spotifast-git.git
branch: master
package_path: "."
files:
arch/spotifast-git: "."
version_file: ".SRCINFO"
version_pattern: "^\\s*pkgver = (\\S+)"
publish: push
homebrew:
url: https://github.com/crmne/homebrew-tap.git
push_url: https://github.com/crmne/homebrew-tap.git
branch: main
package_path: Casks
files:
homebrew/spotifast.rb: Casks/spotifast.rb
version_file: Casks/spotifast.rb
version_pattern: version "([^"]+)"
publish: push
version_file: Cargo.toml