# Copyright 2026 Nadeŭka <me+oss@nadevko.cc>
# Distributed under the terms of the GNU General Public License v2
EAPI=8
BRIGHTNESSCTL_MODE=auto

inherit git-r3 udev

DESCRIPTION='Program to read and control device brightness'
HOMEPAGE=https://github.com/Hummer12007/brightnessctl
EGIT_REPO_URI=https://github.com/Hummer12007/${PN}.git

LICENSE=MIT
SLOT=0

IUSE='basu dbus elogind systemd +udev'
REQUIRED_USE='
	dbus? ( ^^ ( basu elogind systemd ) )
	basu? ( dbus )
	elogind? ( dbus )
	systemd? ( dbus )
'

DEPEND='
	basu? ( sys-libs/basu )
	elogind? ( sys-auth/elogind )
	systemd? ( >=sys-apps/systemd-243 )
'
RDEPEND="
	${DEPEND}
	udev? ( virtual/udev acct-group/video acct-group/input )
"
BDEPEND=virtual/pkgconfig

src_configure() {
	./configure \
		--prefix="${EPREFIX}"/usr \
		--install-mode="${BRIGHTNESSCTL_MODE}" \
		--udev-dir="$(get_udevdir)" \
		--dbus-provider=$(usex basu basu $(usex elogind elogind systemd)) \
		$(use_enable dbus logind) $(use_enable udev) ||
		die "Failed to configure '${PN}'"
}

src_install() {
	emake DESTDIR="${D}" install
	einstalldocs
	newinitd "${FILESDIR}"/brightnessctl.initd brightnessctl
	newconfd "${FILESDIR}"/brightnessctl.confd brightnessctl
}

pkg_postinst() {
	use udev && udev_reload

	if ! use systemd; then
		elog 'To make brightness persistent across reboots, enable the service:'
		elog '  rc-update add brightnessctl boot'
		elog '  rc-service brightnessctl start'
	fi
}

pkg_postrm() {
	use udev && udev_reload
}