summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www-plugins/adobe-flash/ChangeLog8
-rw-r--r--www-plugins/adobe-flash/adobe-flash-11.2.202.238.ebuild259
2 files changed, 266 insertions, 1 deletions
diff --git a/www-plugins/adobe-flash/ChangeLog b/www-plugins/adobe-flash/ChangeLog
index 46b3103ea504..b54825ef75d8 100644
--- a/www-plugins/adobe-flash/ChangeLog
+++ b/www-plugins/adobe-flash/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for www-plugins/adobe-flash
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/ChangeLog,v 1.138 2012/06/20 13:41:37 tove Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/ChangeLog,v 1.139 2012/08/17 02:18:53 radhermit Exp $
+
+*adobe-flash-11.2.202.238 (17 Aug 2012)
+
+ 17 Aug 2012; Tim Harder <radhermit@gentoo.org>
+ +adobe-flash-11.2.202.238.ebuild:
+ Security bump (bug #431432).
19 Jun 2012; Jim Ramsay <jim_ramsay@gentoo.org>
adobe-flash-10.3.183.18.ebuild, -adobe-flash-11.2.202.228.ebuild,
diff --git a/www-plugins/adobe-flash/adobe-flash-11.2.202.238.ebuild b/www-plugins/adobe-flash/adobe-flash-11.2.202.238.ebuild
new file mode 100644
index 000000000000..cf7dc44b7aac
--- /dev/null
+++ b/www-plugins/adobe-flash/adobe-flash-11.2.202.238.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/adobe-flash-11.2.202.238.ebuild,v 1.1 2012/08/17 02:18:53 radhermit Exp $
+
+EAPI=4
+inherit nsplugins multilib toolchain-funcs versionator
+
+MY_32B_URI="http://fpdownload.macromedia.com/get/flashplayer/pdc/${PV}/install_flash_player_$(get_major_version)_linux.i386.tar.gz -> ${P}.i386.tar.gz"
+MY_64B_URI="http://fpdownload.macromedia.com/get/flashplayer/pdc/${PV}/install_flash_player_$(get_major_version)_linux.x86_64.tar.gz -> ${P}.x86_64.tar.gz"
+
+DESCRIPTION="Adobe Flash Player"
+SRC_URI="x86? ( ${MY_32B_URI} )
+amd64? (
+ multilib? (
+ 32bit? ( ${MY_32B_URI} )
+ 64bit? ( ${MY_64B_URI} )
+ )
+ !multilib? ( ${MY_64B_URI} )
+)"
+HOMEPAGE="http://www.adobe.com/products/flashplayer.html"
+IUSE="multilib -32bit +64bit vdpau kde +sse2check"
+SLOT="0"
+
+KEYWORDS="-* ~amd64 ~x86"
+LICENSE="AdobeFlash-10.3"
+RESTRICT="strip mirror"
+
+S="${WORKDIR}"
+
+NATIVE_DEPS="x11-libs/gtk+:2
+ media-libs/fontconfig
+ dev-libs/nss
+ net-misc/curl
+ vdpau? ( x11-libs/libvdpau )
+ kde? ( kde-base/kcmshell )
+ >=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? ( multilib? ( !64bit? ( www-plugins/nspluginwrapper ) ) )"
+RDEPEND="x86? ( $NATIVE_DEPS )
+ amd64? (
+ multilib? (
+ 64bit? ( $NATIVE_DEPS )
+ 32bit? ( $EMUL_DEPS )
+ )
+ !multilib? ( $NATIVE_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 closed-source binaries, since we can't fix them:
+QA_PREBUILT="opt/*"
+
+any_cpu_missing_flag() {
+ local value=$1
+ grep '^flags' /proc/cpuinfo | grep -qv "$value"
+}
+
+pkg_pretend() {
+ if any_cpu_missing_flag 'sse2'; then
+ eerror "This version of adobe-flash requires a CPU that supports the"
+ eerror "SSE2 instruction set, and at least one of your CPUs does not"
+ eerror "support this feature."
+ eerror ""
+ if use sse2check; then
+ eerror "You should mask this version and use adobe-flash-10.3.* instead."
+ eerror "To do so, add the following line to your package.mask file:"
+ eerror " =${CATEGORY}/${P}"
+ eerror ""
+ eerror "Or if you are trying to build a binary package for another host"
+ eerror "that does support SSE2 instructions, you may override this"
+ eerror "check by setting USE=\"-sse2check\""
+ eerror ""
+ die "${P} requires CPU with SSE2"
+ else
+ eerror "Continuing anyway due to USE=\"-sse2check\", but be aware that flash"
+ eerror "will not function unless all of the CPUs on the system where it"
+ eerror "is installed support the SSE2 instruction set."
+ fi
+ fi
+}
+
+pkg_setup() {
+ if use x86; then
+ export native_install=1
+ elif use amd64; then
+ # amd64 users may unselect the native 64bit binary, if they choose
+ # TODO: In future revisions, remove this ability now that 64-bit
+ # binaries are officially released and working.
+ if ! use multilib || use 64bit; then
+ export native_install=1
+ else
+ unset native_install
+ fi
+
+ if use multilib && use 32bit; then
+ export amd64_32bit=1
+ else
+ unset amd64_32bit
+ fi
+
+ if use multilib && ! use 32bit && ! use 64bit; then
+ eerror "You must select at least one architecture USE flag (32bit or 64bit)"
+ die "No library version selected [-32bit -64bit]"
+ fi
+
+ unset need_lahf_wrapper
+ if [[ $native_install ]]; then
+ # 64bit flash requires the 'lahf' instruction (bug #268336)
+ if any_cpu_missing_flag 'lahf_lm'; then
+ export need_lahf_wrapper=1
+ fi
+ fi
+ fi
+}
+
+src_unpack() {
+ if [[ $amd64_32bit ]]; then
+ # Since the 32-bit and 64-bit packages collide, put the 32-bit one
+ # elsewhere:
+ local my_32b_src=${MY_32B_URI##*>}
+ local my_64b_src=${MY_64B_URI##*>}
+ if [[ $native_install ]]; then
+ unpack $my_64b_src
+ fi
+ mkdir 32bit
+ pushd 32bit >/dev/null
+ unpack $my_32b_src
+ popd >/dev/null
+ else
+ default_src_unpack
+ 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
+ if use x86; then
+ local PKGLIB=lib
+ else
+ local PKGLIB=lib64
+ fi
+ local BASE=${INSTALL_BASE}
+
+ # The plugin itself
+ exeinto /${BASE}/flash-plugin
+ doexe libflashplayer.so
+ inst_plugin /${BASE}/flash-plugin/libflashplayer.so
+
+ # The optional KDE4 KCM plugin
+ if use kde; then
+ exeinto /${BASE}/kde4
+ doexe usr/${PKGLIB}/kde4/kcm_adobe_flash_player.so
+ dosym /${BASE}/kde4/kcm_adobe_flash_player.so \
+ /usr/$(get_libdir)/kde4/kcm_adobe_flash_player.so
+ insinto /usr/share/kde4/services
+ doins usr/share/kde4/services/kcm_adobe_flash_player.desktop
+ else
+ # No KDE applet, so allow the GTK utility to show up in KDE:
+ sed -i usr/share/applications/flash-player-properties.desktop \
+ -e "/^NotShowIn=KDE;/d" || die "sed of .desktop file failed"
+ fi
+
+ # The userland 'flash-player-properties' standalone app:
+ exeinto /${BASE}/bin
+ doexe usr/bin/flash-player-properties
+ dosym /${BASE}/bin/flash-player-properties \
+ usr/bin/flash-player-properties
+
+ # Icon and .desktop for 'flash-player-properties'
+ for icon in $(find usr/share/icons/ -name '*.png'); do
+ insinto /$(dirname $icon)
+ doins $icon
+ done
+ dosym ../icons/hicolor/48x48/apps/flash-player-properties.png \
+ usr/share/pixmaps/flash-player-properties.png
+ insinto usr/share/applications
+ sed -i usr/share/applications/flash-player-properties.desktop \
+ -e "s:^Exec=:Exec=/${BASE}/bin/:" || die "sed of .desktop file failed"
+ doins usr/share/applications/flash-player-properties.desktop
+ 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
+ # Only install the plugin, nothing else for 32-bit.
+ local oldabi="${ABI}"
+ ABI="x86"
+
+ # 32b plugin
+ pushd "${S}/32bit"
+ exeinto /${INSTALL_BASE}32
+ doexe libflashplayer.so
+ inst_plugin /${INSTALL_BASE}32/libflashplayer.so
+ popd
+
+ ABI="${oldabi}"
+ fi
+
+ # The magic config file!
+ insinto "/etc/adobe"
+ doins "${FILESDIR}/mms.cfg"
+}
+
+pkg_postinst() {
+ if use amd64; then
+ 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
+ if has_version 'www-plugins/nspluginwrapper'; then
+ if [[ $native_install ]]; then
+ # 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
+ 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}"
+ fi
+ elif [[ ! $native_install ]]; then
+ elog "To use the 32-bit flash player in a native 64-bit browser,"
+ elog "you must install www-plugins/nspluginwrapper"
+ fi
+ fi
+}