# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

# This controls the KEYWORDs for all target ChromeOS boards.
#
# Note: This file is largely deprecated.  It is rare that you should use this.
# - If you want to update the KEYWORDS in an ebuild for all targets, then do it
#   in the ebuild itself (even for portage-stable/).
# - If you want to use different versions in the cros_sdk chroot and the target
#   boards, then use package.mask to control visibility.

=app-admin/rsyslog-3.22.1	amd64 arm x86
=app-benchmarks/i7z-0.27-r1	amd64 x86
=app-i18n/libhangul-0.0.10	amd64 arm x86
=app-i18n/zinnia-0.06-r1	amd64 arm x86
=app-misc/ddccontrol-0.4.2	amd64 arm x86
=app-misc/ddccontrol-db-20061014	amd64 arm x86
=dev-cpp/gflags-1.2		amd64 arm x86
=dev-db/m17n-contrib-1.1.10-r1	amd64 arm x86
=dev-db/m17n-db-1.6.1-r2	amd64 arm x86
=dev-db/sqlite-3.6.22-r2	amd64 arm x86
=dev-libs/atk-1.32.0-r1		amd64 arm x86
=dev-libs/check-0.9.8		amd64 arm x86
=dev-libs/engine_pkcs11-0.1.8	amd64 arm x86
=dev-libs/libchewing-0.3.2-r1	amd64 arm x86
=dev-libs/libffi-3.0.9-r2       amd64 arm x86
=dev-libs/libgpg-error-1.10-r1	amd64 arm x86
=dev-libs/m17n-lib-1.6.1-r1	amd64 arm x86
=dev-libs/protobuf-2.2.0	amd64 arm x86
=dev-python/numpy-1.4.0		amd64 arm x86
=dev-python/python-xlib-0.14    amd64 arm x86
=dev-python/pyudev-0.12		amd64 arm x86
=dev-python/pyusb-0.4.3         amd64 arm x86
=dev-python/pyyaml-3.09         amd64 arm x86
=dev-util/gdbus-codegen-2.30.2	amd64 arm x86
=dev-util/intltool-0.41.0       amd64 arm x86
=dev-util/xxd-1.10              amd64 arm x86
=media-gfx/perceptualdiff-1.1.1 amd64 arm x86
=media-libs/freeglut-2.4.0-r2   amd64 arm x86
=media-libs/freeimage-3.13.1    amd64 arm x86
=media-libs/jpeg-6b-r9          amd64 arm x86
=net-analyzer/netperf-2.4.4	amd64 arm x86
=net-dialup/ppp-2.4.5-r3	amd64 arm x86
=net-dialup/xl2tpd-1.3.0-r1	amd64 arm x86
=net-libs/libtirpc-0.2.0        amd64 arm x86
=net-misc/dhcp-4.2.2-r1         amd64 arm x86
=net-misc/wget-1.12-r2		amd64 arm x86
=sys-auth/pam_pwdfile-0.99-r1	amd64 arm x86
=sys-apps/i2c-tools-3.0.2       amd64 arm x86
=sys-apps/keyutils-1.1  amd64 arm x86
=sys-auth/polkit-0.100		amd64 x86 arm
# This should be kept in sync with package.mask.
# Here we keyword the version we want for the board.
~sys-devel/llvm-3.2		*
=sys-fs/squashfs-4.2            amd64 arm x86
=x11-apps/xinput_calibrator-0.7.5	arm
=x11-libs/gtk+-2.20.1	amd64 arm x86
=x11-proto/glproto-1.4.14-r1	amd64 arm x86

# Needed for curl >= 7.23.1
=net-dns/c-ares-1.7.5		amd64 arm x86

# If a newer version of chrome causes flaky failure, you can add
# something like below, which assumes 15.0.859.0_rc-r1 was the
# last non-flaky version.
# This pins Chrome to the version below by marking more recent versions as unstable.
#>chromeos-base/chromeos-chrome-22.0.1229.1_rc-r1	-amd64 -arm -x86 ~amd64 ~arm ~x86
