1 # Copyright 2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 inherit linux-info toolchain-funcs
8 DESCRIPTION="helper binary and library for sandboxing & restricting privs of service"
9 HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
11 # Use GitHub mirror as Gitiles doesn't generate stable tarballs.
12 SRC_URI="https://github.com/google/${PN}/archive/linux-v${PV}.tar.gz -> ${P}.tar.gz"
16 KEYWORDS="~amd64 ~x86"
18 RESTRICT="!test? ( test )"
20 RDEPEND="sys-libs/libcap-ng:="
24 >=dev-cpp/gtest-1.8.0:=
27 S="${WORKDIR}/${PN}-linux-v${PV}"
30 "${FILESDIR}/minijail-9-makefile.patch"
34 local CONFIG_CHECK="~NAMESPACES ~UTS_NS ~IPC_NS ~USER_NS ~PID_NS ~NET_NS
35 ~SECCOMP ~SECCOMP_FILTER ~CGROUPS"
40 export LIBDIR="/usr/$(get_libdir)"
41 export USE_seccomp="$(usex seccomp)"
42 export USE_SYSTEM_GTEST=yes
43 export GTEST_CXXFLAGS="$(pkg-config --cflags gtest_main)"
44 export GTEST_LIBS="$(pkg-config --libs gtest_main)"
48 tc-env_build emake VERBOSE=1 all parse_seccomp_policy
52 GTEST_FILTER="-NamespaceTest.test_tmpfs_userns:NamespaceTest.test_namespaces" \
53 tc-env_build emake VERBOSE=1 tests
58 dolib.so libminijail{,preload}.so
59 dobin parse_seccomp_policy
63 local include_dir="/usr/include"
65 "${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
66 insinto "/usr/$(get_libdir)/pkgconfig"
69 insinto "${include_dir}"
71 doins scoped_minijail.h