blob: bddf2a585336e44b6a353efc4a0088bdc14ff6eb [file] [log] [blame]
# Copyright 2019 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="c5dd596a5b6a84a512945131fe4087fabe21d067"
CROS_WORKON_TREE="febcdc7b07b6d93ea02f943d3af7cba14acdc16c"
CROS_RUST_SUBDIR="common/cros-fuzz"
CROS_WORKON_LOCALNAME="../platform/crosvm"
CROS_WORKON_PROJECT="chromiumos/platform/crosvm"
CROS_WORKON_EGIT_BRANCH="chromeos"
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
CROS_WORKON_SUBDIRS_TO_COPY="${CROS_RUST_SUBDIR}"
inherit cros-workon cros-rust
DESCRIPTION="Support crate for running rust fuzzers on Chrome OS"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cros-fuzz"
LICENSE="BSD-Google"
KEYWORDS="*"
IUSE="fuzzer test"
DEPEND="dev-rust/third-party-crates-src:="
# (crbug.com/1182669): build-time only deps need to be in RDEPEND so they are pulled in when
# installing binpkgs since the full source tree is required to use the crate.
RDEPEND="${DEPEND}"
src_unpack() {
# Copy the CROS_RUST_SUBDIR to a new location in the $S dir to make sure cargo will not
# try to build it as apart of the crosvm workspace.
cros-workon_src_unpack
if [ ! -e "${S}/${PN}" ]; then
(cd "${S}" && ln -s "./${CROS_RUST_SUBDIR}" "./${PN}") || die
fi
S+="/${PN}"
cros-rust_src_unpack
}