diff --git a/testing/cloud-hypervisor/APKBUILD b/testing/cloud-hypervisor/APKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..7e7b7680f7d5042fbeec05dbaaf8416c8006f470 --- /dev/null +++ b/testing/cloud-hypervisor/APKBUILD @@ -0,0 +1,41 @@ +# Maintainer: Hoang Nguyen +pkgname=cloud-hypervisor +pkgver=27.0 +pkgrel=0 +pkgdesc="Virtual machine monitor for modern cloud workloads" +url="https://www.cloudhypervisor.org/" +# Only x86_64 and aarch64 are officially supported +arch="x86_64 aarch64" +license="Apache-2.0 AND BSD-3-Clause" +makedepends="cargo libcap openssl-dev" +options="!check" # tests need CAP_NET_ADMIN +source="https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v$pkgver/cloud-hypervisor-v$pkgver.tar.xz" +builddir="$srcdir/$pkgname-v$pkgver" + +export OPENSSL_NO_VENDOR=1 +export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 +export CARGO_PROFILE_RELEASE_LTO="true" +export CARGO_PROFILE_RELEASE_OPT_LEVEL="s" +export CARGO_PROFILE_RELEASE_PANIC="abort" + +prepare() { + default_prepare + cargo fetch --locked +} + +build() { + cargo build --workspace --release --frozen +} + +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 target/release/cloud-hypervisor +} + +sha512sums=" +e371342fc3b066d7d298316c470325c2b8f154fb3c728053bf20d673d1ae06f49e1ee0790741de8d4e88d1fd67bfd5f4ad8d456fe8cba350dc4497726a45a3e5 cloud-hypervisor-v27.0.tar.xz +"