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.0.0.ebuild81
2 files changed, 83 insertions, 0 deletions
diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest
index 945f291ecb5c..d86a65faef32 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -6,3 +6,5 @@ DIST firecracker-v0.25.1-aarch64.tgz 1746829 BLAKE2B 613e575d06cd9e482cec705a177
DIST firecracker-v0.25.1-x86_64.tgz 1773703 BLAKE2B d577dfad765b8135471a673e9699c75bb7905e73496b7e9940a7634182267a1b3bfd8111088db4e1103da47e64159c585d46f8a9fb913ba3dcb1d4d1fe5f9920 SHA512 8108b7576655ae31c97f6349f5dd530aca2828acbb0d4589d6d0c113d44c4e14b28c4d76f73fe16c5538ce4940bd86e913e97ad35d7f915f8199bceaf4f74fe3
DIST firecracker-v0.25.2-aarch64.tgz 1750770 BLAKE2B 8b34e8be4965e048e51ef60c8938f1a346d2cbf852166d7fb6156781626a2201b8fe56a8f82fcd96e2ed637f32f3f2ed83cbdd3e56a27026f6fc9ac3b1ee1fc2 SHA512 d8a8a2c4bcd347dda63fdbbaed58bd9b8626b1d23be9fc1151d8fb5ebd4b65feea9eff304bf951d82817cf5af0a7a7ca1be37f2bd62d1cd72bf6f4119499f950
DIST firecracker-v0.25.2-x86_64.tgz 1773163 BLAKE2B dd1287cbbc2955368011417b56d24d7ab4d44b5d102a38541b5038d7a400dad71393ba25ab831cacf0aca8c1e6e344f56fb668af88ebb4c379941bed152a5e71 SHA512 24d7a466019e786ded7eb6747108123c1f177e86d3197738ffc646a2f27f642576e052a8b52a0b75fa3b53de6e0a2828defa5dbba62b208e8c262248240c5059
+DIST firecracker-v1.0.0-aarch64.tgz 1645541 BLAKE2B 4ddc94567209078cd6449f52b77ec56514d7a6a284f3ca9736379070ec0048b5ae03159903ca7c85ba08732f4c341d4140165479b289be6cecc0de02e94bbd60 SHA512 3294d4f86b493841e00be26b8843add4cd04bd73a9006b22def101c5aa064489bd3287bdc1b3bcb6a4534205c36aeefe26f28a0fa934ae655cd24ac397175f09
+DIST firecracker-v1.0.0-x86_64.tgz 1670233 BLAKE2B a715514f8497a694d29c33872f3521c11098f7b86e035b7ebe4ba9d912b60be9f1b6ecd03e60fa515223f72b7962613907855bb63d64650a8a62e2c23acd0233 SHA512 ecfae6adde808bbb1829c3fcf47e7ffe5eeeeca6d68c73b8d631015c09463b4912d5d66f46e0a68fef671498875567e14631ae370a5049d70f2976cf7fb93314
diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.0.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.0.0.ebuild
new file mode 100644
index 000000000000..bc5a55abc408
--- /dev/null
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.0.0.ebuild
@@ -0,0 +1,81 @@
+# 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="!app-emulation/firecracker
+ acct-group/kvm"
+
+QA_PREBUILT="usr/bin/firecracker
+ usr/bin/jailer
+ 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}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
+}