# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/darwin/package.use.mask,v 1.12 2013/06/13 18:24:25 ulm Exp $


# Christoph Junghans <ottxor@gentoo.org> (26 Aug 2012)
# libutempter support does not work on Darwin (bug #388791)
x11-terms/eterm utempter

# Fabian Groffen <grobian@gentoo.org> (24 Mar 2012)
# There's no upstream support for MPI on Darwin
media-gfx/tachyon mpi

# Fabian Groffen <grobian@gentoo.org> (01 Jan 2012)
# gdb server is not supported on this platform
sys-devel/gdb server

# Fabian Groffen <grobian@gentoo.org> (16 Feb 2011)
# De-mask of OSX-specific USE-flags that are useful for VLC
media-video/vlc -audioqueue -ios-vout -macosx macosx-audio -macosx-dialog-provider -macosx-eyetv -macosx-quartztext -macosx-qtcapture -macosx-vout

# Fabian Groffen <grobian@gentoo.org> (08 Jan 2011)
# Darwin has libuuid from util-linux
x11-libs/libSM -uuid

# Fabian Groffen <grobian@gentoo.org> (30 Oct 2009)
# linux only
media-video/mplayer dvb lirc svga jack joystick matrox

# Fabian Groffen <grobian@gentoo.org> (03 Apr 2009)
# ld: unknown option: -R/Library/Gentoo/usr/lib
~sys-devel/gcc-4.3.3 gcj

# Elias Pipping <pipping@gentoo.org> (16 Nov 2007)
# make fails
sys-devel/gcc objc-gc
