# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Generated by zig-ebuilder 0.3.0

EAPI=8

DESCRIPTION="Ly - a TUI display manager"
HOMEPAGE="https://codeberg.org/fairyglade/ly"

declare -g -r -A ZBS_DEPENDENCIES=(
[clap-0.11.0-oBajB-HnAQDPCKYzwF7rO3qDFwRcD39Q0DALlTSz5H7e.tar.gz]='https://github.com/Hejsil/zig-clap/archive/refs/tags/0.11.0.tar.gz'
[ini-0.1.0-YCQ9YkUnAAA7SjpLwvomwrngMn3TConSAlNgo7Q8ibMZ.tar.gz]='https://github.com/AnErrupTion/ini/archive/ac6e656157b2ac6c98392283a139b47c44a85d54.tar.gz'
[zigini-0.3.2-BSkB7WJJAADybd5DGd9MLCp6ikGGUq9wicxsjv0HF1Qc.tar.gz]='https://github.com/AnErrupTion/zigini/archive/96ca1d9f1a7ec741f07ceb104dae2b3a7bdfd48a.tar.gz'
[N-V-__8AAGcUBQAa5vov1Yi_9AXEffFQ1e2KsXaK4dgygRKq.tar.gz]='https://github.com/AnErrupTion/termbox2/archive/290ac6b8225aacfd16851224682b851b65fcb918.tar.gz'
)

ZIG_SLOT="0.15"

inherit pam systemd zig

SRC_URI="
	https://codeberg.org/fairyglade/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
	${ZBS_DEPENDENCIES_SRC_URI}
"

S="${WORKDIR}/${PN}"
RES="${S}/res"

LICENSE="WTFPL-2"
SLOT="0"
KEYWORDS="~amd64"

IUSE="X"

DEPEND="
	sys-libs/pam
	X? (
		x11-libs/libxcb
	)
"
RDEPEND="
	app-misc/brightnessctl
	X? (
		x11-base/xorg-server
		x11-apps/xauth
		x11-apps/xrdb
		x11-apps/xmessage
	)
	sys-libs/ncurses
"

# https://github.com/ziglang/zig/issues/3382
QA_FLAGS_IGNORED="usr/bin/ly"

src_configure() {
	local my_zbs_args=(
		$(usex X -Denable_x11_support=true -Denable_x11_support=false)
	)
	zig_src_configure
}

src_install() {
	sed -e "s|\$PREFIX_DIRECTORY|/usr|g" \
	-e "s|\$EXECUTABLE_NAME|ly|g" \
	-e "s|\$DEFAULT_TTY|2|g" \
	-e "s|\$CONFIG_DIRECTORY|/etc|g"\
	-i "${RES}/${PN}.service" \
	-i "${RES}/${PN}-openrc" \
	-i "${RES}/config.ini"

	dobin "${WORKDIR}/${P}-build/usr/bin/${PN}"
	newinitd "${RES}/${PN}-openrc" ${PN}
	systemd_dounit "${RES}/${PN}.service"
	insinto /etc/${PN}
	doins "${RES}/config.ini" "${RES}/setup.sh"
	insinto "/etc/${PN}/lang"
	doins ${RES}/lang/*.ini
	newpamd "${RES}/pam.d/ly-linux" ly
	fperms +x /etc/${PN}/setup.sh
}

pkg_postinst() {
	systemd_reenable "${PN}.service"

	ewarn "Only systemd and openrc files are installed"
}