# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
setvar pkgname = 'weston'
setvar pkgver = '3.0.0'
setvar pkgrel = '0'
setvar _libname = "lib$pkgname"
setvar _libdir = "$_libname-${pkgver%%.*}"
setvar pkgdesc = ""The reference Wayland server""
setvar url = ""http://wayland.freedesktop.org""
setvar arch = ""all !s390x !x86 !ppc64le""
setvar license = ""MIT""
setvar depends = """"
setvar makedepends = ""wayland-protocols libxkbcommon-dev xkeyboard-config
	libinput-dev libunwind-dev mtdev-dev libxcursor-dev glu-dev
	pango-dev colord-dev freerdp-dev libwebp-dev libva-dev dbus-dev
	""
setvar _cms = ""cms-colord cms-static""
setvar _shell = ""shell-desktop shell-fullscreen shell-ivi""
setvar _client = ""info terminal wcap-decode""
setvar _backend = ""backend-drm backend-fbdev backend-headless
	backend-rdp backend-x11 backend-wayland
	""
for _sub in $_cms $_shell $_client $_backend {
	setvar subpackages = ""$subpackages $pkgname-$_sub:_sub""
}
setvar subpackages = ""$pkgname-dev $pkgname-doc $subpackages
	$pkgname-clients $_libname-desktop:_libd $_libname:libs
	$pkgname-xwayland $pkgname-desktop-x11:_x11:noarch
	""
setvar source = ""http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz
	timespec.patch""
setvar builddir = ""$srcdir/$pkgname-$pkgver""
setvar options = ""!check""

proc build {
	cd $builddir
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--libexecdir=/usr/lib/$pkgname \
		--enable-rdp-compositor \
		--enable-screen-sharing \
		--enable-vaapi-recorder \
		--enable-clients \
		--enable-demo-clients-install \
		--disable-weston-launch \
		--disable-setuid-install
	make
}

# Does not run through, see also:
# https://github.com/alpinelinux/aports/pull/1689
proc check {
	make -C $builddir check
	return 0
}

proc package {
	make  -C $builddir DESTDIR="$pkgdir" install
}

proc libs {
	setvar depends = ""xkeyboard-config""
	default_libs
}

proc _libd {
	setvar pkgdesc = ""Desktop shells abstraction library for libweston compositors""
	mkdir -p "$subpkgdir"/usr/lib || return 1
	mv "$pkgdir"/usr/lib/*desktop* "$subpkgdir"/usr/lib
}

proc clients {
	setvar pkgdesc = ""Weston example clients""
	mkdir -p "$subpkgdir"/usr/bin || return 1
	mv "$pkgdir"/usr/bin/$pkgname-* "$subpkgdir"/usr/bin
}

proc xwayland {
	setvar pkgdesc = ""Wayland module to run X Clients""
	mkdir -p "$subpkgdir"/usr/lib/$_libdir || return 1
	mv "$pkgdir"/usr/lib/$_libdir/xwayland.so \
		"$subpkgdir"/usr/lib/$_libdir
}

proc _x11 {
	setvar pkgdesc = ""Weston desktop helper pack (x11 backend)""
	setvar depends = ""$pkgname $pkgname-shell-desktop $pkgname-xwayland
		$pkgname-backend-x11 $pkgname-terminal""
	mkdir -p $subpkgdir
}

proc _sub {
	local name path
	case (subpkgname) {
	*-cms-* {
		setvar name = ${subpkgname#$pkgname-cms-}
		setvar path = "/usr/lib/$pkgname"
		setvar pkgdesc = ""Weston CMS module: $name""
		setvar name = "cms-$name.so"
		}
	*-shell-* {
		setvar name = ${subpkgname#$pkgname-shell-}
		setvar path = "/usr/lib/$pkgname"
		setvar pkgdesc = ""Weston shell: $name""
		setvar name = "*$name-shell*"
		}
	*-backend-* {
		setvar name = ${subpkgname#$pkgname-backend-}
		setvar path = "/usr/lib/$_libdir"
		setvar pkgdesc = ""Weston backend: $name""
		setvar name = "$name-backend.so"
		grep -q cairo "$pkgdir"/$path/$name && setvar depends = ""mesa-dri-swrast""
		}
	* {
		setvar name = "$subpkgname"
		setvar path = "/usr/bin"
		test -x "$pkgdir"/$path/$name || setvar name = ${subpkgname#$pkgname-}
		setvar pkgdesc = ""Weston client: $name""
		}
	}
	mkdir -p "$subpkgdir"/$path || return 1
	mv "$pkgdir"/$path/$name "$subpkgdir"/$path
}

setvar sha512sums = ""b824c39f2a884f6d50d607613f447090621f684c96f7d905f25f6e500dabd03ecb2b1cd1030babc193c3417223cb220103abb792437e1a5ead7229a76b5c7a58  weston-3.0.0.tar.xz
3e596af4bf0a6b06a5d28376043db111fe1c161ead04501fa6d2c667b5a21889cca3354d1bdc4ac794841bef68ed5e1a7a84e44e7d510e947e3673195706caed  timespec.patch""