# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module shell-completion
DESCRIPTION="Render markdown on the CLI, with pizzazz!"
HOMEPAGE="https://github.com/charmbracelet/glow"
SRC_URI="
https://github.com/charmbracelet/glow/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/Putrefalcis/baar-dau/releases/download/${P}-deps/${P}-deps.tar.xz
"
# MIT is glow itself; the rest cover the bundled Go dependencies.
LICENSE="MIT Apache-2.0 BSD"
SLOT="0"
KEYWORDS="~amd64"
# Matches the go directive in go.mod.
BDEPEND=">=dev-lang/go-1.25.9"
src_compile() {
# main.Version is normally stamped by goreleaser; without it glow
# reports "unknown (built from source)".
ego build -ldflags "-X main.Version=${PV}" -o bin/glow
}
src_test() {
ego test ./...
}
src_install() {
dobin bin/glow
einstalldocs
# The binary generates its own man page and shell completions. TERM=dumb
# stops its styling library from querying the terminal for colors first;
# the replies would land as stray escape codes in the emerge output.
# Only these build-time runs are affected, not the installed binary.
local -x TERM=dumb
bin/glow man > "${PN}.1" || die "generating man page failed"
doman "${PN}.1"
bin/glow completion bash > "${PN}" || die "generating bash completion failed"
dobashcomp "${PN}"
bin/glow completion zsh > "_${PN}" || die "generating zsh completion failed"
dozshcomp "_${PN}"
bin/glow completion fish > "${PN}.fish" || die "generating fish completion failed"
dofishcomp "${PN}.fish"
}