# Template file for 'bat'
pkgname=bat
version=0.22.1
revision=2
build_style=cargo
hostmakedepends="cmake llvm clang pkg-config"
makedepends="libcurl-devel libgit2-devel libssh2-devel oniguruma-devel"
short_desc="Cat(1) clone with syntax highlighting and Git integration"
maintainer="John <me@johnnynator.dev>"
license="Apache-2.0, MIT"
homepage="https://github.com/sharkdp/bat"
changelog="https://raw.githubusercontent.com/sharkdp/bat/master/CHANGELOG.md"
distfiles="https://github.com/sharkdp/bat/archive/refs/tags/v${version}.tar.gz"
checksum=25e45debf7c86794281d63a51564feefa96fdfdf575381e3adc5c06653ecaeca

# skip problematic doctests on i686
case "$XBPS_TARGET_MACHINE" in
	i686) make_check_args="--tests";;
	*) ;;
esac

post_patch() {
	# fixes an indexmap error when cross compiling
	cargo update --package autocfg@1.0.1 --precise 1.1.0
}

pre_build() {
	export CFLAGS_${RUST_BUILD//-/_}="${CFLAGS_host}"
	export CC_${RUST_BUILD//-/_}="${BUILD_CC}"
}

post_install() {
	local manpage
	vlicense LICENSE-MIT
	vdoc README.md
	# The manual page is hidden somewhere deep in the build tree
	manpage=$(find ${wrksrc}/target -name bat.1 | head -n1)
	vman ${manpage}
	# Completions are also hidden somewhere deep in the build tree
	fish_completion=$(find ${wrksrc}/target -name bat.fish -print -quit)
	vcompletion ${fish_completion} fish
	zsh_completion=$(find ${wrksrc}/target -name bat.zsh -print -quit)
	vcompletion ${zsh_completion} zsh
	bash_completion=$(find ${wrksrc}/target -name bat.bash -print -quit)
	vcompletion ${bash_completion} bash
}
