# Template file for 'dms-greeter'
#
# DMS Greeter for greetd, built from the dux-greeter repository.
# Single Go binary with the Quickshell UI embedded (built with the
# `withshell` tag); the release tarball carries the dux-qml-common
# submodule and vendored Go dependencies.
# CI rewrites version/checksum from the selected release tag before building.
pkgname=dms-greeter
version=1.0.0
revision=1
build_wrksrc="core"
build_style=go
hostmakedepends="make tar"
go_import_path="github.com/duxlabs-dev/dux-greeter/core"
go_package="${go_import_path}/cmd/dms-greeter"
go_build_tags="withshell"
go_ldflags="-X main.Version=${version}"
short_desc="Greetd login screen with the Dux Shell aesthetic"
maintainer="AvengeMedia <AvengeMedia.US@gmail.com>"
license="MIT"
homepage="https://github.com/duxlabs-dev/dux-greeter"
changelog="https://github.com/duxlabs-dev/dux-greeter/releases"
distfiles="https://github.com/duxlabs-dev/dux-greeter/releases/download/v${version}/dank-greeter-${version}.tar.gz"
checksum=badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb

# Versions restarted at 1.0.0 when the greeter moved off Dux Shell's
# 1.5.x numbering; reverts lets xbps upgrade over those old higher versions.
reverts="1.5.0_2 1.5.0_1"

conflicts="dms-greeter-git"

depends="greetd quickshell acl-progs dbus elogind pam_rundir mesa-dri"

# Cache dir the greeter uses as $HOME (owned by greetd's _greeter user);
# also holds the extracted embedded UI.
make_dirs="/var/cache/dms-greeter 0750 _greeter _greeter"

pre_build() {
	# Bake the quickshell UI into the embed dir consumed by go:embed
	make sync-shell
}

post_install() {
	# Shell completions (generated by the built binary; skip when cross-building)
	vmkdir usr/share/bash-completion/completions
	vmkdir usr/share/zsh/site-functions
	vmkdir usr/share/fish/vendor_completions.d
	if [ -z "$CROSS_BUILD" ]; then
		"${DESTDIR}/usr/bin/dms-greeter" completion bash > "${DESTDIR}/usr/share/bash-completion/completions/dms-greeter"
		"${DESTDIR}/usr/bin/dms-greeter" completion zsh  > "${DESTDIR}/usr/share/zsh/site-functions/_dms-greeter"
		"${DESTDIR}/usr/bin/dms-greeter" completion fish > "${DESTDIR}/usr/share/fish/vendor_completions.d/dms-greeter.fish"
	fi

	# Sample compositor configs for reference
	vmkdir usr/share/examples/dms-greeter
	vcopy "${wrksrc}/assets/examples/*" usr/share/examples/dms-greeter

	vdoc "${wrksrc}/README.md"
	vlicense "${wrksrc}/LICENSE"
}
