blob: ebc12303172df4f59802a5cd9883c5e9ae0e4ee3 [file] [log] [blame]
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
# Don't use Makefile.external here as it fetches from the network.
EAPI=7
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
# chromiumos-wide-profiling directory is in $SRC_URI, not in platform2.
CROS_WORKON_SUBTREE="common-mk .gn"
PLATFORM_SUBDIR="chromiumos-wide-profiling"
inherit cros-workon platform
DESCRIPTION="quipper: chromiumos wide profiling"
HOMEPAGE="http://www.chromium.org/chromium-os/profiling-in-chromeos"
GIT_SHA1="f2342a4ef58a99e70a82fa63bdfea539477a4a8a"
SRC="quipper-${GIT_SHA1}.tar.gz"
SRC_URI="gs://chromeos-localmirror/distfiles/${SRC}"
SRC_DIR="src/${PN}"
LICENSE="BSD-Google"
KEYWORDS="~*"
IUSE=""
COMMON_DEPEND="
>=dev-cpp/gflags-2.0:=
>=dev-libs/glib-2.30:=
dev-libs/openssl:=
dev-libs/protobuf:=
dev-libs/re2:=
dev-util/perf:=
"
RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
chromeos-base/protofiles:=
test? ( app-shells/dash )
"
src_unpack() {
platform_src_unpack
mkdir "${S}"
pushd "${S}" >/dev/null
unpack ${SRC}
mv "${SRC_DIR}"/{.[!.],}* ./ || die
eapply "${FILESDIR}"/quipper-disable-flaky-tests.patch
eapply "${FILESDIR}"/quipper-arraysize.patch
# TODO(crbug/920513): remove when tarball from SRC_URI has it.
eapply "${FILESDIR}"/quipper-use-unversioned-libchrome.patch
popd >/dev/null
}
src_compile() {
# ARM tests run on qemu which is much slower. Exclude some large test
# data files for non-x86 boards.
if use x86 || use amd64 ; then
append-cppflags -DTEST_LARGE_PERF_DATA
fi
platform_src_compile
}
src_install() {
dobin "${OUT}"/quipper
}
platform_pkg_test() {
local tests=(
integration_tests
perf_recorder_test
unit_tests
)
for test_bin in "${tests[@]}"; do
platform_test "run" "${OUT}/${test_bin}" "1"
done
}