Revbump to address bug #286159 (Ensure *all* processors support the lahf_lm instructi...
authorJim Ramsay <lack@gentoo.org>
Sat, 27 Mar 2010 15:14:59 +0000 (15:14 +0000)
committerJim Ramsay <lack@gentoo.org>
Sat, 27 Mar 2010 15:14:59 +0000 (15:14 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

www-plugins/adobe-flash/ChangeLog
www-plugins/adobe-flash/Manifest
www-plugins/adobe-flash/adobe-flash-10.0.45.2-r1.ebuild [new file with mode: 0644]

index f4f2e57260e94ca25a875b96b480a964e2eaf109..605502ed10f0ced0e18867f741e66abd4e8b9c67 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for www-plugins/adobe-flash
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/ChangeLog,v 1.18 2010/03/04 19:36:25 lack Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/ChangeLog,v 1.19 2010/03/27 15:14:59 lack Exp $
+
+*adobe-flash-10.0.45.2-r1 (27 Mar 2010)
+
+  27 Mar 2010; Jim Ramsay <lack@gentoo.org>
+  +adobe-flash-10.0.45.2-r1.ebuild:
+  Revbump to address bug #286159 (Ensure *all* processors support the
+  lahf_lm instruction) and bug #311575 (No more flash-libcompat needed
+  thanks to >=app-emulation/emul-linux-x86-baselibs-20100220)
 
   04 Mar 2010; Jim Ramsay <lack@gentoo.org> -adobe-flash-10.0.42.34.ebuild:
   Version cleanup (Secury bug #307749)
index 0f949c208142802c4d568512675efc3471bf0d71..5268f33ea5b5bedb26175df25775b970a4fbe59e 100644 (file)
@@ -4,7 +4,8 @@ DIST flash-libcompat-0.2.tar.bz2 1162317 RMD160 197841eb76faacb05aec3e003f5e06e0
 DIST flash-plugin-10.0.45.2-release.i386.rpm 4121963 RMD160 67710d394ff7aaa44d35db44cd9d85fff4202c42 SHA1 2b9e1acff3af983d6f29f48014c77ed8c0ec998d SHA256 fd2a4427a0c801ce675736dcadbbaa4ff473418bb19edc7b5c1fd0f4f9a8c9b8
 DIST install_flash_player_9.tar.gz 3056624 RMD160 691de4c0b2b5ea3d6f7e3e07246dc7cee80ca902 SHA1 fd6da8b2afbcaf3213c772e7afc664030a50a683 SHA256 d934e3fdd49db84c346a0d501d6519e4cafe77bdb596f5af1e92e7e3eb93dab2
 DIST libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz 3731155 RMD160 9c1a269c25b88a062f2529c7943ae9f73c408c1a SHA1 88193dd555e1510ffac360e293558458e75a7118 SHA256 eeabb58a7bb71843cd99fbbb5ba77b6dce93018bfcff579f6f89327a990074d6
+EBUILD adobe-flash-10.0.45.2-r1.ebuild 5487 RMD160 19d7ec82e48f243b2e9fbc39610b9345a7793ea7 SHA1 8199f01d786dfdb94f7b91903b8748f2a55969b1 SHA256 e35819aca1f66ddab5f7af12fc89e66d378c87314ef6bfca7d8b2ac434c2e4ec
 EBUILD adobe-flash-10.0.45.2.ebuild 6101 RMD160 3110bddcd1847979c128dfd9aa1bedf9a586244a SHA1 dd2f0cc13749bc06d24384011c8e719e1edfc3e0 SHA256 e1ac23c7d22d6b0337d99f1c70969a9695b87c9e33bd27f6fd50bbc7383dfac2
 EBUILD adobe-flash-9.0.262.0.ebuild 1622 RMD160 02b252b43b5bd9db27c5feb2666ae0506aa84a39 SHA1 08df88361364ee8fe8d82f7c61617d9168e0d46e SHA256 ef0402228921e6c4679cd8fdf22eeaa661e3ad406d8d41f02fa403b0d29bf972
-MISC ChangeLog 20106 RMD160 eef5eb91e56cd3aef48676ec8090007cbe0b1d0e SHA1 bd4a02d6d7943d63668675d96fe71424bcbf4e12 SHA256 d134c9d15c5a5ef4c859988519f98371bd9e3599994f4c2d15242a85d08465f2
+MISC ChangeLog 20431 RMD160 ca8c4447f296b6935b2e5d9daa32677e09a621d9 SHA1 a9c3dae3994c5a628f8d0305da9a63fe590b064b SHA256 3522b88bfd59499410d78c3a097fcb44fa97f1a2bb56e4a00e3eb6e5767f8a87
 MISC metadata.xml 429 RMD160 f5ba3860c5498d5accc68542463c813d4f61f546 SHA1 0693a51309cedd970ee6b0fc30a92a152648d39f SHA256 a43e3365edf85a93e58673f6fa03af6a7573d3ad3f2cb1c0c77ce9134f750fb6
diff --git a/www-plugins/adobe-flash/adobe-flash-10.0.45.2-r1.ebuild b/www-plugins/adobe-flash/adobe-flash-10.0.45.2-r1.ebuild
new file mode 100644 (file)
index 0000000..c85ba64
--- /dev/null
@@ -0,0 +1,176 @@
+# Copyright 1999-2010 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.0.45.2-r1.ebuild,v 1.1 2010/03/27 15:14:59 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"
+MY_64B_URI="http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-${PV}.linux-x86_64.so.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/"
+IUSE="multilib +32bit +64bit"
+SLOT="0"
+
+KEYWORDS="-* ~amd64 ~x86"
+LICENSE="AdobeFlash-10"
+RESTRICT="strip mirror"
+
+S="${WORKDIR}"
+
+NATIVE_DEPS="x11-libs/gtk+:2
+       media-libs/fontconfig
+       dev-libs/nss
+       net-misc/curl
+       >=sys-libs/glibc-2.4
+       || ( media-fonts/freefont-ttf media-fonts/corefonts )"
+
+EMUL_DEPS=">=app-emulation/emul-linux-x86-baselibs-20100220
+       app-emulation/emul-linux-x86-gtklibs
+       app-emulation/emul-linux-x86-soundlibs
+       app-emulation/emul-linux-x86-xlibs"
+
+RDEPEND="x86? ( $NATIVE_DEPS )
+       amd64? (
+               multilib? (
+                       64bit? ( $NATIVE_DEPS )
+                       32bit? ( $EMUL_DEPS )
+               )
+               !multilib? ( $NATIVE_DEPS )
+       )
+       !www-plugins/libflashsupport"
+
+# Ignore QA warnings in these binary closed-source libraries, since we can't fix
+# them:
+QA_EXECSTACK="opt/netscape/plugins32/libflashplayer.so
+       opt/netscape/plugins/libflashplayer.so"
+
+QA_DT_HASH="opt/netscape/plugins32/libflashplayer.so
+       opt/netscape/plugins/libflashplayer.so"
+
+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
+               if ! use multilib || use 64bit; then
+                       export native_install=1
+                       # 64bit flash requires the 'lahf' instruction (bug #268336)
+                       # Also, check if *any* of the processors are affected (bug #286159)
+                       if grep '^flags' /proc/cpuinfo | grep -qv 'lahf_lm'; then
+                               export need_lahf_wrapper=1
+                       else
+                               unset need_lahf_wrapper
+                       fi
+               else
+                       unset native_install
+               fi
+
+               if use multilib && ! use 32bit && ! use 64bit; then
+                       eerror "You must select at least one library USE flag (32bit or 64bit)"
+                       die "No library version selected [-32bit -64bit]"
+               fi
+       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 /opt/netscape/plugins
+               doexe libflashplayer.so
+               inst_plugin /opt/netscape/plugins/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 /opt/netscape/plugins
+               doexe flashplugin-lahf-fix.so
+               inst_plugin /opt/netscape/plugins/flashplugin-lahf-fix.so
+       fi
+
+       if use amd64 && has_multilib_profile && use 32bit; then
+               oldabi="${ABI}"
+               ABI="x86"
+
+               # 32b plugin
+               pushd "${S}/usr/lib/flash-plugin"
+                       exeinto /opt/netscape/plugins32/
+                       doexe libflashplayer.so
+                       inst_plugin /opt/netscape/plugins32/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
+               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
+                               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]"
+                               fi
+                       else
+                               oldabi="${ABI}"
+                               ABI="x86"
+                               local FLASH_SOURCE="${ROOT}/usr/$(get_libdir)/${PLUGINS_DIR}/libflashplayer.so"
+
+                               einfo "nspluginwrapper detected: Installing plugin wrapper"
+                               nspluginwrapper -i "${FLASH_SOURCE}"
+
+                               ABI="${oldabi}"
+                       fi
+               elif [[ ! $native_install ]]; then
+                       einfo "To use the 32-bit flash player in a native 64-bit firefox,"
+                       einfo "you must install www-plugins/nspluginwrapper"
+               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"
+}