# AUTO GENERATED.  DO NOT TOUCH.  DO NOT ASK OTHERS TO TOUCH.

# We use the git eclass which wants git to build things, but we don't actually
# need it in the sysroot as it's a host tool.  Stub it out.
dev-vcs/git-2

# We rely on toybox to provide system programs.
sys-apps/coreutils-8.24
sys-apps/findutils-4.4.2
sys-apps/grep-2.21
sys-apps/kmod-21
sys-apps/net-tools-1.60
sys-apps/sed-4.2.2

# We have bionic available for the system C library.
virtual/libc-0

# Android doesn't believe in including an editor ;).  You can use adb pull to
# copy a file locally, edit it however you want, and then adb push it back to
# the device.
virtual/editor-0

# Android has its own logging system.
virtual/logger-0

# No need to run the PM on the device itself.
# Version matches the portage prefix snapshot we're running off of.
sys-apps/portage-2.2.14

# We don't need to update packages on the device itself.
app-admin/python-updater-0.13

# We don't tweak runtime knobs on the device itself.
app-admin/eselect-1.4.5
app-eselect/eselect-python-20140125

# Some packages are provided by external/ and such instead.
# We use a large -r# so that various changes in ebuilds don't try to pull
# in the version anyways (e.g. requiring >=r1 and we only have r0 below).
# Note: Keep this in sync with gentoo/integration/Android.mk.
sys-libs/timezone-data-2015g-r999        # bionic/libc/zoneinfo/
net-dns/avahi-0.6.31-r999                # external/avahi/
app-arch/bzip2-1.0.6-r999                # external/bzip2/
dev-libs/openssl-1.0.2-r999              # external/boringssl/
net-dns/c-ares-1.7.5-r999                # external/c-ares/
net-misc/curl-7.43.0-r999                # external/curl/
sys-apps/dbus-1.6.8-r999                 # external/dbus/
net-misc/dhcpcd-6.8.2-r999               # external/dhcpcd-6.8.2/
net-dns/dnsmasq-2.51-r999                # external/dnsmasq/
sys-fs/e2fsprogs-1.42.9-r999             # external/e2fsprogs/
sys-libs/e2fsprogs-libs-1.42.9-r999      # external/e2fsprogs/
dev-libs/elfutils-0.164-r999             # external/elfutils/
dev-libs/expat-2.1.0-r999                # external/expat/
media-libs/flac-1.3.1-r999               # external/flac/
dev-cpp/gmock-1.7.0-r999                 # external/gmock/
dev-cpp/gtest-1.7.0-r999                 # external/gtest/
dev-libs/icu-56.1-r999                   # external/icu/
sys-apps/iproute2-4.0.0-r999             # external/iproute2/
net-firewall/iptables-1.4.20-r999        # external/iptables/
net-misc/iputils-20121221-r999           # external/iputils/
net-wireless/iw-4.1-r999                 # external/iw/
dev-libs/jemalloc-4.0.1-r999             # external/jemalloc/
media-libs/jpeg-6b-r999                  # external/jpeg/
sys-libs/libcap-2.24-r999                # external/libcap/
sys-libs/libcap-ng-0.7-r999              # external/libcap-ng/
dev-libs/libdaemon-0.14-r999             # external/libdaemon/
dev-libs/libdivsufsort-2.0.1-r999        # external/libdivsufsort/
dev-libs/libevent-2.0.22-r999            # external/libevent/
net-libs/libmicrohttpd-0.9.42-r999       # external/libmicrohttpd/
dev-libs/libnl-2.0-r999                  # external/libnl/
media-libs/libogg-1.2.0-r999             # external/libogg/
media-libs/opus-1.1-r999                 # external/libopus/
sys-libs/libselinux-2.4-r999             # external/libselinux/
sys-libs/libunwind-1.1-r999              # external/libunwind/
media-libs/libvpx-1.3.0-r999             # external/libvpx/
dev-libs/libpcre-8.37-r999               # external/pcre/
sys-libs/libsemanage-2.4-r999            # external/selinux/libsemanage/
sys-libs/libsepol-2.4-r999               # external/selinux/libsepol/
media-libs/speex-1.2_rc1-r999            # external/speex/
sys-fs/squashfs-tools-4.3-r999           # external/squashfs-tools/
dev-util/strace-4.10-r999                # external/strace/
dev-libs/tinyxml-2.4.0-r999              # external/tinyxml/
dev-libs/tinyxml2-1.0.6-r999             # external/tinyxml2/
net-misc/tlsdate-0.0.13-r999             # external/tlsdate/
sys-apps/toybox-0.6.0-r999               # external/toybox/
net-wireless/wpa_supplicant-2.5-r999     # external/wpa_supplicant_8/wpa_supplicant/
net-wireless/hostapd-2.5-r999            # external/wpa_supplicant_8/hostapd/
sys-libs/zlib-1.2.8-r999                 # external/zlib/
app-misc/ca-certificates-20150826-r999   # system/ca-certificates/
