summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-09-28 21:00:09 +0200
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2020-10-05 18:14:44 -0700
commit05588860bcb0776e8aa0ef05d541abdf3d04e3b2 (patch)
treeed4dc769166f54edc7d7acb9bb234a0aa0d6b753 /app-emulation
parentprofiles/arch/powerpc/ppc64/64le/package.use.mask: unmask crun[criu] (diff)
downloadgentoo-05588860bcb0776e8aa0ef05d541abdf3d04e3b2.tar.gz
gentoo-05588860bcb0776e8aa0ef05d541abdf3d04e3b2.tar.bz2
gentoo-05588860bcb0776e8aa0ef05d541abdf3d04e3b2.zip
app-emulation/crun: bump to 0.15
Signed-off-by: Robert Günzler <r@gnzler.io> Closes: https://github.com/gentoo/gentoo/pull/17702 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/crun/Manifest1
-rw-r--r--app-emulation/crun/crun-0.15.ebuild68
-rw-r--r--app-emulation/crun/metadata.xml1
3 files changed, 70 insertions, 0 deletions
diff --git a/app-emulation/crun/Manifest b/app-emulation/crun/Manifest
index e95ed9bd252d..412ce2e26eb7 100644
--- a/app-emulation/crun/Manifest
+++ b/app-emulation/crun/Manifest
@@ -1,2 +1,3 @@
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
diff --git a/app-emulation/crun/crun-0.15.ebuild b/app-emulation/crun/crun-0.15.ebuild
new file mode 100644
index 000000000000..fef2bae51705
--- /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,7} )
+
+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>