1 |
commit: b818341b329017a792f721ff7b9576f843856945 |
2 |
Author: Dan Molik <dan <AT> danmolik <DOT> com> |
3 |
AuthorDate: Fri Oct 25 10:15:53 2019 +0000 |
4 |
Commit: Manuel Rüger <mrueg <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Oct 30 13:34:49 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b818341b |
7 |
|
8 |
app-emulation/crun: new package ( 0.10.3 ) |
9 |
|
10 |
Crun is a container-runtime similar to runc except written in C, and |
11 |
roughly 50% faster. |
12 |
|
13 |
Package-Manager: Portage-2.3.78, Repoman-2.3.17 |
14 |
Signed-off-by: Dan Molik <dan <AT> danmolik.com> |
15 |
Tested-by: Dan Molik <dan <AT> danmolik.com> |
16 |
Signed-off-by: Manuel Rüger <mrueg <AT> gentoo.org> |
17 |
|
18 |
app-emulation/crun/Manifest | 1 + |
19 |
app-emulation/crun/crun-0.10.3.ebuild | 61 +++++++++++++++++++++++++++++++++++ |
20 |
app-emulation/crun/metadata.xml | 31 ++++++++++++++++++ |
21 |
3 files changed, 93 insertions(+) |
22 |
|
23 |
diff --git a/app-emulation/crun/Manifest b/app-emulation/crun/Manifest |
24 |
new file mode 100644 |
25 |
index 00000000000..f666033e3b5 |
26 |
--- /dev/null |
27 |
+++ b/app-emulation/crun/Manifest |
28 |
@@ -0,0 +1 @@ |
29 |
+DIST crun-0.10.3.tar.gz 1235071 BLAKE2B 98d3cc82c48d288b10ac7716bf0f8a8ce7757cc5cebb2ed10ea6272d46eb434a5fee32791dd5e8ae3bee040a9e48bd411e95494e70609117ec5dbbc2ea24bd8f SHA512 df39e911b0f3b80861c1820806ce9cd0f9772711f7caf246fb4824beb19ddc6e6a593881a239a0e27ecd3bae7d823dde6893930618b43cd84623b5bcd510e8ae |
30 |
|
31 |
diff --git a/app-emulation/crun/crun-0.10.3.ebuild b/app-emulation/crun/crun-0.10.3.ebuild |
32 |
new file mode 100644 |
33 |
index 00000000000..af85b6beb34 |
34 |
--- /dev/null |
35 |
+++ b/app-emulation/crun/crun-0.10.3.ebuild |
36 |
@@ -0,0 +1,61 @@ |
37 |
+# Copyright 2019 Gentoo Authors |
38 |
+# Distributed under the terms of the GNU General Public License v2 |
39 |
+ |
40 |
+EAPI=7 |
41 |
+ |
42 |
+inherit eutils |
43 |
+ |
44 |
+DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" |
45 |
+HOMEPAGE="https://github.com/containers/crun" |
46 |
+SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" |
47 |
+ |
48 |
+LICENSE="GPL-3" |
49 |
+SLOT="0" |
50 |
+KEYWORDS="~amd64" |
51 |
+IUSE="bpf +caps doc seccomp systemd static-libs" |
52 |
+ |
53 |
+DEPEND=" |
54 |
+ dev-libs/yajl |
55 |
+ sys-libs/libseccomp |
56 |
+ caps? ( sys-libs/libcap ) |
57 |
+ seccomp? ( sys-libs/libseccomp ) |
58 |
+ systemd? ( sys-apps/systemd ) |
59 |
+" |
60 |
+RDEPEND="${DEPEND}" |
61 |
+BDEPEND=" |
62 |
+ >=dev-lang/python-3.5.0 |
63 |
+ doc? ( dev-go/go-md2man ) |
64 |
+" |
65 |
+ |
66 |
+DOCS=( README.md ) |
67 |
+ |
68 |
+src_configure() { |
69 |
+ econf \ |
70 |
+ $(use_enable bpf) \ |
71 |
+ $(use_enable caps) \ |
72 |
+ $(use_enable seccomp) \ |
73 |
+ $(use_enable systemd) \ |
74 |
+ $(usex static-libs '--enabled-shared --enabled-static' '--enable-shared --disable-static' '' '') |
75 |
+} |
76 |
+ |
77 |
+src_compile() { |
78 |
+ pushd libocispec || die |
79 |
+ emake |
80 |
+ popd |
81 |
+ emake crun |
82 |
+ if use doc ; then |
83 |
+ emake crun.1 |
84 |
+ fi |
85 |
+} |
86 |
+ |
87 |
+src_install() { |
88 |
+ pushd libocispec || die |
89 |
+ emake "DESTDIR=$D" install-exec |
90 |
+ popd |
91 |
+ emake "DESTDIR=$D" install-exec |
92 |
+ if use doc ; then |
93 |
+ emake "DESTDIR=$D" install-man |
94 |
+ fi |
95 |
+ |
96 |
+ einstalldocs |
97 |
+} |
98 |
|
99 |
diff --git a/app-emulation/crun/metadata.xml b/app-emulation/crun/metadata.xml |
100 |
new file mode 100644 |
101 |
index 00000000000..2e0bd20b39d |
102 |
--- /dev/null |
103 |
+++ b/app-emulation/crun/metadata.xml |
104 |
@@ -0,0 +1,31 @@ |
105 |
+<?xml version="1.0" encoding="UTF-8"?> |
106 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
107 |
+<pkgmetadata> |
108 |
+ <maintainer type="person"> |
109 |
+ <email>dan@××××××××.com</email> |
110 |
+ <name>Dan Molik</name> |
111 |
+ </maintainer> |
112 |
+ <maintainer type="project"> |
113 |
+ <email>proxy-maint@g.o</email> |
114 |
+ <name>Proxy Maintainers</name> |
115 |
+ </maintainer> |
116 |
+ <longdescription lang="en"> |
117 |
+ While most of the tools used in the Linux containers ecosystem are written in |
118 |
+ Go, I believe C is a better fit for a lower level tool like a container |
119 |
+ runtime. runc, the most used implementation of the OCI runtime specs written |
120 |
+ in Go, re-execs itself and use a module written in C for setting up the |
121 |
+ environment before the container process starts. |
122 |
+ |
123 |
+ crun aims to be also usable as a library that can be easily included in |
124 |
+ programs without requiring an external process for managing OCI containers. |
125 |
+ </longdescription> |
126 |
+ <upstream> |
127 |
+ <changelog>https://github.com/containers/crun/releases</changelog> |
128 |
+ <remote-id type="github">containers/crun</remote-id> |
129 |
+ </upstream> |
130 |
+ <use> |
131 |
+ <flag name="bpf">Enable in Kernel, eBPF (enhanced Berkley Packet Filter) |
132 |
+ support for managing device controllers. |
133 |
+ </flag> |
134 |
+ </use> |
135 |
+</pkgmetadata> |