app-emulation/firecracker-bin: add 1.12.0

Signed-off-by: Sebastian Hamann <code@ares-macrotechnology.com>
Part-of: https://github.com/gentoo/gentoo/pull/41154
Closes: https://github.com/gentoo/gentoo/pull/41154
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sebastian Hamann
2025-03-18 18:01:00 +01:00
committed by Sam James
parent d07534377f
commit 0ac8737760
2 changed files with 89 additions and 0 deletions

View File

@@ -1,2 +1,4 @@
DIST firecracker-v1.10.1-aarch64.tgz 6733589 BLAKE2B 872dbec320c7b4bfda71014e1823ed1400d11bbff31a2f8a9d0c2a24102547ae42b5b18d6f23e73ab0999b311853c2560ad41ffd06dc608ec8d6ea77cc3b5734 SHA512 dbe3f913f58a66ecb1f67aec60a8eca012d3204177e8189eb85407634fd26902d196130f875901a6b7aa9c089a626df3389b5964b9d09777a41be8fb332b0b63
DIST firecracker-v1.10.1-x86_64.tgz 6638577 BLAKE2B fb8528f0b0375ae7ab990ceb814165a4a82e6deb3193e2d95de1c8665d841a212a00358dbd9fd041755e31c9aa5bc38c1fe050e83e3df57fd66ba1fd03f1651b SHA512 31c43889205fba47a1507ee5992e3602030d7b7b8d2abe054dead97bc8c31c42243c0f7003f1037b810f63c268cb4fd19e91c51225ad0810b1019c441845be0f
DIST firecracker-v1.12.0-aarch64.tgz 7032717 BLAKE2B 49e0df60594c4ea0889c362ecbc2dba03cd6c9d8974c8936c8d0b1144afee4081c0a492755452248f67c0900c0943d19b377aa85386ad9823c3a6b4b1d70c04a SHA512 14cd452dadbecf719f09b2644ba585aedbae6157bad4de1c51e511e6e8aee88549984ba8b1fdfcc6267574194934620abd55ecc2e1d4fab2dbe64dc81026f80a
DIST firecracker-v1.12.0-x86_64.tgz 7305842 BLAKE2B f47dbd1eeeaf3f99dec715e0ad248d0d42bc5461e415e1a6dd02e2543324a98735b8da8784518c01e4a899d094f6eba0dfa7ae1e22e147b20eaac4c0ce551e75 SHA512 00ec36ddbae8fbdafa3a24314427227e7f95b96d2dfaeae0390e9472e4ee439f2a7e86b56b09401c33fd32b5c9b8928b354f08f42734eb48046215542ad8d69c

View File

@@ -0,0 +1,87 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-info
DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
SRC_URI="
amd64? (
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
)
arm64? (
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
)"
S="${WORKDIR}"
LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
RESTRICT="test strip"
RDEPEND="acct-group/kvm"
QA_PREBUILT="usr/bin/cpu-template-helper
usr/bin/firecracker
usr/bin/jailer
usr/bin/rebase-snap
usr/bin/seccompiler-bin
usr/bin/snapshot-editor"
pkg_pretend() {
if use kernel_linux && kernel_is lt 4 14; then
eerror "Firecracker requires a host kernel of 4.14 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use"
ERROR_TUN+=" virtual network devices."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
if use amd64 || use amd64-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_INTEL"
fi
fi
# Now do the actual checks setup above
check_extra_config
fi
fi
}
src_compile() { :; }
src_install() {
local my_arch
if use amd64; then
my_arch=x86_64
elif use arm64; then
my_arch=aarch64
fi
dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
}