diff options
author | Paul de Vrieze <pauldv@gentoo.org> | 2010-09-16 11:28:41 +0000 |
---|---|---|
committer | Paul de Vrieze <pauldv@gentoo.org> | 2010-09-16 11:28:41 +0000 |
commit | 5e1797fba069e626e620a06aa0d8f408c5552a6c (patch) | |
tree | 13a4d9a5bbc49a45d94aaf87e313621e69df33af | |
parent | Get adobe air ebuild from sunrise (diff) | |
download | pauldv-5e1797fba069e626e620a06aa0d8f408c5552a6c.tar.gz pauldv-5e1797fba069e626e620a06aa0d8f408c5552a6c.tar.bz2 pauldv-5e1797fba069e626e620a06aa0d8f408c5552a6c.zip |
Add newer adobe flash plugin
svn path=/trunk/overlay/; revision=121
-rw-r--r-- | www-plugins/adobe-flash/Manifest | 5 | ||||
-rw-r--r-- | www-plugins/adobe-flash/adobe-flash-10.2.161.22.ebuild | 195 | ||||
-rw-r--r-- | www-plugins/adobe-flash/files/flashplugin-lahf-fix.c | 29 | ||||
-rw-r--r-- | www-plugins/adobe-flash/files/mms.cfg | 117 |
4 files changed, 346 insertions, 0 deletions
diff --git a/www-plugins/adobe-flash/Manifest b/www-plugins/adobe-flash/Manifest new file mode 100644 index 0000000..ca68d3a --- /dev/null +++ b/www-plugins/adobe-flash/Manifest @@ -0,0 +1,5 @@ +AUX flashplugin-lahf-fix.c 1038 RMD160 8b4550179b919f82acb67813eff33462bebeeb74 SHA1 628b3d672416d386134f79dbcedba333bd5558a9 SHA256 52acc6658eb7d49fb167c848345f7dcb49e4057e2872ca8319bccbff6728df6d +AUX mms.cfg 4420 RMD160 b73a91462e1db48fb40983e896cb06b3deb2a51e SHA1 3e56ecb32b938f46eea17a924fa0b006c66a3e6e SHA256 0dd2a9f9aab559243c4d282b5c143ed8876b8d6f8be519bfa8ca6e8fc0c55d9a +DIST flashplayer_square_p1_32bit_linux_091510.tar.gz 4264619 RMD160 438fa5984438193494c34b8363cd9b3762e50601 SHA1 d2734b6207cd055788dca2f20b9a69ccbe36819f SHA256 b8528f1e34e653bdcb7d0e466bc274047c2878e78e0662b3dbd0b7d6d7034848 +DIST flashplayer_square_p1_64bit_linux_091510.tar.gz 4308402 RMD160 68b4d7a022a85783a8fed5256acd28721fa11d03 SHA1 119cc23b8b7e7131a7e2b84df17ef8941abb317f SHA256 8b581da45ea80aa4d83afc94f64bc294e1247cab505829e6c6d13bcebaddf037 +EBUILD adobe-flash-10.2.161.22.ebuild 5878 RMD160 3483c9f65e9660d808bc40fa0c573fedae3b50f6 SHA1 f69443325edd029c5f11175c079dd3c01347f6fa SHA256 55c01df8911d3d9955f8aebd4e4b1b0175631e407a0ef4484e9063cefcb76a5d diff --git a/www-plugins/adobe-flash/adobe-flash-10.2.161.22.ebuild b/www-plugins/adobe-flash/adobe-flash-10.2.161.22.ebuild new file mode 100644 index 0000000..69c6400 --- /dev/null +++ b/www-plugins/adobe-flash/adobe-flash-10.2.161.22.ebuild @@ -0,0 +1,195 @@ +# 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.1.82.76-r1.ebuild,v 1.3 2010/08/13 12:47:22 lack Exp $ + +EAPI=1 +inherit nsplugins rpm multilib toolchain-funcs + +MY_32B_URI="http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p1_32bit_linux_091510.tar.gz" +MY_64B_URI="http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p1_64bit_linux_091510.tar.gz" + +DESCRIPTION="Adobe Flash Player" +SRC_URI="${MY_32B_URI} " +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 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" + +RDEPEND="x86? ( $NATIVE_DEPS ) + amd64? ( + multilib? ( + 64bit? ( $NATIVE_DEPS ) + 32bit? ( $EMUL_DEPS ) + ) + !multilib? ( $NATIVE_DEPS ) + ) + || ( media-fonts/liberation-fonts media-fonts/corefonts )" +DEPEND="nspluginwrapper? ( www-plugins/nspluginwrapper )" + +# 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 + # 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; then + export amd64_32bit=1 + 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_unpack() { + if use amd64 && use multilib && use 32bit; then + unpack $( basename "${MY_64B_URI}" ) + mkdir ${S}/32bit + pushd ${S}/32bit + unpack $( basename "${MY_32B_URI}" ) + popd + 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 + 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}" + 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 firefox," + elog "you must install www-plugins/nspluginwrapper, though this" + elog "configuration is not recommended:" + elog " http://bugs.gentoo.org/324365" + 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" +} diff --git a/www-plugins/adobe-flash/files/flashplugin-lahf-fix.c b/www-plugins/adobe-flash/files/flashplugin-lahf-fix.c new file mode 100644 index 0000000..9338b73 --- /dev/null +++ b/www-plugins/adobe-flash/files/flashplugin-lahf-fix.c @@ -0,0 +1,29 @@ +/* Simple work-around for running the 64-bit Adobe Flash plug-in version 10 + on Athlon64 processors without support for the lahf instruction. + +Compile with: +cc -fPIC -shared -nostdlib -lc -oflashplugin-lahf-fix.so flashplugin-lahf-fix.c +Then place the .so file in the plug-in directory (e.g. $HOME/.mozilla/plugins) +or use LD_PRELOAD to force Firefox to load the library. + + - Maks Verver <maksverver@geocities.com> July 2009 */ + +#define _GNU_SOURCE +#include <stdlib.h> +#include <signal.h> +#include <ucontext.h> + +static void sig_handler(int signal, siginfo_t *info, void *context) { + if (signal != SIGILL) return; + if (*(char*)info->si_addr != (char)0x9f) abort(); + greg_t *regs = ((ucontext_t*)context)->uc_mcontext.gregs; + ((char*)®s[REG_RAX])[1] = ((char*)®s[REG_EFL])[0]; + regs[REG_RIP]++; +} + +static struct sigaction old_sa, new_sa = { + .sa_flags = SA_SIGINFO, + .sa_sigaction = &sig_handler }; + +int _init() { sigaction(SIGILL, &new_sa, &old_sa); return 0; } +int _fini() { sigaction(SIGILL, &old_sa, &new_sa); return 0; } diff --git a/www-plugins/adobe-flash/files/mms.cfg b/www-plugins/adobe-flash/files/mms.cfg new file mode 100644 index 0000000..3d53391 --- /dev/null +++ b/www-plugins/adobe-flash/files/mms.cfg @@ -0,0 +1,117 @@ +# +# /etc/adobe/mms.cfg: Adobe Flash privacy and security settings +# +# For more details on the meaning of most of these options, please visit: +# http://www.adobe.com/devnet/flashplayer/articles/flash_player_admin_guide.html +# + +# Lets you prevent users from designating any files on the local file system as +# trusted +# 0 = Not Allowed, 1 = Allowed (default) +#AllowUserLocalTrust = 1 + +# Lets you specify a hard limit on the amount of local storage that Flash Player +# uses for the storage of common Flash components +# Size in megabytes (default is 20), 0 = Component storage disabled +#AssetCacheSize = 20 + +# Lets you prevent Flash Player from automatically checkingfor and installing +# updated versions +# 0 = Not Disabled (default), 1 = Disabled +AutoUpdateDisable = 1 + +# Lets you specify how often to check for an updated version of Flash Player +# Number of days, 0 = Every startup +# There is no default value, which falls back to the user's setting (30 days by +# default) +#AutoUpdateInterval = + +# Lets you prevent SWF files from accessing webcams or microphones +# 0 = Not Disabled (default), 1 = Disabled +#AVHardwareDisable = 0 + +# Lets you prevent information on installed fonts from being displayed +# 0 = Not Disabled (default), 1 = Disabled +#DisableDeviceFontEnumeration = 0 + +# Lets you prevent networking or file system access if any kind +# Set to the executable filename, default is empty +#DisableNetworkAndFilesystemInHostApp = + +# Lets you prevent native code applications that are digitally signed and +# delivered by Adobe from being downloaded +# 0 = Not Disabled (default), 1 = Disabled +#DisableProductDownload = 0 + +# Lets you enable or disable the use of the Socket.connect() and +# XMLSocket.connect() methods +# 0 = Not Disabled (default), 1 = Disabled +#DisableSockets = 0 + +# Lets you create a whitelist of servers to which socket connections are allowed +# Set to hostname or IP address. This can be specified multiple times in this +# file to allow more than one host, and only takes effect if DisableSockets +# (above) is set to 1. +#EnableSocketsTo = localhost.localdomain +#EnableSocketsTo = 127.0.0.1 + +# Lets you prevent the ActionScript FileReference API from performing file +# downloads +# 0 = Not Disabled (default), 1 = Disabled +#FileDownloadDisable = 0 + +# Lets you prevent the ActionScript FileReference API from prerforming file +# uploads +# 0 = Not Disabled (default), 1 = Disabled +#FileUploadDisable = 0 + +# Lets you disable SWF files playing via a browser plug-in from being displayed +# in full-screen mode +# 0 = Not Disabled (default), 1 = Disabled +#FullScreenDisable = 0 + +# Lets you specify whether SWF files produced for Flash Player 6 and earlier can +# execute an operation that has been restricted in a newer version of Flash +# Player +# 0 = Deny, 1 = Allow +# There is no default value, which falls back to the user's setting (Defaults to +# "Ask" +#LegacyDomainMatching = + +# Lets you specify how Flash Player should determine whether to execute certain +# local SWF files that were originally produced for Flash Player 7 and earlier +# 0 = Deny, 1 = Allow +# There is no default value, which falls back to the user's setting +#LocalFileLegacyAction = + +# Lets you prevent local SWF files from having read access to files on local +# drive +# 0 = Not Disabled (default), 1 = Disabled +#LocalFileReadDisable = 0 + +# Lets you specify a hard limit on the amout of local storage that Flash Player +# uses (per domain) for persistent shared objects +# 1 = no storage, 2 = 10KB, 3 = 100KB, 4 = 1MB, 5 = 10MB, +# 6 = User specified (default) +# If the user does not specify a limit, the default is 100KB. +#LocalStorageLimit = 6 + +# Lets you override GPU validation checks to force hardware acceleration +# Warning: This may make your player (more) unstable! +# 0 = Check GPU (default), 1 = Skip checks +# More details: +# http://blogs.adobe.com/penguin.swf/2008/08/secrets_of_the_mmscfg_file_1.html +#OverrideGPUValidation = 0 + +# Lets you specify whether third-party SWF files can read and write locally +# persistent shared objects +# 0 = disabled, 1 = enabled +# There is no default value, which falls back to the user's setting +#ThirdPartyStorage = + +# Lets you disable "Windowless" mode, which may cause crashes in firefox +# version 3.01 and earlier. +# 0 = Not Disabled (default), 1 = Disabled +# More details: +# http://blogs.adobe.com/penguin.swf/2008/08/windowless_mode_fix.html +#WindowlessDisable = 0 |