# Template file for 'pulseaudio'
pkgname=pulseaudio
version=16.1
revision=2
build_style=meson
configure_args="-Djack=enabled -Dlirc=disabled -Dhal-compat=false -Dorc=enabled
 -Dgtk=disabled -Dsystemd=disabled -Dwebrtc-aec=enabled
 -Dgsettings=enabled -Dbluez5=enabled
 -Dbluez5-ofono-headset=false -Dbluez5-native-headset=true
 -Delogind=enabled -Dudevrulesdir=/usr/lib/udev/rules.d
 -Dbashcompletiondir=/usr/share/bash-completion/completions
 -Dcpp_std=c++17"
hostmakedepends="m4 gettext libtool orc-devel perl-XML-Parser pkg-config
 doxygen"
makedepends="$(vopt_if avahi avahi-libs-devel) eudev-libudev-devel fftw-devel jack-devel
 libSM-devel libXtst-devel libasyncns-devel libbluetooth-devel
 libcap-devel libcap-progs libglib-devel libltdl-devel openssl-devel
 libsndfile-devel libsoxr-devel orc-devel sbc-devel speex-devel tdb-devel
 webrtc-audio-processing-devel xcb-util-devel check-devel elogind-devel"
depends="pulseaudio-utils>=${version}_${revision} rtkit"
conf_files="/etc/pulse/*"
short_desc="Featureful, general-purpose sound server"
maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://www.freedesktop.org/wiki/Software/PulseAudio"
distfiles="${FREEDESKTOP_SITE}/${pkgname}/releases/${pkgname}-${version}.tar.xz"
checksum=8eef32ce91d47979f95fd9a935e738cd7eb7463430dabc72863251751e504ae4
python_version=3
# FIXME: core-util-test fails
make_check=no

system_groups="pulse-access"
system_accounts="pulse"
pulse_groups="audio"
pulse_homedir="/var/empty"

build_options="avahi"
build_options_default="avahi"

if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" glib"
fi

case "$XBPS_TARGET_MACHINE" in
	arm*) configure_args+=" -Db_lto=false"
esac

post_patch() {
	if [ "$XBPS_TARGET_LIBC" = musl ]; then
		# Configure detects presence of open64 due to musl providing aliases for them in the linker, this is not correct.
		# This was fixed in musl 1.2.x, but we are currently using 1.1.x
		vsed -e "s/'open64',//g" -i meson.build
	fi
}

post_install() {
	rm ${DESTDIR}/etc/dbus-1/system.d/pulseaudio-system.conf
	vmkdir usr/share/examples/pulseaudio/sv/
	vcopy ${FILESDIR}/pulseaudio usr/share/examples/pulseaudio/sv/
	vdoc $FILESDIR/README.voidlinux
}

libpulseaudio_package() {
	shlib_provides="libpulsecore-${version}.so libpulsecommon-${version}.so"
	short_desc+=" - shared libraries"
	pkg_install() {
		vmove "usr/lib/libpulse.so.*"
		vmove "usr/lib/libpulse-simple.so.*"
		vmove "usr/lib/libpulse-mainloop-glib.so.*"
		vmove usr/lib/pulseaudio
	}
}

pulseaudio-devel_package() {
	depends="libasyncns-devel dbus-devel libXtst-devel libpulseaudio>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove usr/lib/cmake
		vmove usr/lib/libpulse.so
		vmove usr/lib/libpulse-simple.so
		vmove usr/lib/libpulse-mainloop-glib.so
		vmove usr/share/vala
	}
}

pulseaudio-utils_package() {
	short_desc+=" - utilities"
	pkg_install() {
		for b in pacat pacmd pactl padsp pamon paplay parec \
				 parecord pasuspender pax11publish; do
			vmove usr/bin/$b
			vmove usr/share/man/man1/${b}.1
		done
		vmove usr/bin/pa-info
		vmove usr/share/bash-completion
		vmove usr/share/zsh
	}
}
