# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Sebastian Wicki <gandro@gmx.net>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
pkgname=mpd
pkgver=0.24.4
case $pkgver in
*.*.*) _branch=${pkgver%.*};;
*.*) _branch=$pkgver;;
esac
pkgrel=1
pkgdesc="Music daemon that plays MP3, FLAC, Ogg Vorbis files and Audio CDs"
url="https://musicpd.org/"
pkgusers="mpd"
pkggroups="mpd audio"
arch="all"
license="GPL-2.0-or-later"
makedepends="
	alsa-lib-dev
	avahi-dev
	curl-dev
	expat-dev
	faad2-dev
	ffmpeg-dev
	flac-dev
	fmt-dev
	glib-dev
	gtest-dev
	icu-dev
	jack-dev
	lame-dev
	libao-dev
	libcap-utils
	libcdio-paranoia-dev
	libid3tag-dev
	libmad-dev
	libmodplug-dev
	libmpdclient-dev
	libnfs-dev
	libogg-dev
	libsamplerate-dev
	libshout-dev
	libvorbis-dev
	meson
	opus-dev
	pipewire-dev
	pulseaudio-dev
	py3-attrs
	py3-sphinx
	py3-sphinx_rtd_theme
	samba-dev
	soxr-dev
	wavpack-dev
	"
checkdepends="gtest"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-dbg $pkgname-openrc"
source="https://www.musicpd.org/download/mpd/$_branch/mpd-$pkgver.tar.xz
	stacksize.patch
	mpd.initd
	mpd.user.initd
	mpd.confd
	"

# secfixes:
#   0:
#     - CVE-2020-7465
#     - CVE-2020-7466

build() {
	abuild-meson \
		-Dshout=enabled \
		-Dopus=enabled \
		-Dmodplug=enabled \
		-Dnfs=enabled \
		-Dsmbclient=enabled \
		-Dffmpeg=enabled \
		-Dlibmpdclient=enabled \
		-Dcdio_paranoia=enabled \
		-Dzeroconf=avahi \
		-Dtest=true \
		-Ddocumentation=enabled \
		-Dwavpack=enabled \
		-Dpipewire=enabled \
		-Dsnapcast=true \
		. output
	meson compile -C output
}

check() {
	meson test --print-errorlogs -C output
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output

	# provide a config that works by default
	install -d "$pkgdir"/etc
	sed	-e 's:\#user.*:user\t\t"mpd":' \
		-e 's:\#log_file.*:log_file\t\t"syslog":' \
		doc/mpdconf.example > "$pkgdir"/etc/mpd.conf

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	install -m755 -D "$srcdir"/$pkgname.user.initd \
		"$pkgdir"/etc/user/init.d/$pkgname

	install -m644 -D "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/user/conf.d/$pkgname

	install -d -g audio -o mpd -m775 \
		"$pkgdir"/var/run/mpd \
		"$pkgdir"/var/log/mpd \
		"$pkgdir"/var/lib/mpd \
		"$pkgdir"/var/lib/mpd/.cache \
		"$pkgdir"/var/lib/mpd/playlists \
		"$pkgdir"/var/lib/mpd/music
}

sha512sums="
cf765395a1046e56af47d4451222a0d4ee7131a45041344c3c608b54e865f67179db4042a9ab3df7432ec535612453b891c15bd9f0689dbeb9ac86596f58c317  mpd-0.24.4.tar.xz
f60f6f3e921d20732c1a4c31a97f28660b43fd649e767d6c39661b6a90145231a79ad3f740ae0d706380b245ad040e98b661a513463c54cea161d1f64fc261e0  stacksize.patch
3ee3a85b34d328090bc66892cba643443296bf126197f93becffa3d4c91742b600da5e17845337f17ac3714cbdcadde89bbd1bec797eb1966ab8208d7b221e7b  mpd.initd
267c198a2b82dfcdb1fb949b1c10cecf3aeb3e05db6ca90654025648966402e4d175bcbeb32856b9c7de75698f39843965c5b38aea8123e3f21633fb65bb09d8  mpd.user.initd
c4c71022e5c2f27d013fff13474c4377f11e92a9001fb62285cb26d876fcf4db959f68d95c231646d21c04ac13d97ec1ceeb23b98072a80001b95a620af2ce53  mpd.confd
"
