mirror of
https://github.com/Felitendo/spotifast.git
synced 2026-11-01 17:33:26 +01:00
native-packages 0.8.1 builds an AppImage from the same contents as the DEB and RPM, so both Linux targets now list it: a release gains spotifast-X.Y.Z-x86_64.AppImage and spotifast-X.Y.Z-aarch64.AppImage, one file each that runs without installation. The AppImage bundles no libraries. It needs glibc 2.39 and the desktop's own libraries, like the other packages, and the updater sends it to the download page as it does any installation it does not recognize. The packaging workflow runs each AppImage on its own architecture and checks its version. The shared workflow and the gem move from 0.6.0 and 0.7.0 to 0.8.1 together.
207 lines
5.9 KiB
YAML
207 lines
5.9 KiB
YAML
# Shared CLI: gem install native-packages --version 0.8.1
|
|
---
|
|
schema: 1
|
|
tool:
|
|
version: 0.8.1
|
|
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:
|
|
# A glob source makes nFPM append its basename to the destination directory.
|
|
- src: "@PAYLOAD@/*-v@VERSION@-@TARGET@/spotifast"
|
|
dst: "/usr/bin/"
|
|
file_info:
|
|
mode: 493
|
|
- src: spotifast
|
|
dst: /usr/bin/fastpotify
|
|
type: symlink
|
|
- src: "@PAYLOAD@/*-v@VERSION@-@TARGET@/LICENSE"
|
|
dst: "/usr/share/licenses/spotifast/"
|
|
file_info:
|
|
mode: 420
|
|
- src: "@PAYLOAD@/*-v@VERSION@-@TARGET@/README.md"
|
|
dst: "/usr/share/doc/spotifast/"
|
|
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@/*-v@VERSION@-@TARGET@/packaging/applications/*.desktop"
|
|
dst: "/usr/share/applications/"
|
|
file_info:
|
|
mode: 420
|
|
- src: "@PAYLOAD@/*-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
|
|
- appimage
|
|
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
|
|
- appimage
|
|
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
|