View Raw Ebuild
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the WTFPL-2 License
EAPI=8
ZIGINI_COMMIT="0bba97a12582928e097f4074cc746c43351ba4c8"
ZIG_CLAP_VER="0.9.1"
DESCRIPTION="A lightweight TUI (ncurses-like) display manager for Linux and BSD"
HOMEPAGE="https://github.com/fairyglade/ly"
SRC_URI="
https://github.com/fairyglade/ly/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/Hejsil/zig-clap/archive/refs/tags/${ZIG_CLAP_VER}.tar.gz -> zig-clap-${ZIG_CLAP_VER}.tar.gz
https://github.com/Kawaii-Ash/zigini/archive/${ZIGINI_COMMIT}.tar.gz -> zigini-${ZIGINI_COMMIT:0:7}.tar.gz
"
LICENSE="WTFPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="systemd"
BDEPEND="|| ( dev-lang/zig-bin:0.13 dev-lang/zig:0.13 )"
RDEPEND="
sys-libs/pam
x11-libs/libxcb
"
DEPEND="${RDEPEND}"
src_unpack() {
default
# Create deps directory
mkdir -p "${S}/deps" || die
# Move dependencies
mv "${WORKDIR}/zig-clap-${ZIG_CLAP_VER}" "${S}/deps/clap" || die
mv "${WORKDIR}/zigini-${ZIGINI_COMMIT}" "${S}/deps/zigini" || die
}
src_prepare() {
default
# Patch build.zig.zon to use local paths
# We use a sed command that targets the specific dependency blocks
# Note: zig-clap block starts with .clap = .{ and zigini with .zigini = .{
sed -i \
-e '/\.clap = \.{/,/},/ s|\.url = ".*"|.path = "deps/clap"|' \
-e '/\.clap = \.{/,/},/ s|\.hash = ".*"||' \
-e '/\.zigini = \.{/,/},/ s|\.url = ".*"|.path = "deps/zigini"|' \
-e '/\.zigini = \.{/,/},/ s|\.hash = ".*"||' \
build.zig.zon || die "sed failed"
}
src_compile() {
# Zig build
# We use -Doptimize=ReleaseSafe as standard for Gentoo packages
zig build -Doptimize=ReleaseSafe || die "zig build failed"
}
src_install() {
# Install OpenRC service (and common files: binary, configs, pam)
zig build installopenrc -Ddest_directory="${D}" -Doptimize=ReleaseSafe || die "installopenrc failed"
if use systemd; then
# Install Systemd service (re-installs common files but that's fine)
zig build installsystemd -Ddest_directory="${D}" -Doptimize=ReleaseSafe || die "installsystemd failed"
fi
}