summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-09-27 19:35:08 +0000
committerMichał Górny <mgorny@gentoo.org>2013-09-27 19:35:08 +0000
commit06633ceac20739a6927da480c46ab4caaae032f5 (patch)
tree41bd640b023a4ba4a0ade2317b3f956b97a65f4a /www-plugins
parentVersion bump. (diff)
downloadgentoo-2-06633ceac20739a6927da480c46ab4caaae032f5.tar.gz
gentoo-2-06633ceac20739a6927da480c46ab4caaae032f5.tar.bz2
gentoo-2-06633ceac20739a6927da480c46ab4caaae032f5.zip
Introduce a simplified, multilib-friendly ebuild by me, AxS and iamnr3.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'www-plugins')
-rw-r--r--www-plugins/adobe-flash/ChangeLog8
-rw-r--r--www-plugins/adobe-flash/adobe-flash-11.2.202.310-r1.ebuild245
2 files changed, 252 insertions, 1 deletions
diff --git a/www-plugins/adobe-flash/ChangeLog b/www-plugins/adobe-flash/ChangeLog
index e7bd6892aa24..e140777c90ef 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-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/ChangeLog,v 1.213 2013/09/11 13:37:14 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/adobe-flash/ChangeLog,v 1.214 2013/09/27 19:35:08 mgorny Exp $
+
+*adobe-flash-11.2.202.310-r1 (27 Sep 2013)
+
+ 27 Sep 2013; Michał Górny <mgorny@gentoo.org>
+ +adobe-flash-11.2.202.310-r1.ebuild:
+ Introduce a simplified, multilib-friendly ebuild by me, AxS and iamnr3.
11 Sep 2013; Jeroen Roovers <jer@gentoo.org>
-adobe-flash-11.2.202.297.ebuild, -files/memcpy-to-memmove.sh:
diff --git a/www-plugins/adobe-flash/adobe-flash-11.2.202.310-r1.ebuild b/www-plugins/adobe-flash/adobe-flash-11.2.202.310-r1.ebuild
new file mode 100644
index 000000000000..e88f80135c37
--- /dev/null
+++ b/www-plugins/adobe-flash/adobe-flash-11.2.202.310-r1.ebuild
@@ -0,0 +1,245 @@
+# Copyright 1999-2013 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.310-r1.ebuild,v 1.1 2013/09/27 19:35:08 mgorny Exp $
+
+EAPI=5
+inherit nsplugins toolchain-funcs versionator multilib-minimal
+
+DESCRIPTION="Adobe Flash Player"
+HOMEPAGE="http://www.adobe.com/products/flashplayer.html"
+
+AF_URI="http://fpdownload.macromedia.com/get/flashplayer/pdc"
+AF_DB_URI="http://fpdownload.macromedia.com/pub/flashplayer/updaters"
+PV_M=$(get_major_version)
+AF_32_URI="${AF_URI}/${PV}/install_flash_player_${PV_M}_linux.i386.tar.gz -> ${P}.i386.tar.gz"
+AF_64_URI="${AF_URI}/${PV}/install_flash_player_${PV_M}_linux.x86_64.tar.gz -> ${P}.x86_64.tar.gz"
+AF_32_DB_URI="${AF_DB_URI}/${PV_M}/flashplayer_${PV_M}_plugin_debug.i386.tar.gz -> ${P}-debug.i386.tar.gz"
+
+SRC_URI="
+ abi_x86_32? (
+ !debug? ( ${AF_32_URI} )
+ debug? ( ${AF_32_DB_URI} )
+ )
+ abi_x86_64? ( ${AF_64_URI} )
+"
+IUSE="debug kde selinux sse2"
+REQUIRED_USE="sse2 debug? ( abi_x86_32 )"
+SLOT="0"
+
+KEYWORDS="-* ~amd64 ~x86"
+LICENSE="AdobeFlash-11.x"
+RESTRICT="strip mirror"
+
+S="${WORKDIR}"
+
+NATIVE_DEPS="
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ kde? (
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ dev-qt/qtsvg:4
+ kde-base/kdelibs
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXft
+ x11-libs/libXpm
+ )
+ media-libs/fontconfig
+ media-libs/freetype
+ >=sys-libs/glibc-2.4
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/pango
+"
+
+DEPEND="
+ amd64? ( abi_x86_32? ( www-plugins/nspluginwrapper ) )
+ selinux? ( sec-policy/selinux-flash )
+"
+RDEPEND="
+ ${DEPEND}
+ abi_x86_64? ( ${NATIVE_DEPS} )
+ abi_x86_32? (
+ amd64? (
+ || (
+ (
+ dev-libs/atk[abi_x86_32(-)]
+ x11-libs/cairo[abi_x86_32(-)]
+ x11-libs/gdk-pixbuf[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]
+ x11-libs/pango[abi_x86_32(-)]
+ )
+ app-emulation/emul-linux-x86-gtklibs
+ )
+ || (
+ (
+ dev-libs/glib:2[abi_x86_32(-)]
+ dev-libs/nspr[abi_x86_32(-)]
+ dev-libs/nss[abi_x86_32(-)]
+ )
+ app-emulation/emul-linux-x86-baselibs
+ )
+ || (
+ (
+ media-libs/fontconfig[abi_x86_32(-)]
+ media-libs/freetype[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXcursor[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/libXrender[abi_x86_32(-)]
+ x11-libs/libXt[abi_x86_32(-)]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ x86? ( ${NATIVE_DEPS} )
+ )
+ || ( media-fonts/liberation-fonts media-fonts/corefonts )
+"
+
+# 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_setup() {
+ unset need_lahf_wrapper
+ if use abi_x86_64 && any_cpu_missing_flag 'lahf_lm'; then
+ export need_lahf_wrapper=1
+ fi
+}
+
+src_unpack() {
+ local files=( ${A} )
+
+ multilib_src_unpack() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+
+ # we need to filter out the other archive(s)
+ local other_abi
+ [[ ${ABI} == amd64 ]] && other_abi=i386 || other_abi=x86_64
+ unpack ${files[@]//*${other_abi}*/}
+ }
+
+ multilib_parallel_foreach_abi multilib_src_unpack
+}
+
+src_configure() { :; }
+
+multilib_src_compile() {
+ if [[ ${ABI} == amd64 && ${need_lahf_wrapper} ]]; then
+ # This experimental wrapper, from Maks Verver via bug #268336 should
+ # emulate the missing lahf instruction affected platforms.
+ set -- $(tc-getCC) -fPIC -shared -nostdlib -lc \
+ -oflashplugin-lahf-fix.so "${FILESDIR}/flashplugin-lahf-fix.c"
+ echo "${@}" >&2
+ "${@}" || die "Compile of flashplugin-lahf-fix.so failed"
+ fi
+}
+
+multilib_src_install() {
+ # PLUGINS_DIR comes from nsplugins.eclass
+ exeinto /usr/$(get_libdir)/${PLUGINS_DIR}
+ doexe libflashplayer.so
+
+ if [[ ${ABI} == amd64 && ${need_lahf_wrapper} ]]; then
+ # This experimental wrapper, from Maks Verver via bug #268336 should
+ # emulate the missing lahf instruction affected platforms.
+ doexe flashplugin-lahf-fix.so
+ fi
+
+ if multilib_build_binaries; then
+ if use kde; then
+ local pkglibdir=lib
+ [[ -d usr/lib64 ]] && pkglibdir=lib64
+
+ exeinto /usr/$(get_libdir)/kde4
+ doexe usr/${pkglibdir}/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:
+ dobin usr/bin/flash-player-properties
+
+ # Icon and .desktop for 'flash-player-properties'
+ insinto /usr/share
+ doins -r usr/share/{icons,applications}
+ dosym ../icons/hicolor/48x48/apps/flash-player-properties.png \
+ /usr/share/pixmaps/flash-player-properties.png
+ fi
+
+ # The magic config file!
+ insinto "/etc/adobe"
+ doins "${FILESDIR}/mms.cfg"
+}
+
+unregister_pluginwrapper() {
+ # TODO: Perhaps parse the output of 'nspluginwrapper -l'
+ # TODO: However, the 64b flash plugin makes
+ # TODO: 'nspluginwrapper -l' segfault.
+ local FLASH_WRAPPER="${ROOT}/usr/lib64/${PLUGINS_DIR}/npwrapper.libflashplayer.so"
+ if has_version 'www-plugins/nspluginwrapper' && [[ -f ${FLASH_WRAPPER} ]]; then
+ einfo "Removing 32-bit plugin wrapper"
+ nspluginwrapper -r "${FLASH_WRAPPER}"
+ fi
+}
+
+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}[abi_x86_32,-abi_x86_64]"
+ elog
+ fi
+ # needed to clean up upgrades from older installs
+ if use abi_x86_64 && [[ -n ${REPLACING_VERSIONS} ]]; then
+ unregister_pluginwrapper
+ fi
+ if has_version 'www-plugins/nspluginwrapper'; then
+ if use abi_x86_32 && ! use abi_x86_64; then
+ einfo "nspluginwrapper detected: Installing plugin wrapper"
+ local oldabi="${ABI}"
+ ABI="x86"
+ local FLASH_SOURCE="${ROOT}/usr/lib32/${PLUGINS_DIR}/libflashplayer.so"
+ nspluginwrapper -i "${FLASH_SOURCE}"
+ ABI="${oldabi}"
+ fi
+ elif use abi_x86_32; then
+ elog "To use the 32-bit flash player in a native 64-bit browser,"
+ elog "you must install www-plugins/nspluginwrapper"
+ fi
+ fi
+}
+
+pkg_prerm() {
+ use amd64 && use abi_x86_32 && ! use abi_x86_64 && \
+ unregister_pluginwrapper
+}