# Maintainer: Alexey Min <alexey.min@gmail.com>
pkgname=pulseaudio-modules-droid
# pkgver should match MAJOR.MINOR pulseaudio version
pkgver=13.0
# _pkgver used in URL to download tarball
# Yes, we can build slightly older modules version against newer pulseaudio, if we are lucky
_pkgver=12.2.84
pkgrel=2
pkgdesc="PulseAudio Droid modules by Mer project"
url="https://github.com/mer-hybris/pulseaudio-modules-droid"
arch="armhf armv7 aarch64"
license="LGPL-2.1-or-later"
depends="pulseaudio"
makedepends="autoconf automake libtool m4 intltool dbus-dev expat-dev pulseaudio-dev pulsecore-private-headers android-headers-7.1 android-headers-7.1-caf libhybris-dev libhybris-7.1"
options="!check"  # No test suite available
source="
	$pkgname-$_pkgver.tar.gz::https://github.com/mer-hybris/pulseaudio-modules-droid/archive/$_pkgver.tar.gz
	0001-configure-ac-compat.patch
"
install="$pkgname.post-install"
_headers_variants="7.1 7.1-caf"
for _ver in $_headers_variants; do
	subpackages="$subpackages $pkgname-$_ver:_variant"
done

builddir="$srcdir/$pkgname-$_pkgver"
_tmppkgdir="$srcdir/tmpinstall"
_list_of_libs="
	libdroid-sink.so
	libdroid-source.so
	libdroid-util.so
	module-droid-card.so
	module-droid-sink.so
	module-droid-source.so
"

prepare() {
	default_prepare
	echo $pkgver > .tarball-version
	autoreconf --force --install
}

build() {
	# Hack to build against CAF android headers:
	#   use our own local pkg-config path folder
	mkdir pkgconfig
	ln -s /usr/lib/pkgconfig/android-headers-7.1.pc pkgconfig/android-headers.pc
	export PKG_CONFIG_PATH="$builddir/pkgconfig"

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--enable-shared \
		--disable-static

	# build several times against different android headers variation
	for _ver in $_headers_variants; do
		msg "building $pkgname-$_ver"

		# Before each build make sure that include path points to correct location:
		# instead of re-symlinking android-headers.pc file and re-running
		# configure every time, just rewrite include paths in every Makefile
		for _makefile in "Makefile src/Makefile src/common/Makefile src/droid/Makefile"; do
			sed -i -E "s~/usr/include/android-[^ ]+~/usr/include/android-$_ver~g" $_makefile
		done

		make clean
		make

		# each variation is installed into a unique temporary directory
		make DESTDIR="$_tmppkgdir/$pkgname-$_ver" install
	done
}

package() {
	# here we should run install for some common files
	# for both subpackages, but we don't have anything like that
	# pkgdir is still needed, otherwise "rootpkg failed"
	mkdir -p "$pkgdir"
}

_variant() {
	depends="$pkgname"
	mkdir -p "$subpkgdir"
	# Copy libs from temp install folder to a proper subpackage dir
	for _lib in $_list_of_libs; do
		install -Dm644 "$_tmppkgdir/$subpkgname/usr/lib/pulse-$pkgver/modules/$_lib" \
			"$subpkgdir/usr/lib/pulse-$pkgver/modules/$_lib"
	done
}

sha512sums="7a573573bbcfb3a6b3b82a6d75a79506809b00ab2f000b31cd2f81c6fa433daaa81eeb6a7965ab995e2e36ac87c02252dc1aad413447e82e3b70031dfa9d5e82  pulseaudio-modules-droid-12.2.84.tar.gz
2aa283c64d8623c035522b89b62c80130d14c145a73e6193e2e98c26525cc12670e50f8db4649029e731b61d08c1e5ab2bd4e1a3dae8ca077bbdabe3a69eaa17  0001-configure-ac-compat.patch"
