# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gnome-authenticator
pkgver=4.6.2
pkgrel=0
pkgdesc="Two-Factor Authentication application"
url="https://gitlab.gnome.org/World/Authenticator"
# 32-bit: pipewire-rs: https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/issues/43
arch="all !x86 !armhf !armv7"
license="GPL-3.0-only"
makedepends="
	cargo
	clang-dev
	desktop-file-utils
	gst-plugins-bad-dev
	gst-plugins-base-dev
	gstreamer-dev
	gtk4.0-dev
	libadwaita-dev
	meson
	openssl-dev
	pipewire-dev
	sqlite-dev
	zbar-dev
	"
checkdepends="appstream-glib"
subpackages="$pkgname-dbg $pkgname-lang"
source="https://gitlab.gnome.org/World/Authenticator/-/archive/$pkgver/Authenticator-$pkgver.tar.bz2
	appstream-metadata.patch
	"
builddir="$srcdir/Authenticator-$pkgver"


build() {
	abuild-meson . output
	meson compile -C output
}

check() {
	# Compile tests before running them with Meson to avoid timeout
	# shellcheck disable=2097 disable=2098
	CARGO_TARGET_DIR="$builddir"/output/target \
	CARGO_HOME="$CARGO_TARGET_DIR"/cargo-home \
		cargo test --no-run --bin authenticator

	meson test --print-errorlogs -C output
}

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

sha512sums="
d55c2ba5ef0cdc6b93092a34ee98e1303cb5d8c8a8978d740a932ea0b992f45b599796306f0b7cce8a89a7adc91e2c36099525b9f52ba5b0bfbbe971acf57f52  Authenticator-4.6.2.tar.bz2
567bef7dc9e3ca5f28a52b1a069a5ab0af5f80b5336de348cfebc27fa0af031b7e565c1e7e03aca4f499c8328509dd73366316ce4a5dbe7435de79c807d73b83  appstream-metadata.patch
"
