Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-emulation/crun: new package ( 0.10.3 )
Crun is a container-runtime similar to runc except written in C, and roughly 50% faster. Package-Manager: Portage-2.3.78, Repoman-2.3.17 Signed-off-by: Dan Molik <dan@danmolik.com> Tested-by: Dan Molik <dan@danmolik.com> Signed-off-by: Manuel Rüger <mrueg@gentoo.org>
- Loading branch information
Showing
3 changed files
with
93 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
DIST crun-0.10.3.tar.gz 1235071 BLAKE2B 98d3cc82c48d288b10ac7716bf0f8a8ce7757cc5cebb2ed10ea6272d46eb434a5fee32791dd5e8ae3bee040a9e48bd411e95494e70609117ec5dbbc2ea24bd8f SHA512 df39e911b0f3b80861c1820806ce9cd0f9772711f7caf246fb4824beb19ddc6e6a593881a239a0e27ecd3bae7d823dde6893930618b43cd84623b5bcd510e8ae |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Copyright 2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit eutils | ||
|
||
DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" | ||
HOMEPAGE="https://github.com/containers/crun" | ||
SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" | ||
|
||
LICENSE="GPL-3" | ||
SLOT="0" | ||
KEYWORDS="~amd64" | ||
IUSE="bpf +caps doc seccomp systemd static-libs" | ||
|
||
DEPEND=" | ||
dev-libs/yajl | ||
sys-libs/libseccomp | ||
caps? ( sys-libs/libcap ) | ||
seccomp? ( sys-libs/libseccomp ) | ||
systemd? ( sys-apps/systemd ) | ||
" | ||
RDEPEND="${DEPEND}" | ||
BDEPEND=" | ||
>=dev-lang/python-3.5.0 | ||
doc? ( dev-go/go-md2man ) | ||
" | ||
|
||
DOCS=( README.md ) | ||
|
||
src_configure() { | ||
econf \ | ||
$(use_enable bpf) \ | ||
$(use_enable caps) \ | ||
$(use_enable seccomp) \ | ||
$(use_enable systemd) \ | ||
$(usex static-libs '--enabled-shared --enabled-static' '--enable-shared --disable-static' '' '') | ||
} | ||
|
||
src_compile() { | ||
pushd libocispec || die | ||
emake | ||
popd | ||
emake crun | ||
if use doc ; then | ||
emake crun.1 | ||
fi | ||
} | ||
|
||
src_install() { | ||
pushd libocispec || die | ||
emake "DESTDIR=$D" install-exec | ||
popd | ||
emake "DESTDIR=$D" install-exec | ||
if use doc ; then | ||
emake "DESTDIR=$D" install-man | ||
fi | ||
|
||
einstalldocs | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | ||
<pkgmetadata> | ||
<maintainer type="person"> | ||
<email>dan@danmolik.com</email> | ||
<name>Dan Molik</name> | ||
</maintainer> | ||
<maintainer type="project"> | ||
<email>proxy-maint@gentoo.org</email> | ||
<name>Proxy Maintainers</name> | ||
</maintainer> | ||
<longdescription lang="en"> | ||
While most of the tools used in the Linux containers ecosystem are written in | ||
Go, I believe C is a better fit for a lower level tool like a container | ||
runtime. runc, the most used implementation of the OCI runtime specs written | ||
in Go, re-execs itself and use a module written in C for setting up the | ||
environment before the container process starts. | ||
|
||
crun aims to be also usable as a library that can be easily included in | ||
programs without requiring an external process for managing OCI containers. | ||
</longdescription> | ||
<upstream> | ||
<changelog>https://github.com/containers/crun/releases</changelog> | ||
<remote-id type="github">containers/crun</remote-id> | ||
</upstream> | ||
<use> | ||
<flag name="bpf">Enable in Kernel, eBPF (enhanced Berkley Packet Filter) | ||
support for managing device controllers. | ||
</flag> | ||
</use> | ||
</pkgmetadata> |