# Maintainer: TheKit <nekit1000@gmail.com>
pkgname=xf86-video-hwcomposer
pkgver=1.0_git20190925
pkgrel=2
pkgdesc="X.Org driver for Android devices rendering through HWComposer API"
url="https://github.com/NotKit/xf86-video-hwcomposer"
arch="armhf armv7 aarch64"
license="MIT"
depends="drihybris glamor-hybris libepoxy libhybris"
makedepends="autoconf automake util-macros libtool
	xorg-server-dev libxi-dev fontsproto randrproto
	videoproto renderproto xf86dgaproto glamor-hybris-dev drihybris-dev
	android-headers-4.4 android-headers-7.1 android-headers-7.1-caf
	android-headers-9.0
	libhybris-dev libhybris libhybris-9.0"
_commit="b33e119005158ddc1988b495121591496bddb915"
source="$pkgname-$_commit.tar.gz::https://github.com/NotKit/xf86-video-hwcomposer/archive/$_commit.tar.gz
	fix-hwcomposer.patch
	30-modules-hybris.conf"

options="!tracedeps"
subpackages="$pkgname-doc"

if [ "$CARCH" == "armhf" -o "$CARCH" == "armv7" ]; then
	_vers="9.0 7.1 7.1-caf 4.4"
elif [ "$CARCH" == "aarch64" ]; then
	_vers="9.0 7.1 7.1-caf"
fi

for _ver in $_vers; do
	subpackages="$subpackages $pkgname-$_ver:_specific"
done

builddir="$srcdir/$pkgname-$_commit"
_tmppkgdir="$srcdir/tmpinstall"

build() {
	export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
	export CPPFLAGS="$CPPFLAGS -I/usr/include/android-9.0 -DMESA_EGL_NO_X11_HEADERS"

	NOCONFIGURE=1 ./autogen.sh

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-drihybris \
		--enable-glamor-hybris

	for _ver in $_vers; do
		msg "building $pkgname-$_ver"

		for _makefile in "Makefile src/Makefile"; do
			sed -i -E "s~/usr/include/android-[^ ]+~/usr/include/android-$_ver~g" $_makefile
		done

		make clean
		make
		make DESTDIR="$_tmppkgdir/$pkgname-$_ver" install
	done
}

package() {
	install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
	install -Dm644 "$srcdir"/30-modules-hybris.conf \
		"$pkgdir"/etc/X11/xorg.conf.d/30-modules-hybris.conf
}

_specific() {
	_hybrisver="$(echo $subpkgname | cut -d '-' -f4)"
	depends="$depends libhybris-$_hybrisver"
	_lib="xorg/modules/drivers/hwcomposer_drv.so"
	install -Dm644 "$_tmppkgdir/$subpkgname/usr/lib/$_lib" \
			"$subpkgdir/usr/lib/$_lib"
}

sha512sums="61c7f528c0f8848edc72b4f926095a610abf9b7ea1512cce518d6dae359e76a6eb50fc18558238fc3dc6a31ce3cc3237e4663198a05744400282db2825ee6ddb  xf86-video-hwcomposer-b33e119005158ddc1988b495121591496bddb915.tar.gz
b76bceba0e784e079b4093f6e4405763f17c4d817ca977e9f8f8878294d37a3876efbbb0dc6ef7f4ce466ccd77bce7e72362c0e3b5ac6dfdb0144ccaac503876  fix-hwcomposer.patch
e8f9f6ec337e88ec440c4bdc3f3441a8252031d1a4265a251b500a087a2c88336861c7e3f81972019f6a492324e94253726ce031fedad60ff582dd8db73efac6  30-modules-hybris.conf"
