# Contributor: Dennis Przytarski # Maintainer: Dennis Przytarski pkgname=firecracker pkgver=1.2.0 pkgrel=1 pkgdesc="Secure and fast microVMs for serverless computing" url="https://github.com/firecracker-microvm/firecracker" arch="aarch64 x86_64" license="Apache-2.0" makedepends="rust cargo clang-dev linux-headers" subpackages=" $pkgname-seccompiler $pkgname-rebase-snap:rebase_snap " source="$pkgname-$pkgver.tar.gz::https://github.com/firecracker-microvm/firecracker/archive/v$pkgver.tar.gz" prepare() { default_prepare cargo fetch --locked --target "$CTARGET" # Change the seccomp filters' names so they get embedded into the binary for a in $arch; do mv -v resources/seccomp/"$a-unknown-linux-musl.json" resources/seccomp/"$a-alpine-linux-musl.json" done } build() { cargo build \ --package firecracker \ --package jailer \ --package seccompiler \ --package rebase-snap \ --target "$CTARGET" \ --all-features \ --frozen \ --release } check() { # jailer: tests failed testing functionality of cgroups # seccompiler: tests failed spawning a thread cargo test \ --package firecracker \ --package rebase-snap \ --target "$CTARGET" \ --frozen # Other integration tests need pytest and docker } package() { install -Dm755 build/cargo_target/$CTARGET/release/firecracker \ -t "$pkgdir"/usr/bin install -Dm755 build/cargo_target/$CTARGET/release/jailer \ -t "$pkgdir"/usr/bin install -Dm755 build/cargo_target/$CTARGET/release/rebase-snap \ -t "$pkgdir"/usr/bin install -Dm755 build/cargo_target/$CTARGET/release/seccompiler-bin \ -t "$pkgdir"/usr/bin } seccompiler() { pkgdesc="$pkgdesc - seccompiler" amove usr/bin/seccompiler-bin } rebase_snap() { pkgdesc="$pkgdesc - rebasing diff snapshot tool" amove usr/bin/rebase-snap } sha512sums=" a5cf97ee9b06495972410081b41134534031f6a91f15e2cfa3a32a7e6f0b3edecf7237456cab45563f5ddaf7de68dfeec74260020bb6f0f6e6387938f0963227 firecracker-1.2.0.tar.gz "