summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/firecracker-bin')
-rw-r--r--app-emulation/firecracker-bin/Manifest2
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild82
2 files changed, 84 insertions, 0 deletions
diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest
index 849c881a38c1..16bac94a56f3 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -8,3 +8,5 @@ DIST firecracker-v1.1.2-aarch64.tgz 1873376 BLAKE2B e4498be965aa7706dd6eb3ff50ea
DIST firecracker-v1.1.2-x86_64.tgz 1894723 BLAKE2B 18044fa794826da62f026f61f779427e6ffb606b84e64e3b65bd1904acc06578dfe333130bcd2871371093c2d7d9e5756a744fb7181378bc71a0d80cca586daf SHA512 a2d5c36021c0f309f75182148b794beb3ca6369b63eb1ca9e963e0991df07cc6987d4653a7318b53c76cd82db5827dda059877c4d7f7bbd8d89e313a26c81b30
DIST firecracker-v1.1.3-aarch64.tgz 2066398 BLAKE2B 0ac0027f6c96e1d8dc72ccb87a1b8d6f438d2c3b459060d02578bbaa12c488081e40d13ef8ed31ffbf1031e7bafd86c47b6b5e513394a401216fd185c6b7b380 SHA512 17233406462ce7e6b528b563656ed35187cbf3172c6979e623cb280036d3d74e2361ca7b14f483a2e5a9635e340a64b83aae444aab504f95f31bd91c500d5823
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
diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild
new file mode 100644
index 000000000000..d91fe042b78a
--- /dev/null
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.2.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2021-2022 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
+}