Apocrypha

glow-2.1.2baar-dau

# 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"
}