You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.8 KiB
78 lines
1.8 KiB
3 years ago
|
# Copyright 1999-2021 Gentoo Authors
|
||
5 years ago
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
3 years ago
|
EAPI="7"
|
||
5 years ago
|
|
||
|
inherit linux-info toolchain-funcs
|
||
|
|
||
|
DESCRIPTION="helper binary and library for sandboxing & restricting privs of service"
|
||
|
HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
|
||
|
|
||
|
# Use GitHub mirror as Gitiles doesn't generate stable tarballs.
|
||
|
SRC_URI="https://github.com/google/${PN}/archive/linux-v${PV}.tar.gz -> ${P}.tar.gz"
|
||
|
|
||
|
LICENSE="BSD"
|
||
|
SLOT="0"
|
||
3 years ago
|
KEYWORDS="~amd64 ~riscv ~x86"
|
||
5 years ago
|
IUSE="+seccomp test"
|
||
5 years ago
|
RESTRICT="!test? ( test )"
|
||
5 years ago
|
|
||
|
RDEPEND="sys-libs/libcap-ng:="
|
||
|
DEPEND="${RDEPEND}
|
||
|
test? (
|
||
|
virtual/pkgconfig
|
||
|
>=dev-cpp/gtest-1.8.0:=
|
||
|
)"
|
||
|
|
||
|
S="${WORKDIR}/${PN}-linux-v${PV}"
|
||
|
|
||
|
PATCHES=(
|
||
3 years ago
|
"${FILESDIR}/minijail-12-makefile.patch"
|
||
5 years ago
|
)
|
||
|
|
||
|
pkg_pretend() {
|
||
|
local CONFIG_CHECK="~NAMESPACES ~UTS_NS ~IPC_NS ~USER_NS ~PID_NS ~NET_NS
|
||
|
~SECCOMP ~SECCOMP_FILTER ~CGROUPS"
|
||
|
check_extra_config
|
||
|
}
|
||
|
|
||
|
src_configure() {
|
||
|
export LIBDIR="/usr/$(get_libdir)"
|
||
|
export USE_seccomp="$(usex seccomp)"
|
||
|
export USE_SYSTEM_GTEST=yes
|
||
3 years ago
|
if use test; then
|
||
|
export GTEST_CXXFLAGS="$($(tc-getPKG_CONFIG) --cflags gtest_main)"
|
||
|
export GTEST_LIBS="$($(tc-getPKG_CONFIG) --libs gtest_main)"
|
||
|
else
|
||
|
export GTEST_CXXFLAGS='' GTEST_LIBS=''
|
||
|
fi
|
||
|
export VERBOSE=1
|
||
5 years ago
|
}
|
||
|
|
||
|
src_compile() {
|
||
3 years ago
|
tc-env_build emake all parse_seccomp_policy
|
||
5 years ago
|
}
|
||
|
|
||
|
src_test() {
|
||
|
GTEST_FILTER="-NamespaceTest.test_tmpfs_userns:NamespaceTest.test_namespaces" \
|
||
3 years ago
|
tc-env_build emake tests
|
||
5 years ago
|
}
|
||
|
|
||
|
src_install() {
|
||
|
dosbin minijail0
|
||
|
dolib.so libminijail{,preload}.so
|
||
|
dobin parse_seccomp_policy
|
||
|
|
||
|
doman minijail0.[15]
|
||
3 years ago
|
dodoc README.md
|
||
5 years ago
|
|
||
|
local include_dir="/usr/include"
|
||
|
|
||
|
"${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
|
||
|
insinto "/usr/$(get_libdir)/pkgconfig"
|
||
|
doins libminijail.pc
|
||
|
|
||
|
insinto "${include_dir}"
|
||
3 years ago
|
doins libminijail.h scoped_minijail.h
|
||
5 years ago
|
}
|