# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=spotifyd
pkgver=0.3.5
pkgrel=4
pkgdesc="Open source Spotify client running as a UNIX daemon"
url="https://github.com/Spotifyd/spotifyd"
# rust-ring
# loongarch64: blocked by nix crate
arch="all !ppc64le !riscv64 !s390x !loongarch64"
license="GPL-3.0-or-later"
makedepends="
	alsa-lib-dev
	cargo
	cargo-auditable
	dbus-dev
	libogg-dev
	openssl-dev>3
	pulseaudio-dev
	"
pkgusers="spotifyd"
pkggroups="spotifyd"
install="spotifyd.pre-install"
subpackages="$pkgname-openrc"

source="https://github.com/Spotifyd/spotifyd/archive/v$pkgver/spotifyd-$pkgver.tar.gz
	bump-getrandom.patch
	bump-rustc-serialize.patch
	bump-time.patch

	spotifyd.initd
	spotifyd.conf
	"

prepare() {
	default_prepare

	cargo fetch --target=$CTARGET --locked
}

build() {
	cargo auditable build --release --frozen --features pulseaudio_backend,dbus_mpris,dbus_keyring,rodio_backend
}

check() {
	cargo test --locked --target-dir=target
}

package() {
	install -D -m 755 target/release/spotifyd "$pkgdir/usr/bin/spotifyd"
	install -D -m 755 "$srcdir/spotifyd.initd" "$pkgdir/etc/init.d/spotifyd"
	install -D -m 660 -o spotifyd -g spotifyd "$srcdir/spotifyd.conf" "$pkgdir/etc/spotifyd.conf"
}

sha512sums="
c457f4927b58f7ae7b27f88a841ebb0eefd6a850bf8baec06e96c7721fc185ddd553e3189578b0c1e6673f81a1489dcd4fa4cd80b90ed26b61d4da201f8f50ef  spotifyd-0.3.5.tar.gz
6d4c3585eb7ca7e86b5fa5d3f53e92f589d34355a7dcb327cb0749c13b78ce085a3c48774685f137bb7ce9f473513f1a9f4f6ff54c900da966dfd0ccab6e911c  bump-getrandom.patch
4f6c70953f5c0d74faf7306f91df683527489edc5901f51874cd35896b95b50c5df997bba26b8b52022dc7917c91bbab97a01463d99722587e46553951b87a81  bump-rustc-serialize.patch
b6f8d4f4f197d6313cabd7515e5d971fd7c1fc8d1114cf72068a4b76b0e3b40cba75df061c0365c1db413147421df4487cd91b8a9f2724f93f8aa6570aabde4a  bump-time.patch
dd4664c5818af8de3439deedfecb2a9d6bd70ab41c3db57cf659d42d4071ffe47d137fa55d94009022472d5927668978df2e6236c574bbe35596fb386ef274a2  spotifyd.initd
4fdc103d29d0caa1644d7280e17ccff265ce660f51dfc53d7975a30fb7cf139b98ed72545e91c536cac7e2b222cd22ac9622bf07158c27edb4f9eccd1496fab9  spotifyd.conf
"
