From 91152d37729c44e618cf4b5fd80777662ee5475f Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Sun, 3 Oct 2010 02:05:50 +0000 Subject: [PATCH] adobe-flash: this update works, not with a grsec/pax kernel but it works in 64 bit --- www-plugins/adobe-flash/Manifest | 5 +- ...adobe-flash-10.2.161.22_pre20100927.ebuild | 206 ++++++++++++++++++ .../adobe-flash/adobe-flash-9.0.159.0.ebuild | 60 ----- 3 files changed, 209 insertions(+), 62 deletions(-) create mode 100644 www-plugins/adobe-flash/adobe-flash-10.2.161.22_pre20100927.ebuild delete mode 100644 www-plugins/adobe-flash/adobe-flash-9.0.159.0.ebuild diff --git a/www-plugins/adobe-flash/Manifest b/www-plugins/adobe-flash/Manifest index b938cbee4..e8dc5281e 100644 --- a/www-plugins/adobe-flash/Manifest +++ b/www-plugins/adobe-flash/Manifest @@ -1,2 +1,3 @@ -DIST install_flash_player_9.tar.gz 3057910 RMD160 efd3ddf118af41963ebb9a76c75383e4f5d27372 SHA1 b0b70bdba1a91e3954a509e8ea252d556cf4f3c9 SHA256 c2581cf5034a9adb9393acfd646d50608ab3a6a229c6f36a77ca9a8d8c5c6f07 -EBUILD adobe-flash-9.0.159.0.ebuild 1847 RMD160 447acbe83660e8e9e01d93e9dc96a93dd58cb405 SHA1 16a28daef4f8a5869c17ca2c7fb417175c4804f4 SHA256 58d0852d6c1222884a6ecf8b18e567b434b99eb4d7247f2ffc328ecd79707d9e +DIST flashplayer_square_p2_32bit_linux_092710.tar.gz 4263232 RMD160 5b301be5701a08c9d244419b61071340726534af SHA1 93ca107a3de296b83c3e52890ba27754048d290c SHA256 9d821c3619a0a7f1f5769d6a7c57684d83a1c565896c354f9fcd7fb3f3620eec +DIST flashplayer_square_p2_64bit_linux_092710.tar.gz 4307850 RMD160 278067e783021f4dee86b89410102b08abbff602 SHA1 b862dcee9ac2118d2836e76b8a4f56e6cc241593 SHA256 fdaaed681883636a3bba59a189986f5dda72e3c65613fce1e066e56111b00da1 +EBUILD adobe-flash-10.2.161.22_pre20100927.ebuild 6419 RMD160 1cf8fef29fa5ba7d5a7b098ee61e3aeaeead1703 SHA1 f4285096b1e36379bdab5d6726792bde89c852f2 SHA256 bd2dd5f4b9a04166e0f216bb6b6c725a8df7febe9000fab8b44304b533eef6e4 diff --git a/www-plugins/adobe-flash/adobe-flash-10.2.161.22_pre20100927.ebuild b/www-plugins/adobe-flash/adobe-flash-10.2.161.22_pre20100927.ebuild new file mode 100644 index 000000000..1540e8991 --- /dev/null +++ b/www-plugins/adobe-flash/adobe-flash-10.2.161.22_pre20100927.ebuild @@ -0,0 +1,206 @@ +# 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.2.161.22_pre20100915.ebuild,v 1.2 2010/09/17 18:25:17 lack Exp $ + +EAPI=3 +inherit nsplugins multilib toolchain-funcs versionator + +# Specal version parsing for date-based 'square' releases +# For proper date ordering in the ebuild we are using preCCYYMMDD whereas Adobe +# uses MMDDYY +EBUILD_DATE=$(get_version_component_range $(get_version_component_count)) +DATE_SUFFIX=${EBUILD_DATE: -4}${EBUILD_DATE:5:2} +MY_32B_URI="http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_32bit_linux_${DATE_SUFFIX}.tar.gz" +MY_64B_URI="http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_64bit_linux_${DATE_SUFFIX}.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/" +HOMEPAGE="http://labs.adobe.com/technologies/flashplayer10/" +IUSE="multilib nspluginwrapper +32bit +64bit" +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 + >=sys-libs/glibc-2.4" + +EMUL_DEPS=">=app-emulation/emul-linux-x86-gtklibs-20100409-r1 + app-emulation/emul-linux-x86-soundlibs" + +DEPEND="amd64? ( multilib? ( 32bit? ( nspluginwrapper? ( + 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 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() { + einfo "Date is $EBUILD_DATE suffix is $DATE_SUFFIX" + 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 + 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 library USE flag (32bit or 64bit)" + die "No library version selected [-32bit -64bit]" + fi + + if [[ $native_install ]]; then + # 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 + fi + fi +} + +src_unpack() { + # In this pre-release version, both tarballs have just 'libflashplayer.so' + # and no prefix directory, so put the 32-bit one somewhere else. + if [[ $amd64_32bit ]]; then + mkdir 32bit + pushd "${S}/32bit" + unpack $(basename $MY_32B_URI) + popd + unpack $(basename $MY_64B_URI) + 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 + exeinto /${INSTALL_BASE} + doexe libflashplayer.so + inst_plugin /${INSTALL_BASE}/libflashplayer.so + 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}/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 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]" + elog + fi + fi + if [[ $amd64_32bit ]]; then + 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}" + ewarn "Using adobe-flash-10.1 in a 64-bit browser is unstable:" + ewarn " http://bugs.gentoo.org/324365" + ewarn "The recommended configuration is to use the 32-bit plugin" + ewarn "in a 32-bit browser such as www-client/firefox-bin" + elog + 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 + + 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" +} diff --git a/www-plugins/adobe-flash/adobe-flash-9.0.159.0.ebuild b/www-plugins/adobe-flash/adobe-flash-9.0.159.0.ebuild deleted file mode 100644 index 53cf95cf1..000000000 --- a/www-plugins/adobe-flash/adobe-flash-9.0.159.0.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/adobe-flash-9.0.159.0.ebuild,v 1.1 2009/04/10 13:14:04 ulm Exp $ - -inherit nsplugins - -DESCRIPTION="Adobe Flash Player" -SRC_URI="http://download.macromedia.com/pub/flashplayer/installers/current/9/install_flash_player_9.tar.gz" -HOMEPAGE="http://www.adobe.com/go/kb406791" -IUSE="" -SLOT="0" - -KEYWORDS="-* ~amd64 ~x86" -LICENSE="AdobeFlash-9.0.31.0" -RESTRICT="strip mirror" - -S=${WORKDIR} - -RDEPEND="amd64? ( app-emulation/emul-linux-x86-baselibs - app-emulation/emul-linux-x86-gtklibs - app-emulation/emul-linux-x86-soundlibs - app-emulation/emul-linux-x86-xlibs ) - x86? ( x11-libs/libXext - x11-libs/libX11 - x11-libs/libXt - =x11-libs/gtk+-2* - media-libs/freetype - media-libs/fontconfig ) - || ( media-fonts/freefont-ttf media-fonts/corefonts )" - -pkg_setup() { - # This is a binary x86 package => ABI=x86 - # Please keep this in future versions - # Danny van Dyk 2005/03/26 - has_multilib_profile && ABI="x86" -} - -src_install() { - cd "${S}/install_flash_player_9_linux/" - exeinto /opt/netscape/plugins - doexe libflashplayer.so - inst_plugin /opt/netscape/plugins/libflashplayer.so -} - -pkg_postinst() { - 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." - - if has_version 'www-client/mozilla-firefox'; then - elog "The firefox 'flashblock' extension may help:" - elog " https://addons.mozilla.org/en-US/firefox/addon/433" - fi - - if has_version 'kde-base/konqueror'; then - elog "Konqueror users: You may need to follow the instructions here:" - elog " http://dev.gentoo.org/~lack/konqueror-flash.xml" - elog "For flash to work with your browser." - fi -}