net-libs/zeromq: [QA] Fix dependency.equalsversion
[gentoo.git] / app-emulation / firecracker / firecracker-0.19.1.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 CRATES="
7 aho-corasick-0.6.10
8 backtrace-0.3.35
9 backtrace-sys-0.1.31
10 base64-0.9.3
11 bitflags-0.5.0
12 bitflags-1.2.1
13 byteorder-1.2.1
14 bytes-0.4.12
15 c2-chacha-0.2.2
16 cc-1.0.45
17 cfg-if-0.1.10
18 clap-2.33.0
19 cpuid-0.1.0
20 device_tree-1.1.0
21 epoll-4.0.1
22 fuchsia-zircon-0.3.3
23 fuchsia-zircon-sys-0.3.3
24 futures-0.1.18
25 futures-cpupool-0.1.8
26 getrandom-0.1.12
27 glob-0.2.11
28 httparse-1.3.4
29 hyper-0.11.16
30 iovec-0.1.4
31 ipnetwork-0.14.0
32 itoa-0.4.4
33 kernel-0.1.0
34 kernel32-sys-0.2.2
35 kvm-bindings-0.1.1
36 kvm-ioctls-0.2.0
37 language-tags-0.2.2
38 lazy_static-1.4.0
39 libc-0.2.62
40 log-0.3.9
41 log-0.4.8
42 logger-0.1.0
43 memchr-2.2.1
44 mime-0.3.14
45 mio-0.6.19
46 mio-uds-0.6.7
47 miow-0.2.1
48 net2-0.2.33
49 num_cpus-1.10.1
50 percent-encoding-1.0.1
51 pnet-0.22.0
52 pnet_base-0.22.0
53 pnet_datalink-0.22.0
54 pnet_macros-0.22.0
55 pnet_macros_support-0.22.0
56 pnet_packet-0.22.0
57 pnet_sys-0.22.0
58 pnet_transport-0.22.0
59 ppv-lite86-0.2.5
60 proc-macro2-1.0.5
61 quote-1.0.2
62 rand-0.7.2
63 rand_chacha-0.2.1
64 rand_core-0.5.1
65 rand_hc-0.2.0
66 redox_syscall-0.1.56
67 regex-1.0.6
68 regex-syntax-0.6.12
69 relay-0.1.1
70 remove_dir_all-0.5.2
71 rustc-demangle-0.1.16
72 rustc-serialize-0.3.24
73 ryu-1.0.1
74 safemem-0.3.2
75 scoped-tls-0.1.2
76 seccomp-0.1.0
77 serde-1.0.101
78 serde_derive-1.0.101
79 serde_json-1.0.41
80 slab-0.4.2
81 syn-1.0.5
82 syntex-0.42.2
83 syntex_errors-0.42.0
84 syntex_pos-0.42.0
85 syntex_syntax-0.42.0
86 sys_util-0.1.0
87 tempfile-3.1.0
88 term-0.4.6
89 textwrap-0.11.0
90 thread_local-0.3.6
91 time-0.1.42
92 timerfd-1.0.0
93 tokio-core-0.1.12
94 tokio-io-0.1.5
95 tokio-service-0.1.0
96 tokio-uds-0.1.7
97 unicase-2.5.1
98 unicode-width-0.1.6
99 unicode-xid-0.0.3
100 unicode-xid-0.2.0
101 utf8-ranges-1.0.4
102 version_check-0.1.5
103 wasi-0.7.0
104 winapi-0.2.8
105 winapi-0.3.8
106 winapi-build-0.1.1
107 winapi-i686-pc-windows-gnu-0.4.0
108 winapi-x86_64-pc-windows-gnu-0.4.0
109 ws2_32-sys-0.2.1"
110
111 inherit cargo linux-info toolchain-funcs
112
113 DESCRIPTION="Secure and fast microVMs for serverless computing"
114 HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
115 SRC_URI="https://github.com/firecracker-microvm/firecracker/archive/v${PV}.tar.gz -> ${P}.tar.gz
116         $(cargo_crate_uris ${CRATES})"
117
118 LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
119 SLOT="0"
120 KEYWORDS="-* ~amd64 ~x86"
121
122 RESTRICT="test"
123
124 BDEPEND="acct-group/kvm"
125
126 set_target_arch() {
127         case "$(tc-arch)" in
128                 amd64) target_arch=x86_64 ;;
129                 x86)   target_arch=i686 ;;
130         esac
131 }
132
133 pkg_setup() {
134
135         if ! linux_config_exists; then
136                         eerror "Unable to check your kernel for KVM support"
137         else
138                         CONFIG_CHECK+=" ~KVM_AMD" || \
139                         CONFIG_CHECK+=" ~KVM_INTEL"
140                         ERROR_KVM="${P} requires KVM in-kernel support."
141         fi
142 }
143
144 src_compile() {
145         local target_arch
146         set_target_arch
147         cargo_src_compile --target ${target_arch}-unknown-linux-gnu
148 }