app-containers/crun: Sync with Gentoo

It's from Gentoo commit e588a9d3f1b2a2aa97c1ca3e6a85a0cf9bea133e.
This commit is contained in:
Krzesimir Nowak 2024-07-04 12:16:10 +02:00 committed by Mathieu Tortuyaux
parent 6946ac418f
commit 06bf25f5e2
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
4 changed files with 153 additions and 1 deletions

View File

@ -1 +1,3 @@
DIST crun-1.11.2.tar.xz 738176 BLAKE2B ef13475089c87599159ce00dd26fbb19c7f2bb9564352c1f8040925e521bb924cf28a8d1f37cc95ce7d1b2797b8654740e9ad08352e357c8c9e2d176466101e0 SHA512 ae35ffb9bd1c7acebfd7f6236fa6a7ad524593d8f2cea1203f0e89023e9791d2d5bbc5c5cfc32ee5f18ad80662a1659076ab5f4d5ff74c6026842f2dd12be977
DIST crun-1.14.3.tar.xz 750456 BLAKE2B 5a63b5da2f85ff1a83d4589be224c5b7a1123b6d7714b90a63c1907b78d42392aff25ffe5d9a4127173ac47026d57e9c93a39f5ba4b07de7f9f3722c14e6d203 SHA512 d6645c519ff00dda5def6d58240600d15e76969489918d51c0def2fee7dbad6374f83e5afc14a998d176aa2944765df5cd84c3031b265a1931ab23f2fc965fc1
DIST crun-1.8.4.tar.xz 729552 BLAKE2B 8169518a0ddd8deb3820f7030d03dec6941d5d34fb73a036b82f15b0d8f2f702e117de00b829a16cb9976e118f5a5ca732b1cd572708f664cfeafc564f883824 SHA512 2ed80db2e7ddd1438bbe33e99ec2cdbcc55c4869504f719ff9302e834929752af09a59cd905accb37ee5f6cae3b9b16fd4f4c3fdab31db5fc38b007c1505bfa0

View File

@ -0,0 +1,76 @@
# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit 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.xz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv"
IUSE="+bpf +caps criu +seccomp selinux systemd static-libs"
DEPEND="
dev-libs/libgcrypt:=
dev-libs/yajl:=
sys-kernel/linux-headers
caps? ( sys-libs/libcap )
criu? ( >=sys-process/criu-3.15 )
seccomp? ( sys-libs/libseccomp )
systemd? ( sys-apps/systemd:= )
"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-container )"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
"
PATCHES=(
# merged upstream: https://github.com/containers/crun/pull/1345
# drop when we get 1.11.3
"${FILESDIR}/${P}-caps.patch"
)
src_configure() {
local myeconfargs=(
--cache-file="${S}"/config.cache
$(use_enable bpf)
$(use_enable caps)
$(use_enable criu)
$(use_enable seccomp)
$(use_enable systemd)
$(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '')
)
econf "${myeconfargs[@]}"
}
src_compile() {
emake git-version.h
emake -C libocispec
emake crun
}
# 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".
# due to this we disable most of the core test suite by unsetting PYTHON_TESTS
src_test() {
emake check PYTHON_TESTS=
}
src_install() {
emake "DESTDIR=${D}" install-exec
doman crun.1
einstalldocs
einfo "Cleaning up .la files"
find "${ED}" -name '*.la' -delete || die
}

View File

@ -15,7 +15,7 @@ if [[ "$PV" == *9999* ]]; then
EGIT_REPO_URI="https://github.com/containers/${PN}.git"
else
SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.xz"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv"
fi
LICENSE="GPL-2+ LGPL-2.1+"
@ -27,6 +27,7 @@ DEPEND="
sys-kernel/linux-headers
caps? ( sys-libs/libcap )
criu? ( >=sys-process/criu-3.15 )
elibc_musl? ( sys-libs/argp-standalone[static-libs] )
seccomp? ( sys-libs/libseccomp )
systemd? ( sys-apps/systemd:= )
"

View File

@ -0,0 +1,73 @@
# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
# Can drop autotools/eautoreconf after next release & glibc patch gone
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.xz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv"
IUSE="+bpf +caps criu +seccomp selinux systemd static-libs"
DEPEND="
dev-libs/libgcrypt:=
dev-libs/yajl:=
sys-kernel/linux-headers
caps? ( sys-libs/libcap )
criu? ( >=sys-process/criu-3.15 )
seccomp? ( sys-libs/libseccomp )
systemd? ( sys-apps/systemd:= )
"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-container )"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
"
# 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"
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
$(use_enable bpf)
$(use_enable caps)
$(use_enable criu)
$(use_enable seccomp)
$(use_enable systemd)
$(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '')
)
econf "${myeconfargs[@]}"
}
src_compile() {
emake git-version.h
emake -C libocispec
emake crun
}
src_install() {
emake "DESTDIR=${D}" install-exec
doman crun.1
einstalldocs
einfo "Cleaning up .la files"
find "${ED}" -name '*.la' -delete || die
}