# Template file for 'kubernetes-helm'
pkgname=kubernetes-helm
version=2.11.0
revision=1
hostmakedepends="go make git mercurial"
short_desc="The Kubernetes Package Manager"
maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
license="Apache-2.0"
homepage="https://helm.sh/"
distfiles="https://github.com/helm/helm/archive/v${version}.tar.gz"
checksum=eee403cc1e05ab2eb1c6802eb7ecc4a5c544cb5971b7ee828c0b8d60fe061eb0
nopie=true
conflicts="helm"
wrksrc="helm-${version}"

_convert_arch() {
	case "$1" in
		aarch64*) echo arm64;;
		armv6*) echo arm;;
		armv7*) echo arm;;
		i686*) echo 386;;
		x86_64*) echo amd64;;
	esac
}

export _go_target_arch=$(_convert_arch $XBPS_TARGET_MACHINE)
export _go_host_arch=$(_convert_arch $XBPS_MACHINE)

do_extract() {
	mkdir -p golib/src/k8s.io/helm
	tar -xvzf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/v${version}.tar.gz \
		-C golib/src/k8s.io/helm \
		--strip-components 1 \
		helm-${version}
}

pre_build() {
	export GOPATH="$(pwd)/golib"

	## The current version of glide in the repository has
	## a bug that prevents building, so pull the current
	## version from git.
	CC=/bin/gcc go get github.com/Masterminds/glide
	CC=/bin/gcc go get github.com/mitchellh/gox
	CC=/bin/gcc go install github.com/Masterminds/glide
	CC=/bin/gcc go install github.com/mitchellh/gox
	PATH="$PATH:$(pwd)/golib/bin/"
	export PATH
}

do_build() {
	cd golib/src/k8s.io/helm
	TARGETS="linux/${_go_target_arch} linux/${_go_host_arch}" make bootstrap build-cross APP="..."

	_dist/linux-${_go_host_arch}/helm completion bash > completion.bash
	_dist/linux-${_go_host_arch}/helm completion zsh > completion.zsh
}

do_install() {
	cd golib/src/k8s.io/helm

	# Copy documentation and examples.
	vmkdir usr/share/examples/$pkgname
	vcopy "docs/examples/*" usr/share/examples/$pkgname
	for file in docs/man/man1/*.1; do
		vman ${file}
	done
	vinstall completion.bash 644 usr/share/bash-completion/completions helm
	vinstall completion.zsh 644 usr/share/$pkgname

	# Copy binaries and license
	vbin _dist/linux-${_go_target_arch}/helm
	vbin _dist/linux-${_go_target_arch}/tiller
	vlicense LICENSE
}
