# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=xdg-desktop-portal
pkgver=1.20.3
pkgrel=0
# NOTE: Upgrade only to even-numbered versions (e.g. 1.18.x, 1.20.x)!
pkgdesc="Desktop integration portal"
url="https://github.com/flatpak/xdg-desktop-portal"
arch="all"
license="LGPL-2.1-or-later"
depends="bubblewrap"
depends_dev="$pkgname=$pkgver-r$pkgrel"
_depends_document_portal="cmd:fusermount3"
makedepends="
	$_depends_document_portal
	flatpak
	flatpak-dev
	fontconfig-dev
	fuse3-dev
	geoclue-dev
	gettext-dev
	glib-dev
	gst-plugins-base-dev
	json-glib-dev
	libportal-dev
	meson
	pipewire-dev
	py3-docutils
	xmlto
	"
checkdepends="
	py3-dbusmock
	py3-gobject3
	py3-pytest
	umockdev-dev
	"
subpackages="
	$pkgname-dev
	$pkgname-lang
	$pkgname-doc
	$pkgname-dbg
	xdg-document-portal:_document_portal
	"
source="https://github.com/flatpak/xdg-desktop-portal/releases/download/$pkgver/xdg-desktop-portal-$pkgver.tar.xz"
# check: requires geoclue to be running as a system service.
options="!check"

build() {
	abuild-meson \
		-Db_lto=true \
		-Dsystemd=disabled \
		-Dman-pages=enabled \
		-Ddocumentation=disabled \
		-Ddebug=true \
		-Dtests="$(want_check && echo enabled || echo disabled)" \
		. output
	meson compile -C output
}

check() {
	TEST_IN_CI=true meson test --print-errorlogs -C output
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output

	cd "$pkgdir"

	# We don't need this
	rm -rf usr/lib/systemd

	mkdir -p usr/lib
	mv usr/share/pkgconfig usr/lib/
}

_document_portal() {
	pkgdesc="$pkgdesc (document portal)"
	depends=$_depends_document_portal
	install_if="$pkgname=$pkgver-r$pkgrel"

	amove usr/libexec/xdg-document-portal
	amove 'usr/share/dbus-1/*/org.freedesktop.portal.Documents.*'
	amove 'usr/share/dbus-1/*/org.freedesktop.portal.FileTransfer.*'
}

sha512sums="
e3da40bb102f7a391b062baa5517460b47e653f10412237aebb9d32b375db51bee3e365cabd5cb2d9059f2f52cfa5b7bf364555ee1ff892d97e61841ddbc870e  xdg-desktop-portal-1.20.3.tar.xz
"
