diff options
Diffstat (limited to 'www-plugins/adobe-flash/adobe-flash-10.2.159.1.ebuild')
-rw-r--r-- | www-plugins/adobe-flash/adobe-flash-10.2.159.1.ebuild | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/www-plugins/adobe-flash/adobe-flash-10.2.159.1.ebuild b/www-plugins/adobe-flash/adobe-flash-10.2.159.1.ebuild new file mode 100644 index 000000000000..cb1d903f310a --- /dev/null +++ b/www-plugins/adobe-flash/adobe-flash-10.2.159.1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/adobe-flash-10.2.159.1.ebuild,v 1.1 2011/04/17 04:44:49 lack Exp $ + +EAPI=1 +inherit nsplugins rpm multilib toolchain-funcs + +MY_32B_URI="http://fpdownload.macromedia.com/get/flashplayer/current/flash-plugin-${PV}-release.i386.rpm" + +DESCRIPTION="Adobe Flash Player" +SRC_URI="${MY_32B_URI}" +HOMEPAGE="http://www.adobe.com/" +IUSE="vdpau" +SLOT="0" + +KEYWORDS="-* ~amd64 ~x86" +LICENSE="AdobeFlash-10.1" +RESTRICT="strip mirror" + +S="${WORKDIR}" + +NATIVE_DEPS="x11-libs/gtk+:2 + media-libs/fontconfig + dev-libs/nss + net-misc/curl + vdpau? ( x11-libs/libvdpau ) + >=sys-libs/glibc-2.4" + +EMUL_DEPS="vdpau? ( >=app-emulation/emul-linux-x86-xlibs-20110129 ) + >=app-emulation/emul-linux-x86-gtklibs-20100409-r1 + app-emulation/emul-linux-x86-soundlibs" + +DEPEND="amd64? ( www-plugins/nspluginwrapper )" +RDEPEND="x86? ( $NATIVE_DEPS ) + amd64? ( $EMUL_DEPS ) + || ( media-fonts/liberation-fonts media-fonts/corefonts ) + ${DEPEND}" + +# Where should this all go? (Bug #328639) +INSTALL_BASE="opt/Adobe/flash-player" + +# Ignore QA warnings in these binary closed-source libraries, since we can't fix +# them: +QA_EXECSTACK="${INSTALL_BASE}32/libflashplayer.so + ${INSTALL_BASE}/libflashplayer.so" + +QA_DT_HASH="${INSTALL_BASE}32/libflashplayer.so + ${INSTALL_BASE}/libflashplayer.so" + +pkg_setup() { + if use x86; then + export native_install=1 + elif use amd64; then + # As of 10.1, no more native 64b version *grumble grumble* + unset native_install + unset need_lahf_wrapper + export amd64_32bit=1 + fi +} + +src_compile() { + if [[ $need_lahf_wrapper ]]; then + # This experimental wrapper, from Maks Verver via bug #268336 should + # emulate the missing lahf instruction affected platforms. + $(tc-getCC) -fPIC -shared -nostdlib -lc -oflashplugin-lahf-fix.so \ + "${FILESDIR}/flashplugin-lahf-fix.c" \ + || die "Compile of flashplugin-lahf-fix.so failed" + fi +} + +src_install() { + if [[ $native_install ]]; then + # 32b RPM has things hidden in funny places + use x86 && pushd "${S}/usr/lib/flash-plugin" + + exeinto /${INSTALL_BASE} + doexe libflashplayer.so + inst_plugin /${INSTALL_BASE}/libflashplayer.so + + use x86 && popd + + # 64b tarball has no readme file. + use x86 && dodoc "${S}/usr/share/doc/flash-plugin-${PV}/readme.txt" + fi + + if [[ $need_lahf_wrapper ]]; then + # This experimental wrapper, from Maks Verver via bug #268336 should + # emulate the missing lahf instruction affected platforms. + exeinto /${INSTALL_BASE} + doexe flashplugin-lahf-fix.so + inst_plugin /${INSTALL_BASE}/flashplugin-lahf-fix.so + fi + + if [[ $amd64_32bit ]]; then + local oldabi="${ABI}" + ABI="x86" + + # 32b plugin + pushd "${S}/usr/lib/flash-plugin" + exeinto /${INSTALL_BASE}32 + doexe libflashplayer.so + inst_plugin /${INSTALL_BASE}32/libflashplayer.so + dodoc "${S}/usr/share/doc/flash-plugin-${PV}/readme.txt" + popd + + ABI="${oldabi}" + fi + + # The magic config file! + insinto "/etc/adobe" + doins "${FILESDIR}/mms.cfg" +} + +pkg_postinst() { + if use amd64; then + elog "Adobe has no stable 64-bit native version at this time. The beta" + elog "64-bit native release (codenamed \"square\") is installed as part" + elog "of the unstable testing version of this package:" + elog " ${CATEGORY}/${P}_p...." + elog + if has_version 'www-plugins/nspluginwrapper'; then + if [[ $native_install ]]; then + # Note: This code branch is dead (no native 64-bit flash player + # available yet for 10.1), but I'm keeping it around in the hope + # that some day it will be back... + # - Jim Ramsay <lack@gentoo.org> + + # TODO: Perhaps parse the output of 'nspluginwrapper -l' + # However, the 64b flash plugin makes + # 'nspluginwrapper -l' segfault. + local FLASH_WRAPPER="${ROOT}/usr/lib64/nsbrowser/plugins/npwrapper.libflashplayer.so" + if [[ -f ${FLASH_WRAPPER} ]]; then + einfo "Removing duplicate 32-bit plugin wrapper: Native 64-bit plugin installed" + nspluginwrapper -r "${FLASH_WRAPPER}" + fi + if [[ $need_lahf_wrapper ]]; then + ewarn "Your processor does not support the 'lahf' instruction which is used" + ewarn "by Adobe's 64-bit flash binary. We have installed a wrapper which" + ewarn "should allow this plugin to run. If you encounter problems, please" + ewarn "adjust your USE flags to install only the 32-bit version and reinstall:" + ewarn " ${CATEGORY}/$PN[+32bit -64bit]" + elog + fi + else + einfo "nspluginwrapper detected: Installing plugin wrapper" + local oldabi="${ABI}" + ABI="x86" + local FLASH_SOURCE="${ROOT}/${INSTALL_BASE}32/libflashplayer.so" + nspluginwrapper -i "${FLASH_SOURCE}" + ABI="${oldabi}" + elog + fi + elif [[ ! $native_install ]]; then + elog "To use the 32-bit flash player in a native 64-bit firefox," + elog "you must install www-plugins/nspluginwrapper." + elog + fi + fi + + ewarn "Flash player is closed-source, with a long history of security" + ewarn "issues. Please consider only running flash applets you know to" + ewarn "be safe. The 'flashblock' extension may help for mozilla users:" + ewarn " https://addons.mozilla.org/en-US/firefox/addon/433" +} |