maintainer="Hoang Nguyen <folliekazetani@protonmail.com>"
pkgname=virter
pkgver=0.29.0
pkgrel=0
pkgdesc="CLI tool for simple creation and cloning of libvirt virtual machines"
url="https://github.com/LINBIT/virter"
arch="all"
license="Apache-2.0"
depends="libvirt dnsmasq-utils"
makedepends="go"
subpackages="
	$pkgname-doc
	$pkgname-bash-completion
	$pkgname-fish-completion
	$pkgname-zsh-completion
	"
source="$pkgname-$pkgver.tar.gz::https://github.com/LINBIT/virter/archive/refs/tags/v$pkgver.tar.gz
	update-mockery.patch
	"

build() {
	local _goldflags="
	-X github.com/LINBIT/virter/cmd.version=v$pkgver
	-X github.com/LINBIT/virter/cmd.builddate=$(date -u "+%Y-%m-%dT%H:%M:%S%z" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
	-X github.com/LINBIT/virter/cmd.githash=AlpineLinux
	"
	go build -v -ldflags "$_goldflags"

	for shell in bash fish zsh; do
		./virter completion $shell > virter.$shell
	done
}

check() {
	# Create mock files with mockery
	go generate internal/virter/virter_test.go

	go test ./...
}

package() {
	install -Dm755 virter -t "$pkgdir"/usr/bin/

	install -Dm644 doc/*.md -t "$pkgdir"/usr/share/doc/"$pkgname"/
	cp -r examples "$pkgdir"/usr/share/doc/"$pkgname"/

	install -Dm644 virter.bash \
		"$pkgdir"/usr/share/bash-completion/completions/virter
	install -Dm644 virter.fish \
		"$pkgdir"/usr/share/fish/vendor_completions.d/virter.fish
	install -Dm644 virter.zsh \
		"$pkgdir"/usr/share/zsh/site-functions/_virter
}

sha512sums="
238781c33d7e7c18546229e11f4985f57e439d8edd24430e0b660dcce747e1c32f828f613065c675cf2615837e68f3f814cad7df80ed002e86765d2851686ad5  virter-0.29.0.tar.gz
d50cb52b4af218310f8faeb7a1ebd528b7ca7f97dc85f0babf5b6cbdfca32f6abef2780d1440d982209bce8d991f21efaa0681f1962beab8c47b19071c8d1b82  update-mockery.patch
"
