# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/arch/amd64/package.use.force,v 1.8 2013/10/02 18:14:17 mgorny Exp $

# Michał Górny <mgorny@gentoo.org> (02 Sep 2013)
# Packages with optional 64-bit variant.
app-emulation/wine -abi_x86_64
www-plugins/adobe-flash -abi_x86_64

# Diego Elio Pettenò <flameeyes@gmail.com> (21 Apr 2011)
# The plugin is 32-bit only (and I'm not even sure if it works with
# modern iscan); make sure it only installs the firmware for amd64!
media-gfx/iscan-plugin-gt-f500 minimal

# <blubb@gentoo.org> (23 Oct 2006)
# upstream forces sse2 on regardless of what the use flag is
dev-libs/openssl sse2

# Santiago M. Mola <coldwind@gentoo.org> (17 Sep 2008)
# x86emu is the only backend available for amd64 (bug #224987)
sys-apps/v86d x86emu
