commit:     6895c97dd520b6924308683eb848cead7ad596e6
Author:     Sebastian Hamann <code <AT> ares-macrotechnology <DOT> com>
AuthorDate: Thu Mar 21 08:52:58 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 07:40:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6895c97d

app-emulation/firecracker-bin: add 1.7.0

Signed-off-by: Sebastian Hamann <code <AT> ares-macrotechnology.com>
Closes: https://github.com/gentoo/gentoo/pull/35850
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 app-emulation/firecracker-bin/Manifest             |  2 +
 .../firecracker-bin/firecracker-bin-1.7.0.ebuild   | 87 ++++++++++++++++++++++
 2 files changed, 89 insertions(+)

diff --git a/app-emulation/firecracker-bin/Manifest 
b/app-emulation/firecracker-bin/Manifest
index 63372c6e0a5d..f1969674bc5a 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -2,3 +2,5 @@ DIST firecracker-v1.5.1-aarch64.tgz 9086440 BLAKE2B 
30777522bdb23e80bc3a025691d5
 DIST firecracker-v1.5.1-x86_64.tgz 9411106 BLAKE2B 
538b531ce5c8319dee042229a7cc7c44cdd2fc07c58c3089b6c2d29d10ad8a5a78f697b7781ac81bcf8b4127e778895ab72eed9e1e6febd410b6c0509c01ae1e
 SHA512 
63a44fb79e9fb29abfbaa6c96550c5f2f361c3be5e188bb4562b089b4d3f1f4ab3ef60ad3ab163e961857e95090401dc4df859d2dd2a5f1a1372ed663188cfa3
 DIST firecracker-v1.6.0-aarch64.tgz 9105124 BLAKE2B 
bcc77e6701a4b9c7d80d7e60b13d4945d5f76918cc1741035f26df5af05c4c579802444c90c8972a7985d4df8e10f2b9954b5889eca92f5d95b02751481084db
 SHA512 
71608a46bdb5be5240d4a88e812c13e753d81e4f4813a818ebfd782934add2c3769bd71788f5e2bed1a6e1d9bcfc3a914e018f1682cc6806012c3e283e44f401
 DIST firecracker-v1.6.0-x86_64.tgz 9425451 BLAKE2B 
bae5eb960c6d575724915cfd4cb50cdc85d6be44b47271a5d68662b7ce86a7356aad215097214b7d32dad9051f385188d83592588be1addc15727c633f10e4d1
 SHA512 
a00b0d1b8da02b167627169d316b6a88bd44b1f42eb2cbebad5c355485f2456288d2062cb63b1ddc4d636ae8f4fad3a15dc9404b5347e746a7b416758d6507d5
+DIST firecracker-v1.7.0-aarch64.tgz 8951358 BLAKE2B 
813be9e38e318233b3b574e21e3f07e3eab82eba1a22ca2082a7e2b9312b8022fd288ac4b72dbfa82f8a8ab561e4877553c249913d290b0701773d53a28296a7
 SHA512 
1b78353e204569acace417a95bfd2075f909205d59c32cbce18438751d5aeaae8ac3e3d3791d153a30337037c01fd6622793aa200a7e21d51f98a886123c545d
+DIST firecracker-v1.7.0-x86_64.tgz 9038632 BLAKE2B 
6473113f2cc8225fdf8fc6f8612874c46fda05c13ebda040b7998554fda3e9cc69fbfae9481dc9e5b3100f05b50a82525810deccebaf45665d67aca7ebc0dc23
 SHA512 
cca5390c81bb9b78865608729840f12a1e9b9ed072859853e1f2853312dc62a78f0206fa007174c5fc18a7bf7d6e4b905e954ecdf6c3b78782d65e9801a45a0b

diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild 
b/app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild
new file mode 100644
index 000000000000..4e841c1ab26e
--- /dev/null
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2021-2024 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/cpu-template-helper
+       usr/bin/firecracker
+       usr/bin/jailer
+       usr/bin/rebase-snap
+       usr/bin/seccompiler-bin
+       usr/bin/snapshot-editor"
+
+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() {
+       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
+}

Reply via email to