mirror of
https://github.com/Felitendo/spotifast.git
synced 2026-11-01 17:33:26 +01:00
Packages no longer install a fastpotify command or declare that they replace, provide or conflict with the old packages. Releases no longer carry the 0.9.1 bridge files, the release script only checks and sums Spotifast downloads, and the Flatpak, Homebrew, macOS and Windows recipes lose their old-identity branches and clean-ups. Packaging CI tests the v0.11.2 release instead of installing the 0.8.0 package first. The Rename page and the notes pointing to it are gone. Updates begun by 0.10.2 or earlier on Windows relaunch fastpotify.exe, which the installer no longer provides; such an install updates, but needs starting by hand once.
74 lines
3.0 KiB
Plaintext
74 lines
3.0 KiB
Plaintext
# Maintainer: Carmine Paolino <carmine@paolino.me>
|
|
pkgname=spotifast-git
|
|
pkgver=@VERSION@
|
|
pkgrel=1
|
|
pkgdesc="Native Spotify client"
|
|
arch=('x86_64' 'aarch64')
|
|
url="https://github.com/crmne/spotifast"
|
|
license=('MIT')
|
|
install="${pkgname}.install"
|
|
depends=('dbus' 'alsa-lib' 'libpulse' 'libglvnd' 'libxkbcommon' 'wayland' 'libx11')
|
|
# MilkDrop builds libprojectM from source at compile time: cmake drives
|
|
# that build, and clang carries the libclang bindgen reads its headers
|
|
# with. Build with --no-default-features to leave the visualiser out.
|
|
makedepends=('git' 'cargo' 'cmake' 'clang')
|
|
optdepends=('libxkbcommon-x11: keyboard handling in X11 sessions'
|
|
'pipewire-pulse: PipeWire as the PulseAudio server')
|
|
provides=("spotifast=$pkgver")
|
|
conflicts=('spotifast' 'spotifast-bin')
|
|
# !lto because ring compiles its own C and Arch's default CFLAGS put LTO
|
|
# objects in the archive, which lld then cannot resolve: the link fails on
|
|
# undefined ring_core_* symbols. The stable package is prebuilt and never
|
|
# meets this.
|
|
options=('!debug' '!lto')
|
|
source=("${pkgname}::git+https://github.com/crmne/spotifast.git")
|
|
sha256sums=('SKIP')
|
|
|
|
pkgver() {
|
|
cd "${srcdir}/${pkgname}"
|
|
# A pre-release tag (v0.4.0-rc1) keeps its suffix without the hyphen,
|
|
# 0.4.0rc1, which pacman orders before 0.4.0; then the commits since the
|
|
# tag and the hash, as before: 0.4.0rc1.r1.cb95384.
|
|
git describe --long --tags --abbrev=7 |
|
|
sed 's/^v//;s/-\(rc\|alpha\|beta\)\([0-9]*\)-/\1\2-/;s/-/.r/;s/-g/./'
|
|
}
|
|
|
|
prepare() {
|
|
cd "${srcdir}/${pkgname}"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
|
|
}
|
|
|
|
build() {
|
|
cd "${srcdir}/${pkgname}"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
export CARGO_TARGET_DIR=target
|
|
# Generated bindings inside glutin carry the path they were built at, which
|
|
# ends up in the binary and makes makepkg warn about a reference to $srcdir.
|
|
# Appended rather than assigned, so the distro's own flags survive.
|
|
export RUSTFLAGS="${RUSTFLAGS:-} --remap-path-prefix=${srcdir}=/"
|
|
cargo build --frozen --release
|
|
}
|
|
|
|
check() {
|
|
cd "${srcdir}/${pkgname}"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
# The demo feature carries the headless render test, which lays out every
|
|
# page without a display and talks to nothing.
|
|
cargo test --frozen --features demo
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/${pkgname}"
|
|
|
|
install -Dm755 "target/release/spotifast" "${pkgdir}/usr/bin/spotifast"
|
|
install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
|
install -Dm644 "README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
|
|
install -Dm644 "packaging/applications/spotifast.desktop" \
|
|
"${pkgdir}/usr/share/applications/spotifast.desktop"
|
|
install -Dm644 "packaging/icons/spotifast.svg" \
|
|
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/spotifast.svg"
|
|
install -Dm644 contrib/omarchy/spotifast.json.tpl "${pkgdir}/usr/share/spotifast/omarchy/spotifast.json.tpl"
|
|
install -Dm755 contrib/omarchy/spotifast-theme "${pkgdir}/usr/share/spotifast/omarchy/spotifast-theme"
|
|
}
|