dev-python/pytest: arm64 stable (bug #723996)
[gentoo.git] / sys-apps / minijail / minijail-9.ebuild
1 # Copyright 2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit linux-info toolchain-funcs
7
8 DESCRIPTION="helper binary and library for sandboxing & restricting privs of service"
9 HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
10
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"
13
14 LICENSE="BSD"
15 SLOT="0"
16 KEYWORDS="~amd64 ~x86"
17 IUSE="+seccomp test"
18 RESTRICT="!test? ( test )"
19
20 RDEPEND="sys-libs/libcap-ng:="
21 DEPEND="${RDEPEND}
22         test? (
23                 virtual/pkgconfig
24                 >=dev-cpp/gtest-1.8.0:=
25         )"
26
27 S="${WORKDIR}/${PN}-linux-v${PV}"
28
29 PATCHES=(
30         "${FILESDIR}/minijail-9-makefile.patch"
31 )
32
33 pkg_pretend() {
34         local CONFIG_CHECK="~NAMESPACES ~UTS_NS ~IPC_NS ~USER_NS ~PID_NS ~NET_NS
35                 ~SECCOMP ~SECCOMP_FILTER ~CGROUPS"
36         check_extra_config
37 }
38
39 src_configure() {
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)"
45 }
46
47 src_compile() {
48         tc-env_build emake VERBOSE=1 all parse_seccomp_policy
49 }
50
51 src_test() {
52         GTEST_FILTER="-NamespaceTest.test_tmpfs_userns:NamespaceTest.test_namespaces" \
53                 tc-env_build emake VERBOSE=1 tests
54 }
55
56 src_install() {
57         dosbin minijail0
58         dolib.so libminijail{,preload}.so
59         dobin parse_seccomp_policy
60
61         doman minijail0.[15]
62
63         local include_dir="/usr/include"
64
65         "${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
66         insinto "/usr/$(get_libdir)/pkgconfig"
67         doins libminijail.pc
68
69         insinto "${include_dir}"
70         doins libminijail.h
71         doins scoped_minijail.h
72 }