| # 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 |
| } |