maintainer="Hoang Nguyen <folliekazetani@protonmail.com>"
pkgname=cloud-hypervisor
pkgver=45.0
pkgrel=0
pkgdesc="Virtual machine monitor for modern cloud workloads"
url="https://www.cloudhypervisor.org/"
# https://github.com/cloud-hypervisor/cloud-hypervisor#architectures
arch="x86_64 aarch64 riscv64"
license="Apache-2.0 AND BSD-3-Clause"
makedepends="cargo libcap-utils cargo-auditable"
source="https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v$pkgver/cloud-hypervisor-v$pkgver.tar.xz"
builddir="$srcdir/$pkgname-v$pkgver"
# tests require CAP_NET_ADMIN capability
# setcap cap_net_admin
options="!check setcap"

prepare() {
	default_prepare
	cargo fetch --target="$CTARGET" --locked
}

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

package() {
	install -Dm755 -t "$pkgdir"/usr/bin/ \
		target/release/cloud-hypervisor \
		target/release/ch-remote

	# Needs NET_ADMIN capabilities to set TAP interfaces up on the host
	setcap cap_net_admin=+ep "$pkgdir"/usr/bin/cloud-hypervisor
}

sha512sums="
4e51932eb6844dac668edc5984295bbc38657f162f6699c22b4b96e2e124383d440c007805276cec60cf740de7b601bf858422386bec73090d75fd8989c6116f  cloud-hypervisor-v45.0.tar.xz
"
