# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit go-module linux-info # update on bump, look for https://github.com/docker\ # docker-ce/blob//components/engine/hack/dockerfile/install/runc.installer RUNC_COMMIT=51d5e94601ceffbbd85688df1c928ecccbfa4685 CONFIG_CHECK="~USER_NS" DESCRIPTION="runc container cli tools" HOMEPAGE="http://github.com/opencontainers/runc/" MY_PV="${PV/_/-}" SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0 BSD-2 BSD MIT" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" IUSE="apparmor hardened +kmem +seccomp selinux test" DEPEND="seccomp? ( sys-libs/libseccomp )" RDEPEND=" ${DEPEND} !app-emulation/docker-runc apparmor? ( sys-libs/libapparmor ) selinux? ( sec-policy/selinux-container ) " BDEPEND=" dev-go/go-md2man test? ( "${RDEPEND}" ) " # tests need busybox binary, and portage namespace # sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox # majority of tests pass RESTRICT+=" test" S="${WORKDIR}/${PN}-${MY_PV}" src_compile() { # Taken from app-containers/docker-1.7.0-r1 export CGO_CFLAGS="-I${ESYSROOT}/usr/include" export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') -L${ESYSROOT}/usr/$(get_libdir)" # build up optional flags local options=( $(usev apparmor) $(usev seccomp) $(usex kmem '' 'nokmem') ) myemakeargs=( BUILDTAGS="${options[*]}" COMMIT="${RUNC_COMMIT}" ) emake "${myemakeargs[@]}" runc man } src_install() { myemakeargs+=( PREFIX="${ED}/usr" BINDIR="${ED}/usr/bin" MANDIR="${ED}/usr/share/man" ) emake "${myemakeargs[@]}" install install-man install-bash local DOCS=( README.md PRINCIPLES.md docs/. ) einstalldocs } src_test() { emake "${myemakeargs[@]}" localunittest }