# Contributor: Chloe Kudryavtsev <code@toast.bunkerlabs.net>
# Maintainer: omni <omni+alpine@hack.org>
pkgname=bat
pkgver=0.25.0
pkgrel=4
pkgdesc="cat(1) clone with wings"
url="https://github.com/sharkdp/bat"
arch="all"
license="Apache-2.0"
depends="less" # Required for RAW-CONTROL-CHARS
makedepends="
	cargo
	cargo-auditable
	libgit2-dev
	oniguruma-dev
	"
checkdepends="bash"
options="net"
subpackages="$pkgname-doc
	$pkgname-bash-completion
	$pkgname-fish-completion
	$pkgname-zsh-completion
	"
source="https://github.com/sharkdp/bat/archive/v$pkgver/bat-$pkgver.tar.gz
	001-bump-unsafe-libyaml.patch
	002-bump-libgit2.patch
	"

# secfixes:
#   0.21.0-r0:
#     - CVE-2022-24713

export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"

export RUSTONIG_DYNAMIC_LIBONIG=1  # use system libonig
export LIBGIT2_NO_VENDOR=1  # use system libgit2

prepare() {
	default_prepare

	cargo fetch --target="$CTARGET" --locked
}

build() {
	cargo auditable build --frozen --release
}

check() {
	cargo test --frozen
}

package() {
	install -Dm755 target/release/bat "$pkgdir"/usr/bin/bat

	find "$srcdir" -name bat.1 -exec install -Dm644 {} \
		"$pkgdir"/usr/share/man/man1/bat.1 \;

	find "$srcdir" -name bat.bash -exec install -Dm644 {} \
		"$pkgdir"/usr/share/bash-completion/completions/bat \;

	find "$srcdir" -name bat.fish -exec install -Dm644 {} \
		"$pkgdir"/usr/share/fish/vendor_completions.d/bat.fish \;

	find "$srcdir" -name bat.zsh -exec install -Dm644 {} \
		"$pkgdir"/usr/share/zsh/site-functions/_bat \;
}

sha512sums="
67404af5b5289cf3bf700a8bdafd28efd5d14785dafbeb63cf305654206b72db4f801515b5c8c181180fcdf7a4a36f19ce6294039ba50c9a23eb53651330ae23  bat-0.25.0.tar.gz
4889ebf935fff95face5b2532ba9826560054726f64d42689fcbdf8e279baeb0336ce921668608466d3f69db677225665c5618809e35ed4d6e7f9311b629f8df  001-bump-unsafe-libyaml.patch
0ef897122df8ecec0d1ae6d3dc1379626d3c398c4dc9753e346d1e7322378e827941ed0a37a2863bd3bc17d8b7caa64e9df783c8893694bea3d7d184a3c53b7b  002-bump-libgit2.patch
"
