# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/sunos/solaris/package.use.mask,v 1.7 2011/12/30 16:20:16 grobian Exp $


# Fabian Groffen <grobian@gentoo.org> (08 Dec 2011)
# Unmask libssp, Solaris' libc doesn't have stack protection symbols
sys-devel/gcc -libssp

# Fabian Groffen <grobian@gentoo.org> (05 Sep 2011)
# gir tries to link c++ code using gcc and obviously fails
app-text/poppler introspection

# Fabian Groffen <grobian@gentoo.org> (24 Apr 2011)
# kms seems linux only, bug #319285
x11-libs/libdrm libkms

# Jeremy Olexa <darkside@gentoo.org> (03 Dec 2008)
# Fails to compile on Solaris, bug #245659
media-gfx/inkscape lcms
