New snapshot. Adds support for accelerated video decode through VAAPI.
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Mon, 12 Jul 2010 14:45:21 +0000 (14:45 +0000)
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Mon, 12 Jul 2010 14:45:21 +0000 (14:45 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

www-plugins/gnash/ChangeLog
www-plugins/gnash/Manifest
www-plugins/gnash/files/gnash-0.8.8-klash.patch [new file with mode: 0644]
www-plugins/gnash/gnash-0.8.7_p20100706.ebuild [new file with mode: 0644]
www-plugins/gnash/metadata.xml

index 9dcaaff458668eb13f525cd5f512f892d8524f0d..d76124a60aeace8280cce8d4c42704e84f9b64c6 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for www-plugins/gnash
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/ChangeLog,v 1.29 2010/07/02 11:01:42 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/ChangeLog,v 1.30 2010/07/12 14:45:21 chithanh Exp $
+
+*gnash-0.8.7_p20100706 (12 Jul 2010)
+
+  12 Jul 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+  +gnash-0.8.7_p20100706.ebuild, +files/gnash-0.8.8-klash.patch,
+  metadata.xml:
+  New snapshot. Adds support for accelerated video decode through VAAPI.
 
   02 Jul 2010; Samuli Suominen <ssuominen@gentoo.org>
   +files/gnash-0.8.x-libpng14.patch, gnash-0.8.5.ebuild, gnash-0.8.6.ebuild:
index 4b5804fcb4e90b7aa0a0526fed59891b527c26c2..c75ed0e8b4be4fef2251711ac10c34616837b82d 100644 (file)
@@ -9,12 +9,15 @@ AUX gnash-0.8.7-amf-include.patch 1121 RMD160 5e17e26f5033816f011ccee9b943588fd5
 AUX gnash-0.8.7-klash.patch 4224 RMD160 9d988887af247a1810f3afd22ac56ff20b510276 SHA1 5f4991870587351282fabbe853c89fdb03853c54 SHA256 2676ae1d6d3d41937a06ca59c6252b64ece1ec8f5232cf21dbfc0126396101c0
 AUX gnash-0.8.7-moc-qt4.patch 677 RMD160 b24a4421202a75d11ec6d868e3048a78b883abf8 SHA1 7b3af0e10afc9b1600d264b2435a0324effa88f1 SHA256 b510bfb59ad1cfc54e06227f922cafb44816abe0df55765a6884323892016240
 AUX gnash-0.8.7-xpcom-idldir.patch 731 RMD160 5c79c44dd90ce3555e7a32694c2adbf01d8e5493 SHA1 a6230e75ee301831fc24311d41a4691e509f2bc3 SHA256 1b9bcd8c731e8ae49e2f22fa8e1d5da05b50822d77c3758900bb251cfbd3d32c
+AUX gnash-0.8.8-klash.patch 1067 RMD160 59ac2186ee9a96a99df10bbbb2af72544bb8f1e3 SHA1 bf043ad58e0b38d70d13c098935a5224192ebb45 SHA256 adc6c4e1011c6002d968cffd0a247b74bef289f33ca4d636a44a2d32d8a48244
 AUX gnash-0.8.x-libpng14.patch 359 RMD160 bb8cc909fc652c151da80e788d9968efeef98057 SHA1 aa66528485c4c766e223ae66f4a89aacef75f0cc SHA256 d850693fe9f411552fe6647ec4833cabfba838ce4f02e96cf75634acb46f0b58
 DIST gnash-0.8.5.tar.bz2 3335797 RMD160 8ef599237c3162f9f28459855e4729d400bd4304 SHA1 26304322728d10dda1a0da2951946d981a507ca6 SHA256 16f272214eed2ab50bcd9507d6299b82ed7d20e7e8eb253ab160e594eeb210b3
 DIST gnash-0.8.6.tar.bz2 3571055 RMD160 987342b6cc46e94d5684d917bebbe6f6da6033bf SHA1 11c115f45b3803b157f65f30f1f65d26fea34328 SHA256 05f4b75eb2a5bc543fcd743641825147ce5e1b0bf675896e01401556a85332ea
 DIST gnash-0.8.7.tar.bz2 3617298 RMD160 809e5dcf6f11567f7463d1e772053aa54f7170ed SHA1 bba6245ce251730fd58a59b37609ca4b8898ae01 SHA256 73b8a7c788511e453add26fd68cebd5818b39f9da21cc7c78e9cef8bc837e896
+DIST gnash-0.8.7_p20100706.tar.xz 3923900 RMD160 2b8d2fd3a108a9163b3ba96bc245f5f275213b81 SHA1 817bbf050624e119c7b84d45739ec0d28c78906e SHA256 ff993a256a2c5e12727f635951d4426eb79418b80bd94db978fcee6c1778e034
 EBUILD gnash-0.8.5.ebuild 6871 RMD160 017a282bd589fd85123a2ae37107282971b06175 SHA1 3233ecaa2e73bd46d5283f2fd6a163dfccc95edc SHA256 d698f8574a34c59d22edb2fc61fcfc98ddd3f29730a6d1147d24b7dbdf069140
 EBUILD gnash-0.8.6.ebuild 7758 RMD160 faf47550370036ad6a05686ec7e0f9fbfa1881a1 SHA1 e89119e26ec0ef2505a16f1498abc25684922da8 SHA256 508e625f649a483c71b42295410ce4a3484b178d53f3757289ef31196e6586fc
 EBUILD gnash-0.8.7.ebuild 8022 RMD160 67267b7cdd02116b119c9354ef7a6fba34b43c3d SHA1 85d4dc67cd0359bb65fc2f7f150ec7e4a8c7dc85 SHA256 c2d4f0a561e66512fc70b0ed2f5d0ca5f7eccacc68532457b616618007a3d43e
-MISC ChangeLog 17675 RMD160 16621325d3a590ff7d24d253a5f5616d44a2004b SHA1 f520e19a7b705b0f63dade2004b8cee219683d04 SHA256 8c4c240248a2a3167bd75276c3a80bd7f18ebb14b37ea821f1af866bd75d6f5f
-MISC metadata.xml 629 RMD160 c09d2f9e4f61ffff0d0a86807f5ae79fc3986474 SHA1 3a7a29e2e3c9d91a0cd1fd61a35eb6e069f3a0e7 SHA256 145ff961a7e0d2e841559d29dd8ab3fc8e448acce4eacb4e8b960209d2a1f41f
+EBUILD gnash-0.8.7_p20100706.ebuild 7490 RMD160 3a3ac897dea32b1b719dc8f49db8dc34e6bee090 SHA1 938d6fc72f59909740f584d79314753444a7b64a SHA256 849f26be4523159cad851e086b622090edffb0da90f6d5590addd86ee80abc60
+MISC ChangeLog 17936 RMD160 30792df1bcdf36ac6ae6338c9c18526448505a7c SHA1 b47ae7ed0e6bc572dd33f1668277799fa763d896 SHA256 059c0b6afa1699d02b7b53746bc680604cfa3d0f426c7dbcd639f263a1040490
+MISC metadata.xml 719 RMD160 51a746fd8407e33d976bf8c423436c0087d74adb SHA1 a610e9c36c277a508f37e28dddb51d8ee85918dc SHA256 af8ffab2f1a5f1864cf1d02d3da9d57202235c0887e7e07054480f8ec61814c6
diff --git a/www-plugins/gnash/files/gnash-0.8.8-klash.patch b/www-plugins/gnash/files/gnash-0.8.8-klash.patch
new file mode 100644 (file)
index 0000000..f5d9c2e
--- /dev/null
@@ -0,0 +1,21 @@
+diff -ur gnash-0.8.7_p20100706/macros/kde4.m4 gnash-0.8.7_p20100706.new/macros/kde4.m4
+--- gnash-0.8.7_p20100706/macros/kde4.m4       2010-07-06 17:01:50.987903174 +0200
++++ gnash-0.8.7_p20100706.new/macros/kde4.m4   2010-07-12 14:05:10.859918495 +0200
+@@ -136,7 +136,7 @@
+     dnl Look for the libraries
+     AC_CACHE_VAL(ac_cv_path_kde4_lib, [
+       if test x"${with_kde4_lib}" != x ; then
+-        if test -f ${with_kde4_lib}/libkdeui.la; then
++        if test -f ${with_kde4_lib}/libkdeui.so; then
+               ac_cv_path_kde4_lib="-L`(cd ${with_kde4_lib}; pwd)`"
+         else
+               AC_MSG_ERROR([${with_kde4_lib} directory doesn't contain KDE 4.x libraries.])
+@@ -201,7 +201,7 @@
+     KDE4_PLUGINDIR="${KDE4_PREFIX}/lib/kde4"
+     KDE4_SERVICESDIR="${KDE4_PREFIX}/share/kde4/services"
+     KDE4_CONFIGDIR="${KDE4_PREFIX}/share/kde4/config"
+-    KDE4_APPSDATADIR="${KDE4_PREFIX}/share/kde4/apps/klash"
++    KDE4_APPSDATADIR="${KDE4_PREFIX}/share/apps/klash"
+   fi                            dnl end of build_kparts4
+ 
+   if test x"${ac_cv_path_kde4_incl}" != x ; then
diff --git a/www-plugins/gnash/gnash-0.8.7_p20100706.ebuild b/www-plugins/gnash/gnash-0.8.7_p20100706.ebuild
new file mode 100644 (file)
index 0000000..ff6817c
--- /dev/null
@@ -0,0 +1,265 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/gnash-0.8.7_p20100706.ebuild,v 1.1 2010/07/12 14:45:21 chithanh Exp $
+
+EAPI=3
+CMAKE_REQUIRED="never"
+KDE_REQUIRED="optional"
+KDE_MINIMAL="4.2"
+AT_M4DIR="cygnal"
+
+inherit autotools eutils kde4-base multilib nsplugins flag-o-matic
+
+DESCRIPTION="GNU Flash movie player that supports many SWF v7,8,9 features"
+HOMEPAGE="http://www.gnu.org/software/gnash/"
+SRC_URI="mirror://gentoo//${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="+agg cairo cygnal dbus doc +ffmpeg gnome gstreamer gtk kde lirc mysql +nls nsplugin opengl python +sdl ssh ssl test vaapi video_cards_intel xv"
+
+RDEPEND=">=dev-libs/boost-1.35.0
+       dev-libs/expat
+       dev-libs/libxml2
+       media-libs/jpeg
+       media-libs/libpng
+       net-misc/curl
+       x11-libs/libX11
+       x11-libs/libXi
+       x11-libs/libXmu
+       x11-libs/libXt
+       x11-libs/libXv
+       media-libs/giflib
+       x11-proto/xproto
+       agg? ( x11-libs/agg )
+       cairo? ( x11-libs/cairo )
+       doc? (
+               >=app-text/docbook2X-0.8.8
+               app-text/docbook-sgml-utils
+       )
+       ffmpeg? (
+               media-video/ffmpeg[vaapi?]
+       )
+       gstreamer? (
+               media-plugins/gst-plugins-ffmpeg
+               media-plugins/gst-plugins-mad
+               media-plugins/gst-plugins-meta
+       )
+       gtk? (
+               x11-libs/gtk+:2
+               net-libs/xulrunner:1.9
+               python? ( dev-python/pygtk:2 )
+       )
+       kde? ( >=kde-base/kdebase-startkde-${KDE_MINIMAL} )
+       opengl? (
+               virtual/opengl
+               gtk? ( x11-libs/gtkglext )
+       )
+       nsplugin? ( >=net-libs/xulrunner-1.9.2:1.9 )
+       media-libs/libsdl[X]
+       media-libs/speex[ogg]
+       sys-libs/zlib
+       >=sys-devel/libtool-2.2
+       mysql? ( dev-db/mysql )
+       lirc? ( app-misc/lirc )
+       dbus? ( sys-apps/dbus )
+       ssh?  ( >=net-libs/libssh-0.4[server] )
+       ssl?  ( dev-libs/openssl )
+       vaapi? ( x11-libs/libva[opengl?] )
+       xv? ( x11-libs/libXv ) "
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig
+       nls? ( sys-devel/gettext )
+       gnome? ( app-text/rarian )"
+
+pkg_setup() {
+       if use vaapi && use !ffmpeg; then
+               eerror "Support for VAAPI currently requires the ffmpeg media handler."
+               die "vaapi requires the ffmpeg USE flag."
+       fi
+
+       if ! ( use agg || use cairo || use opengl ); then
+               eerror "You are trying to build Gnash without choosing a renderer [agg|cairo|opengl]."
+               die "Please enable a renderer"
+       fi
+
+       if ! ( use kde || use gtk || use sdl ); then
+               ewarn "You are trying to build Gnash without choosing a gui frontend [gtk,kde,sdl]."
+               ewarn "sdl enabled as default"
+#              die "Please enable at least one of these USE flags."
+       fi
+
+       if use python && use !gtk; then
+               eerror "Building gnash with python support requires gtk."
+               die "python requires the gtk USE flag."
+       fi
+
+       if use nsplugin && use !gtk; then
+               eerror "Building gnash with nsplugin requires the gtk gui."
+               die "Nsplugin requires the gtk gui."
+       fi
+
+       if use sdl; then
+               einfo "Enable SDL as gui frontend and sound handler"
+       fi
+
+       if use lirc; then
+               einfo "Enable LIRC daemon support and lirc extension"
+       fi
+
+       kde4-base_pkg_setup
+}
+
+src_prepare() {
+       # TODO: Patch no longer applies
+#      epatch "${FILESDIR}"/${PN}-0.8.7-amf-include.patch
+
+       # Defines $(XPIDL) correctly using sdkdir variable from libxul.pc
+       epatch "${FILESDIR}"/${PN}-0.8.5-xpidl-sdkdir.patch
+
+       # Use pkgconfig to determine XPCOM_IDL_DIR instead of non-portable construct.
+       # Fixes building against xulrunner-1.9.0, bug #284073.
+       epatch "${FILESDIR}"/${PN}-0.8.7-xpcom-idldir.patch
+
+       # Resurect patch from bug #230287
+       epatch "${FILESDIR}"/${PN}-0.8.3-boost-dynamic-link.patch
+
+       # Adapted from Alt Linux to fix klash support properly
+       epatch "${FILESDIR}"/${PN}-0.8.8-klash.patch
+
+       # Make gnash find moc and uic properly, upstream bug #25758,
+       # gentoo bug #283905
+       epatch "${FILESDIR}"/${PN}-0.8.7-moc-qt4.patch
+
+       eautoreconf
+}
+src_configure() {
+       append-flags -D__STDC_CONSTANT_MACROS #324357
+
+       local gui hwaccel myconf myext renderers
+
+       # Set nsplugin install directory.
+       use nsplugin && myconf="${myconf} --with-npapi-plugindir=/opt/netscape/plugins"
+
+       # Set hardware acceleration
+       use xv && hwaccel+=",xv"
+       use vaapi && hwaccel+=",vaapi"
+       use xv || use vaapi || hwaccel="none"
+
+       # Set rendering engine.
+       use agg && renderers+=",agg"
+       use cairo && renderers+=",cairo"
+       use opengl && renderers+=",opengl"
+
+       # Set kde and konqueror plugin directories.
+       if use kde; then
+               myconf="${myconf}
+                       --with-plugins-install=system
+                       --with-kde4-incl=${KDEDIR}/include
+                       --with-kde4-configdir=${KDEDIR}/share/config
+                       --with-kde4-prefix=${KDEDIR}
+                       --with-kde4-lib=${KDEDIR}/$(get_libdir)
+                       --with-kde-appsdatadir=${KDEDIR}/share/apps/klash
+                       --with-kde4-servicesdir=${KDEDIR}/share/kde4/services
+                       --with-kde4-plugindir=${KDEDIR}/$(get_libdir)/kde4/plugins"
+       fi
+
+       # Set media handler.
+       if use ffmpeg; then
+               myconf="${myconf} --enable-media=ffmpeg"
+       elif use gstreamer; then
+               myconf="${myconf} --enable-media=gst"
+       else
+               myconf="${myconf} --enable-media=none"
+       fi
+       # Set gui.
+       use gtk && gui=",gtk"
+       use kde && gui="${gui},kde4"
+
+       if use sdl; then
+               gui="${gui},sdl"
+               myconf="${myconf} --enable-sound=sdl"
+       fi
+
+       # Set extensions
+       use mysql && myext=",mysql"
+       use gtk && myext="${myext},gtk"
+       use lirc && myext="${myext},lirc"
+       use dbus && myext="${myext},dbus"
+
+       if [ -z "$gui" ]; then
+               gui="sdl"
+       fi
+
+       # Strip extra comma from gui, myext, hwaccel and renderers.
+       gui=$( echo $gui | sed -e 's/,//' )
+       hwaccel=$( echo $hwaccel | sed -e 's/,//' )
+       myext=$( echo $myext | sed -e 's/,//' )
+       renderers=$( echo $renderers | sed -e 's/,//' )
+
+       econf \
+               --docdir=/usr/share/doc/${PF} \
+               --disable-dependency-tracking \
+               --disable-kparts3 \
+               --enable-avm2 \
+               $(use_enable cygnal) \
+               $(use_enable cygnal cgibins) \
+               $(use_enable doc docbook) \
+               $(use_enable gnome ghelp) \
+               $(use_enable gtk npapi) \
+               $(use_enable kde kparts4) \
+               $(use_enable lirc) \
+               $(use_enable nls) \
+               $(use_enable nsplugin npapi) \
+               $(use_enable python) \
+               $(use_enable ssh) \
+               $(use_enable ssl) \
+               $(use_enable test testsuite) \
+               $(use_enable video_cards_intel i810-lod-bias) \
+               --enable-gui=${gui} \
+               --enable-extensions=${myext} \
+               --enable-renderer=${renderers} \
+               --enable-hwaccel=${hwaccel} \
+               ${myconf}
+}
+src_test() {
+       local log=testsuite-results.txt
+       cd testsuite
+       emake check || die "make check failed"
+       ./anaylse-results.sh > $log || die "results analyze failed"
+       cat $log
+}
+src_install() {
+       emake DESTDIR="${D}" install || die "emake install failed"
+
+       # Install nsplugin in directory set by --with-npapi-plugindir.
+       if use nsplugin; then
+               emake DESTDIR="${D}" install-plugin || die "install plugins failed"
+       fi
+
+       # Install kde konqueror plugin.
+       if use kde; then
+               pushd "${S}/plugin/klash4" >& /dev/null
+               emake DESTDIR="${D}" install-plugin || die "install kde plugins failed"
+               popd >& /dev/null
+       fi
+       # Create a symlink in /usr/$(get_libdir)/nsbrowser/plugins to the nsplugin install directory.
+       use nsplugin && inst_plugin /opt/netscape/plugins/libgnashplugin.so \
+               || rm -rf "${D}/opt"
+       dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
+}
+pkg_postinst() {
+       if use !gnome || use !gstreamer && use !ffmpeg ; then
+               ewarn ""
+               ewarn "Gnash was built without a media handler and or http handler !"
+               ewarn ""
+               ewarn "If you want Gnash to support video then you will need to"
+               ewarn "rebuild Gnash with either the ffmpeg or gstreamer and gnome use flags set."
+               ewarn ""
+       fi
+       ewarn "${PN} is still in heavy development"
+       ewarn "Please first report bugs on upstream gnashdevs and deal with them"
+       ewarn "And then report a Gentoo bug to the maintainer"
+       use kde && kde4-base_pkg_postinst
+}
index 30917aff171a0a5f12929921fe858809a057bcc5..6b6c8f0f866d54b79ca45355880438700c5e6c76 100644 (file)
@@ -14,5 +14,6 @@
          <flag name='agg'>Rendering based on the Anti-Grain Geometry Rendering Engine library</flag>
          <flag name='cygnal'>Enable building of the cygnal server</flag>
          <flag name='ssh'>Enable using SSH for network authentication in libnet</flag>
+         <flag name='vaapi'>Enables VAAPI (Video Acceleration API) for hardware decoding</flag>
        </use>
 </pkgmetadata>