blob: a4e29ea5eb43208a97557dc0800f38633f7ea34b [file] [log] [blame]
# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=4
CROS_WORKON_COMMIT="7559dfe9ed16455e03f68d9aa0a5a65747e6a174"
CROS_WORKON_TREE="61ddac46e1643be7aa0201359c8f6c4809922ffc"
CROS_WORKON_BLACKLIST=1
CROS_WORKON_LOCALNAME="aosp/external/minijail"
CROS_WORKON_PROJECT="platform/external/minijail"
CROS_WORKON_REPO="https://android.googlesource.com"
CROS_WORKON_DESTDIR="${S}"
inherit cros-debug cros-workon eutils toolchain-funcs
DESCRIPTION="Chrome OS helper binary for restricting privs of services."
HOMEPAGE="http://www.chromium.org/"
SRC_URI=""
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="+seccomp test"
RDEPEND="sys-libs/libcap"
DEPEND="test? ( dev-cpp/gtest )
test? ( dev-cpp/gmock )
${RDEPEND}"
src_compile() {
tc-export CC CXX AR RANLIB LD NM PKG_CONFIG
cros-debug-add-NDEBUG
export CCFLAGS="$CFLAGS"
# Only build the tools
emake LIBDIR=$(get_libdir) USE_seccomp=$(usex seccomp)
}
src_test() {
tc-export CC CXX AR RANLIB LD NM PKG_CONFIG
cros-debug-add-NDEBUG
export CCFLAGS="$CFLAGS"
# TODO(wad) switch to common.mk to get qemu and valgrind coverage
emake tests
if use x86 || use amd64 ; then
./libminijail_unittest || \
die "libminijail unit tests failed!"
./syscall_filter_unittest || \
die "syscall filter unit tests failed!"
fi
}
src_install() {
into /
dosbin minijail0
dolib.so libminijail.so
dolib.so libminijailpreload.so
local include_dir="/usr/include/chromeos"
"${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
insinto "/usr/$(get_libdir)/pkgconfig"
doins libminijail.pc
insinto "${include_dir}"
doins libminijail.h
}