blob: e375da6ccfcae947269847f338f99153b671ae79 [file] [log] [blame]
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="adaffd360f762687079da84bd054563ac9bf475e"
CROS_WORKON_TREE="a77d3b508a990de2e8719aa84be0734535a1cbfb"
CROS_WORKON_LOCALNAME="../platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_SUBTREE="vm_tools/9s"
CROS_RUST_CRATE_NAME="p9s"
inherit cros-workon cros-rust
DESCRIPTION="Server binary for the 9P file system protocol"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/9s/"
LICENSE="BSD-Google"
SLOT="0/0"
KEYWORDS="*"
IUSE="test"
RDEPEND="
!<chromeos-base/crosvm-0.0.1-r260
!dev-rust/9s:0.1.0
"
DEPEND="
dev-rust/getopts:=
dev-rust/libc:=
dev-rust/libchromeos:=
dev-rust/log:=
dev-rust/p9:=
"
src_unpack() {
cros-workon_src_unpack
S+="/vm_tools/9s"
cros-rust_src_unpack
}
src_compile() {
ecargo_build
use test && ecargo_test --no-run
}
src_test() {
if use x86 || use amd64; then
ecargo_test
else
elog "Skipping rust unit tests on non-x86 platform"
fi
}
src_install() {
newbin "$(cros-rust_get_build_dir)/p9s" 9s
insinto /usr/share/policy
newins "seccomp/9s-seccomp-${ARCH}.policy" 9s-seccomp.policy
}