summaryrefslogtreecommitdiff
path: root/app-emulation/crun
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/crun')
-rw-r--r--app-emulation/crun/Manifest4
-rw-r--r--app-emulation/crun/crun-0.15.ebuild68
-rw-r--r--app-emulation/crun/metadata.xml1
3 files changed, 72 insertions, 1 deletions
diff --git a/app-emulation/crun/Manifest b/app-emulation/crun/Manifest
index 29ae506263a1..3a8af5f387b1 100644
--- a/app-emulation/crun/Manifest
+++ b/app-emulation/crun/Manifest
@@ -1,4 +1,6 @@
DIST crun-0.14.1.tar.gz 1341891 BLAKE2B c20d5001161e298050ddca859fa78487fe3f8577ef0b06eb5515056f19ba4f981debeb684148de49111a0370b9bafb7f6454d65f7ecf087862c697a162c9b377 SHA512 420f1713653cbd17df83b2a63d163aaa41baf78115b093877a2241305e10b2ceeaf08ea6700658eca894729ff8a20cbc66f868d18d27fba3fbedf1a9993b122e
+DIST crun-0.15.tar.gz 1364861 BLAKE2B 7078e71229bae4bc663398891b21344abc3189c78a11e4feeae3236e1df4a2c5160cf26f2cc243d4c0898a642a779603d473d2c22ca2b67123c6ac4654fce4d7 SHA512 f9a9e94b6a9c5cff01fe93b1c3d5876a0794e6288b802cf579556e11411ca5d6e63cae3859aaa4df4bb600e2d27aa131872a93a92784b9b48f7885411d86f325
DIST libcrun.lds 257 BLAKE2B 00e7cdf3162ea0b7231dbb9037b192bcf5ffa83316e1aa60268560bc9fe8302be351c405861f9dfc06620ea64561a9226f58b7133039c0af1299dc4088b98272 SHA512 0e9b836c79ee4ad7ff33c592eca8ff41f38aed588f2f5a2416bed82efa819cd4c61ad65a2dfd11a37838a19d950688b1d5adb3b75841963dbb589536e8a867f7
EBUILD crun-0.14.1.ebuild 1722 BLAKE2B c6cd1bb5b4c07181451da877cfcd7fd6224d1ed1643a381da5037b66a291420e62439e1a1a1242587cf0f7e295e4f0094f36ceb2606306e7423103d1a7635847 SHA512 bdc28b9af8dfca82dbf38ef43a54f566f8e2ff98affb1586d2e5e6ebe19b0b576d583367358b5f50877990e7dfbdefb9ea6cee4ccb5473d1a8bf08c7a817180f
-MISC metadata.xml 1251 BLAKE2B 5eb63702a134f4bd41c22ea2709f628ad5ba90c4b1c1d69527b73aa25a25b2afd155c08e06f4efc1f3cfd2bc84051d54ad320a8c9348bd1d82ffafaba67a999c SHA512 b7562b7b9c677be491ee1c281c9432ee3158b5e9b1149ebad510f5b07e53ce9c6ba225b57241c9476c918ab2fc539289af35db2df41e7b89c39be3fe3809b95d
+EBUILD crun-0.15.ebuild 1526 BLAKE2B b1316ca20233e2ba307c3573d43e34434ffe7722273f05857c3d7daec95f08ed49b17b79f9eb1a735c13001eba4b2271d35b9561a8718620ee075dfc3c083a98 SHA512 7e79e6b803692ea64b979b5ac589f20fdd4e6bdb511555ac06ebbd1ec8cc7b3be9e3ab5e29083f9628b4b14d1929c2c9fcf25750c79e49ceedabcbe7f2c44d45
+MISC metadata.xml 1323 BLAKE2B ed901603f82b37f0be35823d1ac8e905679941d4dcec938272800df6b18d0ba7d1354bf405af0c7be743b11d2b1789be53b67c2d5bdad615bb83f3f4f0e9208c SHA512 201db113216801b4f9c8d83535874d270e828c5c780e96480f662a8a744657f886446f15ab2f4c2500d209a0d2ac03b501e625146775aa8f751b8bd3e0473b11
diff --git a/app-emulation/crun/crun-0.15.ebuild b/app-emulation/crun/crun-0.15.ebuild
new file mode 100644
index 000000000000..888df44272f7
--- /dev/null
+++ b/app-emulation/crun/crun-0.15.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit autotools python-any-r1
+
+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-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+IUSE="+bpf +caps criu man +seccomp systemd static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ >=dev-libs/yajl-2.0.0
+ caps? ( sys-libs/libcap )
+ criu? ( >=sys-process/criu-3.13 )
+ seccomp? ( sys-libs/libseccomp )
+ systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ man? ( dev-go/go-md2man )
+"
+
+# the crun test suite is comprehensive to the extent that tests will fail
+# within a sandbox environment, due to the nature of the privileges
+# required to create linux "containers".
+RESTRICT="test"
+
+DOCS=( README.md )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable bpf) \
+ $(use_enable caps) \
+ $(use_enable criu) \
+ $(use_enable seccomp) \
+ $(use_enable systemd) \
+ $(usex static-libs '--enabled-shared --enabled-static' '--enable-shared --disable-static' '' '')
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake -C libocispec
+ emake crun
+ if use man ; then
+ emake generate-man
+ fi
+}
+
+src_install() {
+ emake "DESTDIR=${D}" install-exec
+ if use man ; then
+ emake "DESTDIR=${D}" install-man
+ fi
+
+ einstalldocs
+}
diff --git a/app-emulation/crun/metadata.xml b/app-emulation/crun/metadata.xml
index 75532b362a49..e26e3d83bf66 100644
--- a/app-emulation/crun/metadata.xml
+++ b/app-emulation/crun/metadata.xml
@@ -27,5 +27,6 @@
support for managing device controllers.
</flag>
<flag name="man">Build and install man pages</flag>
+ <flag name="criu">Enable CRIU based checkpoint/restore support</flag>
</use>
</pkgmetadata>