# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

# Michael Palimaka <kensington@gentoo.org> (28 Oct 2015)
# KDE is not stable on arm
media-video/vlc kde

# Pacho Ramos <pacho@gentoo.org> (03 Oct 2015)
# Missing stable, bug #529462
media-gfx/graphviz java

# Markus Meier <maekke@gentoo.org> (30 Jul 2015)
# Missing stable
x11-libs/wxGTK webkit

# Markus Meier <maekke@gentoo.org> (19 Jul 2015)
# Missing stable
media-libs/gegl umfpack

# Pacho Ramos <pacho@gentoo.org> (02 Jun 2015)
# Missing stable
net-misc/connman l2tp pptp

# Michael Palimaka <kensington@gentoo.org> (11 May 2015)
# KDE is not stable on arm
www-client/qupzilla kde

# Pacho Ramos <pacho@gentoo.org> (02 Jul 2014)
# Mask due Gnome3 not going to be stabilized on this arch
dev-util/geany-plugins devhelp markdown webkit
>=gnome-base/gnome-desktop-2.32.1-r2 license-docs
net-libs/libproxy webkit
>=net-libs/webkit-gtk-2.4 geoloc
>=x11-libs/gtk+-3.12.2 cloudprint
x11-libs/gksu gnome
