Gentoo Archives: gentoo-commits

From: "Manuel Rüger" <mrueg@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/crun/
Date: Wed, 30 Oct 2019 13:35:32
Message-Id: 1572442489.b818341b329017a792f721ff7b9576f843856945.mrueg@gentoo
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>