summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/firecracker-bin/Manifest2
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild82
2 files changed, 84 insertions, 0 deletions
diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest
index 16bac94a56f3..bf72a14254fd 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -10,3 +10,5 @@ DIST firecracker-v1.1.3-aarch64.tgz 2066398 BLAKE2B 0ac0027f6c96e1d8dc72ccb87a1b
DIST firecracker-v1.1.3-x86_64.tgz 2034217 BLAKE2B 7d2f7dc4e4189305db872222d27802f03af8ddc0b5dc1a13e891b662aa50138b5cf5e31935d271a4abcf0052593443634bc9a7e93f5609a03ad16618db9e12ed SHA512 ce0b2723c26cee301de5a47579a578824f583fbf057be6b05737e6474d5591da36816224171d8136de0deb16101ecfd57d4a885cfcf46aa2043ef41e54d79eab
DIST firecracker-v1.2.0-aarch64.tgz 4060245 BLAKE2B 28434aa623eb473b1886e5a6da2a2b97a7bb1f6d6692724dccbeaef49cbd2204f3d0f409c59a1ca54b293f15b83ced5eb545d9c93c450048cb9f652e99c97a3c SHA512 c0ce21fb54fd16e0b649da65a05cbd43af470b5b8660a1b86cbcd7220c88ca535e5e107114c6ff30cd1d8818d046c741af0365ce6c2f25b7b2cac5b13f77634e
DIST firecracker-v1.2.0-x86_64.tgz 3932475 BLAKE2B 3db4b5f0746db48e8cd6e00735ba859e16b1bec94a23854cdc3af65d032773c596e8b52cf0a0cd40e363de1a5c67817176a5287af9c692167e8f4681a6b07e9a SHA512 67fcd8b898ebc3207de8f93a466430261c923d27bce97bb32636bd243957cb757da1fc72ebec2751c14205e111d2ffb80c94cfa033aecf715962e59b813fbe5f
+DIST firecracker-v1.3.1-aarch64.tgz 4178577 BLAKE2B 80636ee5878acce741f12647c7107b111430ee4a6f1da9e09af44d30bce16ac8e69d11ebc59b6220cbf145882876b38f4ee0e0a7c0050830ee93b6c925c0bd7e SHA512 f82ab276bac1d8187d33b4b0b07e871122170199025ca693d2eaf3a02d93e03dcbfe50af87584a69ac2c00868e0c02a8a7350f5e1b1e9cb196dc52d7c677f539
+DIST firecracker-v1.3.1-x86_64.tgz 4105205 BLAKE2B ab40e91c641c34b621542a991c642be61404aaa77d861341827d0555e5128773f7407277355a342fdc7c4c26d6a604e357901672175ef0a6578b25c9207c2e45 SHA512 272f3579f2943ee32663590e99658ee52cf7b8693b402d2f342e1de8a55fa4c05db5fb4b6a0495c88dfb51f0830640c3e6ef9e1569264f6c2eb9ab99c84bc2b5
diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild
new file mode 100644
index 000000000000..ec091124b7ad
--- /dev/null
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2021-2023 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
+ )"
+
+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/firecracker
+ usr/bin/jailer
+ usr/bin/rebase-snap
+ usr/bin/seccompiler-bin"
+
+S="${WORKDIR}"
+
+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() {
+ 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}/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
+}