blob: 3bcdc06848c81de0901a34b0cb6a3ec48e12b33a [file] [log] [blame]
# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
# This lives separately from the main minijail ebuild since we don't have Rust
# available in the SDK builder.
# TODO: Consider moving back into main ebuild once crbug.com/1046088 is
# resolved.
EAPI=7
inherit cros-constants
CROS_WORKON_MANUAL_UPREV=1
CROS_WORKON_LOCALNAME="../aosp/external/minijail"
CROS_WORKON_PROJECT="platform/external/minijail"
CROS_WORKON_REPO="${CROS_GIT_AOSP_URL}"
CROS_WORKON_SUBTREE="rust/minijail"
inherit cros-workon cros-rust
DESCRIPTION="rust bindings for minijail"
HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
LICENSE="BSD-Google"
KEYWORDS="~*"
IUSE="asan test"
DEPEND="
>=dev-rust/libc-0.2.44:= <dev-rust/libc-0.3.0
dev-rust/minijail-sys:=
"
src_unpack() {
# Unpack both the minijail and Rust dependency source code.
cros-workon_src_unpack
S+="/rust/minijail"
cros-rust_src_unpack
}
src_compile() {
if use x86 || use amd64; then
use test && ecargo_test --no-run
fi
}
src_test() {
if cros-rust_use_sanitizers; then
# crbug.com/1097761 The unit tests for this package leak threads.
elog "Skipping rust unit tests for ASAN because fork leaks threads."
elif use x86 || use amd64; then
# TODO(crbug/1115287) Include the wait_* tests once they don't hang.
ecargo_test -- --skip tests::wait_
else
elog "Skipping rust unit tests on non-x86 platform"
fi
}