# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

EAPI=5

DESCRIPTION="List of packages that make up the base OS image;
by default; here we build a Lakitu dev image"
HOMEPAGE="http://dev.chromium.org/"

LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE=""

IUSE="+profile +iputils_arping"

# The dependencies here are meant to capture "all the packages
# developers want to use for development, test, or debug".  This
# category is meant to include all developer use cases, including
# software test and debug, performance tuning, hardware validation,
# and debugging failures running autotest.
#
# To protect developer images from changes in other ebuilds you
# should include any package with a user constituency, regardless of
# whether that package is included in the base Chromium OS image or
# any other ebuild.
#
# Don't include packages that are indirect dependencies: only
# include a package if a file *in that package* is expected to be
# useful.

RDEPEND="
	profile? (
		chromeos-base/quipper
		app-benchmarks/libc-bench
		net-analyzer/netperf
		dev-util/perf
	)
	app-admin/sysstat
	app-arch/gzip
	app-arch/tar
	amd64? ( app-benchmarks/i7z )
	app-editors/qemacs
	app-editors/vim
	app-forensics/openscap
	app-misc/screen
	app-portage/portage-utils
	app-shells/bash
	app-shells/bash-completion
	chromeos-base/chromeos-dev-root
	chromeos-base/dev-install
	chromeos-base/update-utils
	chromeos-base/protofiles
	dev-python/cherrypy
	dev-python/dbus-python
	dev-python/protobuf-python
	dev-util/strace
	dev-util/mem
	dev-util/strace
	net-analyzer/tcpdump
	net-fs/sshfs
	net-misc/iperf:3
	iputils_arping? ( net-misc/iputils )
	net-misc/rsync
	sys-apps/coreutils
	sys-apps/diffutils
	sys-apps/dmidecode
	sys-apps/file
	sys-apps/findutils
	sys-apps/iotools
	sys-apps/portage
	sys-apps/which
	sys-block/fio
	sys-devel/gdb
	sys-fs/lvm2
	sys-process/procps
	sys-process/psmisc
	sys-process/time
"
