# Copyright 1999-2013 Gentoo Foundation.
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/sparc-fbsd/use.mask,v 1.9 2013/01/20 10:51:21 mgorny Exp $

# Unmask the flag which corresponds to ARCH.
-sparc-fbsd

acpi

# guile fails to build on sparc
# Even with the patch from FreeBSD Ports it core dumps :/
guile

# valgrind hasn't been ported to sparc-fbsd yet
valgrind

# These should work one day
avahi
cairo
dbus
gnome
gnome-keyring
gtk
mono
opengl
php
qt4
tk
xpm
X

# Ryan Hill <dirtyepic@gentoo.org>
# Needs sci-mathematics/glpk
lpsol
