# Template file for 'mpd'
pkgname=mpd
version=0.23.12
revision=1
build_style=meson
configure_args="-Dopus=enabled -Dmikmod=enabled -Dneighbor=true
 -Dsoundcloud=enabled -Dpipe=true -Dtwolame=enabled -Dbzip2=enabled
 -Dzzip=enabled -Dsmbclient=disabled -Dsystemd=disabled -Dqobuz=disabled
 -Dchromaprint=disabled -Dsoxr=enabled -Dadplug=disabled
 -Dfluidsynth=disabled -Dgme=disabled -Dwildmidi=disabled -Dsidplay=disabled
 -Dshine=disabled -Ddocumentation=enabled -Daudiofile=enabled -Dtremor=disabled
 -Dsolaris_output=disabled -Dhtml_manual=false -Dmanpages=true
 -Djack=$(vopt_if jack enabled disabled) -Dlame=$(vopt_if lame enabled disabled)
 -Dao=$(vopt_if libao enabled disabled) -Dmpcdec=$(vopt_if mpcdec enabled disabled)
 -Dsndio=$(vopt_if sndio enabled disabled) -Dpulse=$(vopt_if pulseaudio enabled disabled)
 -Dwavpack=$(vopt_if wavpack enabled disabled) -Dcdio_paranoia=$(vopt_if cdio enabled disabled)
 -Dopenal=$(vopt_if openal enabled disabled) -Dshout=$(vopt_if shoutcast enabled disabled)
 -Dio_uring=$(vopt_if io_uring enabled disabled) -Dopenmpt=$(vopt_if openmpt enabled disabled)
 -Dpipewire=$(vopt_if pipewire enabled disabled)"
conf_files="/etc/mpd.conf"
hostmakedepends="pkg-config python3-Sphinx"
makedepends="avahi-glib-libs-devel boost-devel faad2-devel ffmpeg-devel
 libcurl-devel libid3tag-devel libmad-devel libmikmod-devel libmms-devel
 libmodplug-devel libmpdclient-devel libnfs-devel libsamplerate-devel
 libnpupnp-devel mpg123-devel opus-devel yajl-devel pcre2-devel icu-devel
 zziplib-devel libsoxr-devel audiofile-devel twolame-devel fmt-devel
 $(vopt_if io_uring 'liburing-devel') $(vopt_if pipewire 'pipewire-devel')
 $(vopt_if cdio 'libcdio-paranoia-devel') $(vopt_if shoutcast 'libshout-devel')
 $(vopt_if jack 'jack-devel') $(vopt_if lame 'lame-devel')
 $(vopt_if libao 'libao-devel') $(vopt_if mpcdec 'libmpcdec-devel')
 $(vopt_if pulseaudio 'pulseaudio-devel') $(vopt_if sndio 'sndio-devel')
 $(vopt_if wavpack 'wavpack-devel') $(vopt_if openal 'libopenal-devel')
 $(vopt_if openmpt 'libopenmpt-devel')"
depends="libcap-progs"
checkdepends="gtest-devel"
short_desc="Flexible, powerful, server-side application for playing music"
maintainer="Daniel Eyßer <daniel.eysser@gmail.com>"
license="GPL-2.0-or-later"
homepage="https://www.musicpd.org/"
changelog="https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/master/NEWS"
distfiles="https://www.musicpd.org/download/mpd/${version%.*}/mpd-${version}.tar.xz"
checksum=b7fca62284ecc25a681ea6a07abc49200af5353be42cb5a31e3173be9d8702e7
LDFLAGS="-Wl,-z,stack-size=1048576"

system_accounts="mpd"
mpd_homedir="/var/lib/mpd"
mpd_groups="audio"

make_dirs="
 /var/lib/mpd 0755 mpd mpd
 /var/lib/mpd/playlists 0755 mpd mpd"

# Package build options
build_options="jack lame mpcdec pulseaudio libao wavpack sndio cdio openal shoutcast io_uring
	openmpt pipewire"
desc_option_cdio="Enable libcdio_paranoia input plugin"
desc_option_openal="Enable OpenAL output plugin"
desc_option_io_uring="Enable support for using liburing"
desc_option_pipewire="Enable Pipewire output plugin"
desc_option_openmpt="Enable OpenMPT decoder plugin"
build_options_default="jack pulseaudio libao sndio cdio shoutcast pipewire"

if [ "$XBPS_CHECK_PKGS" ]; then
	configure_args+=" -Dtest=true"
fi

post_install() {
	vconf doc/mpdconf.example mpd.conf
	vsconf doc/mpdconf.example
	sed \
		-e '/^#playlist_directory/c playlist_directory "/var/lib/mpd/playlists"' \
		-e '/^#db_file/c db_file "/var/lib/mpd/mpd.db"' \
		-e '/^#pid_file/c pid_file "/run/mpd/mpd.pid"' \
		-e '/^#state_file/c state_file "/var/lib/mpd/mpdstate"' \
		-e '/^#user/c user "mpd"' \
		-i ${DESTDIR}/etc/mpd.conf

	vsv mpd
}
