# Maintainer: Uyanide <pywang0608@foxmail.com>

pkgname=soteria
pkgver=0.3.2
pkgrel=1
_tag="v${pkgver}"
_srcdir="${pkgname}-${_tag#v}"
pkgdesc="A GTK-based polkit authentication agent"
arch=('x86_64')
url="https://github.com/imvaskel/soteria"
license=('Apache-2.0')
depends=(
	'glib2'
	'glibc'
	'gtk4'
	'libgcc'
	'polkit'
)
makedepends=(
	'rust'
	'gettext'
)
options=(!debug)
source=(
	"${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/${_tag}.tar.gz"
	"soteria.service"
)
sha512sums=('4b1f89d2e32e5f9b91ff8a1a7d2749331ec56892d69998815dd48c8f57d04aba064410a7f174691cb132fcc505991bf47a6705a0b16e2f9994a47ebdcba8c349'
            '2302e1dfb914af8fbc4ac8a813961057eb07a44f8ba9b9e1c96ffad72c0742f748b24715065078ad195df5a86b46c06fd87aa6f760cfde11c9f658d1f82dc2c3')

prepare() {
	cd "${_srcdir}"

	export RUSTUP_TOOLCHAIN=stable
	cargo fetch --locked --target "$(rustc --print host-tuple)"
}

build() {
	cd "${_srcdir}"

	export RUSTUP_TOOLCHAIN=stable
	export CARGO_TARGET_DIR=target
	cargo build --release --frozen
}

package() {
	install -Dm644 -t "${pkgdir}/usr/lib/systemd/user" soteria.service

	cd "${_srcdir}"

	install -Dm755 -t "${pkgdir}/usr/lib/soteria-polkit" target/release/soteria
	install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE

	local lang dest
	cd po
	for file in *.po; do
		lang=${file%.*}
		dest="${pkgdir}/usr/share/locale/${lang}/LC_MESSAGES"
		install -d "$dest"
		msgfmt "$file" -o "${dest}/soteria.mo"
	done
}
