# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=youki
pkgver=0.4.1
pkgrel=0
pkgdesc="Container runtime written in Rust"
url="https://github.com/containers/youki"
# ppc64le: syscalls crate inline asm is unstable for ppc64le
# s390x: nix crate lacks support
# riscv64: syscalls crate lacks support
# armhf: nc crate fails on invalid instruction
# armv7: need for rustc to catch to up pass thumb-mode properly
arch="all !armhf !armv7 !ppc64le !s390x !riscv64"
license="Apache-2.0"
makedepends="
	cargo
	cargo-auditable
	dbus-dev
	libseccomp-dev
	zlib-dev
	"
subpackages="$pkgname-dbg"
source="https://github.com/containers/youki/archive/v$pkgver/youki-$pkgver.tar.gz"
options="!check" # FIXME: some tests fail

# prioritize crun and runc
provides="oci-runtime"
provider_priority=80

# secfixes:
#   0.4.1-r0:
#     - CVE-2024-21626

# Disable systemd_cgroups
_cargo_opts='--frozen --no-default-features --features=libcgroups/v1,libcgroups/v2'

prepare() {
	default_prepare

	cargo fetch --target="$CTARGET" --locked
}

build() {
	cargo auditable build $_cargo_opts --release
}

check() {
	cargo test $_cargo_opts
}

package() {
	install -D -m755 target/release/youki -t "$pkgdir"/usr/bin/
}

sha512sums="
ff3c6a416844f25093630f19d8e92812fbb5d7359c148ae72abacc614a4ebc3d8263cf40429431c2f55c912cea12d91194bae49889d8998ed509b450c58a57a1  youki-0.4.1.tar.gz
"
