# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
# Contributor: Tuan Hoang <tmhoang@linux.ibm.com>
maintainer="Kevin Daudt <kdaudt@alpinelinux.org>"
pkgname=yq-go
_projname=yq
pkgver=4.46.1
pkgrel=0
pkgdesc="Portable command-line YAML processor written in Go"
url="https://github.com/mikefarah/yq"
arch="all"
license="MIT"
makedepends="go"
checkdepends="bash tzdata"
replaces="yq~4.0"  # backward compatibility (Alpine <3.20)
# For backward compatibility (Alpine <3.20). This should be moved to yq-python
# someday later (see #16052).
provides="yq=$pkgver-r$pkgrel"
options="net" # go modules
subpackages="
	$pkgname-bash-completion
	$pkgname-zsh-completion
	$pkgname-fish-completion
	"
source="$pkgname-$pkgver.tar.gz::https://github.com/mikefarah/yq/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_projname-$pkgver"

# secfixes:
#   4.45.1-r0:
#     - CVE-2024-45338

build() {
	go build -v -o yq

	./yq shell-completion bash > yq.bash
	./yq shell-completion zsh > yq.zsh
	./yq shell-completion fish > yq.fish
}

check() {
	go test ./...

	# Yanked from scripts/acceptance.sh
	for test in acceptance_tests/*.sh; do
		echo "--------------------------------------------------------------"
		echo "$test"
		echo "--------------------------------------------------------------"
		bash "$test"
	done
}

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

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

sha512sums="
aeeb883792648d34eed46901f49e9eb0679e986f26aa643b7be494433dfafb174413357c72b08e91fc88df7b1f107042cf4f587baa75458645e850881bf86004  yq-go-4.46.1.tar.gz
"
