maintainer="Hoang Nguyen " pkgname=cloud-hypervisor pkgver=48.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" subpackages="$pkgname-doc" 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() { # fw_cfg feature fails to build _features="dbus_api,ivshmem" case $CARCH in riscv64) ;; *) _features="$_features,fw_cfg" ;; esac cargo auditable build --release --frozen --features "$_features" } package() { install -Dm755 -t "$pkgdir"/usr/bin/ \ target/release/cloud-hypervisor \ target/release/ch-remote install -Dm644 docs/*.md \ -t "$pkgdir"/usr/share/doc/cloud-hypervisor/ # Needs NET_ADMIN capabilities to set TAP interfaces up on the host setcap cap_net_admin=+ep "$pkgdir"/usr/bin/cloud-hypervisor } sha512sums=" 8d5b0f0a03c7d549cdf3137a51fe3faac96d1014752971399c0b63cf2e33764aede2df828882591c743772d48179442eec4a9ed6219f65cd4d976759e2432e49 cloud-hypervisor-v48.0.tar.xz "