From d751cf781347c795abee79d156430075b9c31674 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Mon, 5 Feb 2018 03:57:02 -0600 Subject: [PATCH] www-plugins/gnash: replace media-libs/speex[ogg] with media-libs/speexdsp --- www-plugins/gnash/Manifest | 8 + .../files/gnash-0.8.10-amf-include.patch | 45 +++ .../gnash-0.8.10_p20150316-boost-1.60.patch | 24 ++ .../files/gnash-0.8.9-external-dejagnu.patch | 24 ++ .../gnash/files/gnash-0.8.9-kde4-libdir.patch | 12 + .../gnash/files/gnash-0.8.9-klash.patch | 12 + .../gnash/gnash-0.8.10_p20160329-r2.ebuild | 260 ++++++++++++++++++ www-plugins/gnash/metadata.xml | 20 ++ 8 files changed, 405 insertions(+) create mode 100644 www-plugins/gnash/Manifest create mode 100644 www-plugins/gnash/files/gnash-0.8.10-amf-include.patch create mode 100644 www-plugins/gnash/files/gnash-0.8.10_p20150316-boost-1.60.patch create mode 100644 www-plugins/gnash/files/gnash-0.8.9-external-dejagnu.patch create mode 100644 www-plugins/gnash/files/gnash-0.8.9-kde4-libdir.patch create mode 100644 www-plugins/gnash/files/gnash-0.8.9-klash.patch create mode 100644 www-plugins/gnash/gnash-0.8.10_p20160329-r2.ebuild create mode 100644 www-plugins/gnash/metadata.xml diff --git a/www-plugins/gnash/Manifest b/www-plugins/gnash/Manifest new file mode 100644 index 0000000..23fd813 --- /dev/null +++ b/www-plugins/gnash/Manifest @@ -0,0 +1,8 @@ +AUX gnash-0.8.10-amf-include.patch 1245 SHA256 81f0cdf8246689614b1deaf36cf9c3e09d3501a55691ef95130d08ab1f6bc2e6 SHA512 46c2b9d4a57a1180626760ebcdbcbdc10c01fba4e01d8c45378ad26da3bf1181daaa54a2c88419452b6e691467c1ccb77374d8e926776b5f1b93ee2baa875986 WHIRLPOOL a6bc2db921b0e4cca443a0fe2b309d6e83409b93749241eeff600ae41977bcb07a8e16add81aabbf458e4a034eb8a5ed40198d7085152a2eabbd6ab742c62e89 +AUX gnash-0.8.10_p20150316-boost-1.60.patch 746 SHA256 1df546e376f0a0e495f2c1a96f13e29c507dfb5f16b808696dc8c7474d833f65 SHA512 302946a47710978471837a8ddacd4be0eaf116cd6d1389f98155a939df774d61557eaafcec473cfdb37c06439b6f7cc5de8a5494fb880aa62669df5d951feb5d WHIRLPOOL eb3fbadf701eb60c020fab659efeb3940a3cc83676c81080a88c91a137bab74dc4f1818aea11c54e846a00aff44bedb80caf611a93f270770ea9a2663ee864c1 +AUX gnash-0.8.9-external-dejagnu.patch 700 SHA256 b838af0304d41165557dff2538031edf8d14d5a221375aff4b9e404ef1cb261d SHA512 1b6714e0d44d3d43dcef53622cb6a8c153a1e336a99ef5ee13de1a092e54dc1b1c346e4468e9ea66035762195bd45b84dd185370bb726427472e5b5d6b470556 WHIRLPOOL 160bbc555ba3fab4027a3287fec37a83ffbd1cd09f131168eac66bd1a14574432a9575f01e0589da56285586032bc351e84ba2ef59d619ed097532e9f92c4089 +AUX gnash-0.8.9-kde4-libdir.patch 498 SHA256 43a74367b0f7452bed23577ddda2bde692b6ce4d2bd1d56e480c4d37380af80d SHA512 df1a6faf5b3cae8a519b590ee3e26009b5a194a01f5dacc5b1862751118d1172f0babf85f7641d6b8e898d5013b6c11002c593df589c57312d842930ab964341 WHIRLPOOL 57ed37224e2c02de8ca648dc1ac172905384a254c537787d1d393e5f0b441654f74c1bd1efacf2178146ddcbfcbf11b453fc9aa4579c177168b659f69e20225f +AUX gnash-0.8.9-klash.patch 471 SHA256 779f4be4eb25f654010b380fea4d6b092310d1f850acb040a203a7b8caf02bb8 SHA512 4a57310522ac2323eee26bb027432b12606d91add6d528b31afd69e172c73aa9f80bafc7c0a84fed4214773f901b65ddea4a7de67865f82a2984ac1dfe274c4d WHIRLPOOL a27cec3d6e62d86a42452cffad3ac376bd5a04de53818371bffa45c71c5f70e23962c0ab79293048e9358e46124352de191a5e82125069bffd8e8dbb20438696 +DIST gnash-0.8.10_p20160329.tar.xz 4079572 SHA256 851ccba805a90a2e21ced841ae70cf55c0ba53c95f2b8b9bc729385a5b49bbb7 SHA512 e8956d6277dde29a22bfe5af4279b40f80dad5659961d042e0bb57505b084f3ef1b489cf6fdf06730a8f3e2f9fdb737d7b1bc015a0255a80b167b98e686aa245 WHIRLPOOL 58734701ff4d9a6aa9536a1fa7feb75a8357775fb11857ecaf1a678ac7eca590a00b8af76f3723e8bbdf03b1fdf01cb193d870d505b8cc5767fdaf29fff1d7ee +EBUILD gnash-0.8.10_p20160329-r2.ebuild 6512 SHA256 5b6194b5bc95582a41949e4eaf8c67b300c6bb5f2daab0322f36d4fc55dae994 SHA512 8edd8c3ae2fd2bac388698cdf7fdc480f3188468addc75b4334c64e7cc56308330a7837f43c8d0562388c2b68823e1560314e778fedc3baecfec92d2fd22e009 WHIRLPOOL 65a313e620257e7b7ee499fd8209ea38d9580a6b76a90ff5c50ea48d739d28244ce9023137f782025cc63a0cb010d404692f62c9b839b3589291b0969a1e6e9f +MISC metadata.xml 1139 SHA256 62180e4493729dcb0d16ee0dba4f7637e399db959e3b0bd8e76a517838c5d293 SHA512 10fea436cf59f26ccf534d869379a101ee0e3fb1a47950b58e12a0e3027314b0f4ac1bc4f72817dd1be0ca64f18b2463ef89587dd8d45b7a20929218dccef41e WHIRLPOOL b372ac71328cf38e83d611c09b22c6e8edae5de5a4dc34b09bcc2c074562130701716894915cd876e9e9b116f5ce8aa5bc30708e48dc110395eb2eeca8d8f84b diff --git a/www-plugins/gnash/files/gnash-0.8.10-amf-include.patch b/www-plugins/gnash/files/gnash-0.8.10-amf-include.patch new file mode 100644 index 0000000..983fa6b --- /dev/null +++ b/www-plugins/gnash/files/gnash-0.8.10-amf-include.patch @@ -0,0 +1,45 @@ +diff -ur a/cygnal/libnet/cque.h b/cygnal/libnet/cque.h +--- a/cygnal/libnet/cque.h 2012-01-19 20:17:47.000000000 +0100 ++++ b/cygnal/libnet/cque.h 2012-02-23 20:13:39.000000000 +0100 +@@ -25,8 +25,9 @@ + #include + #include + ++#include "../libamf/amf.h" + #include "getclocktime.hpp" +-#include "buffer.h" ++#include "../libamf/buffer.h" + #include "network.h" + #include "dsodefs.h" //For DSOEXPORT. + +diff -ur a/cygnal/libnet/sshclient.h b/cygnal/libnet/sshclient.h +--- a/cygnal/libnet/sshclient.h 2012-01-19 20:17:47.000000000 +0100 ++++ b/cygnal/libnet/sshclient.h 2012-02-23 20:13:09.000000000 +0100 +@@ -32,9 +32,10 @@ + #include + } + ++#include "../libamf/amf.h" + #include "cque.h" + #include "network.h" +-#include "buffer.h" ++#include "../libamf/buffer.h" + + namespace gnash + { +diff -ur a/cygnal/libnet/sslclient.h b/cygnal/libnet/sslclient.h +--- a/cygnal/libnet/sslclient.h 2012-01-19 20:17:47.000000000 +0100 ++++ b/cygnal/libnet/sslclient.h 2012-02-23 20:13:21.000000000 +0100 +@@ -36,10 +36,11 @@ + #include + #endif + ++#include "../libamf/amf.h" + #include "dsodefs.h" + #include "cque.h" + #include "network.h" +-#include "buffer.h" ++#include "../libamf/buffer.h" + + + namespace gnash diff --git a/www-plugins/gnash/files/gnash-0.8.10_p20150316-boost-1.60.patch b/www-plugins/gnash/files/gnash-0.8.10_p20150316-boost-1.60.patch new file mode 100644 index 0000000..6671d36 --- /dev/null +++ b/www-plugins/gnash/files/gnash-0.8.10_p20150316-boost-1.60.patch @@ -0,0 +1,24 @@ +diff --git i/libbase/accumulator.h w/libbase/accumulator.h +index 694cbd2..876c669 100644 +--- i/libbase/accumulator.h ++++ w/libbase/accumulator.h +@@ -22,6 +22,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -61,6 +62,11 @@ public: + virtual unsigned min_tokens() const { return 0; } + virtual unsigned max_tokens() const { return 0; } + ++#if BOOST_VERSION >= 105900 ++ /// There are no tokens, so this is indifferent. ++ virtual bool adjacent_tokens_only() const { return false; } ++#endif ++ + /// Accumulating from different sources is silly. + virtual bool is_composing() const { return false; } + diff --git a/www-plugins/gnash/files/gnash-0.8.9-external-dejagnu.patch b/www-plugins/gnash/files/gnash-0.8.9-external-dejagnu.patch new file mode 100644 index 0000000..eaffda7 --- /dev/null +++ b/www-plugins/gnash/files/gnash-0.8.9-external-dejagnu.patch @@ -0,0 +1,24 @@ +diff -ur a/plugin/npapi/test.cpp b/plugin/npapi/test.cpp +--- a/plugin/npapi/test.cpp 2011-03-13 17:47:36.000000000 +0100 ++++ b/plugin/npapi/test.cpp 2011-03-20 23:52:20.369998096 +0100 +@@ -35,7 +35,7 @@ + #include "npfunctions.h" + #endif + #include "pluginbase.h" +-#include "dejagnu.h" ++#include + #include "../../testsuite/check.h" + #include + +diff -ur a/testsuite/check.h b/testsuite/check.h +--- a/testsuite/check.h 2011-02-26 19:11:08.000000000 +0100 ++++ b/testsuite/check.h 2011-03-20 23:52:32.570998094 +0100 +@@ -29,7 +29,7 @@ + + #define HAVE_DEJAGNU_H 1 // we ship our own now... + #ifdef HAVE_DEJAGNU_H +-#include "dejagnu.h" ++#include + + #define info(x) note x + diff --git a/www-plugins/gnash/files/gnash-0.8.9-kde4-libdir.patch b/www-plugins/gnash/files/gnash-0.8.9-kde4-libdir.patch new file mode 100644 index 0000000..b327944 --- /dev/null +++ b/www-plugins/gnash/files/gnash-0.8.9-kde4-libdir.patch @@ -0,0 +1,12 @@ +diff -ur a/macros/kde4.m4 b/macros/kde4.m4 +--- a/macros/kde4.m4 2011-02-26 19:11:08.000000000 +0100 ++++ b/macros/kde4.m4 2011-11-25 18:09:25.000000000 +0100 +@@ -198,7 +198,7 @@ + if test -d ${KDE4_PREFIX}/lib64 -a -f /etc/redhat-release; then + KDE4_PLUGINDIR="${KDE4_PREFIX}/lib64/kde4" + else +- KDE4_PLUGINDIR="${KDE4_PREFIX}/lib/kde4" ++ KDE4_PLUGINDIR="${KDE4_PREFIX}/${acl_libdirstem}/kde4" + fi + fi + if test x"${with_kde4_servicesdir}" != x ; then diff --git a/www-plugins/gnash/files/gnash-0.8.9-klash.patch b/www-plugins/gnash/files/gnash-0.8.9-klash.patch new file mode 100644 index 0000000..e6afec0 --- /dev/null +++ b/www-plugins/gnash/files/gnash-0.8.9-klash.patch @@ -0,0 +1,12 @@ +diff -ur a/macros/kde4.m4 b/macros/kde4.m4 +--- a/macros/kde4.m4 2011-02-26 19:11:08.000000000 +0100 ++++ b/macros/kde4.m4 2011-03-21 00:04:38.845997945 +0100 +@@ -210,7 +210,7 @@ + KDE4_CONFIGDIR="${KDE4_PREFIX}/share/kde4/config" + fi + if test x"${KDE4_APPSDATADIR}" = x ; then +- KDE4_APPSDATADIR="${KDE4_PREFIX}/share/kde4/apps/klash" ++ KDE4_APPSDATADIR="${KDE4_PREFIX}/share/apps/klash" + fi + + if test x"${ac_cv_path_kde4_incl}" != x ; then diff --git a/www-plugins/gnash/gnash-0.8.10_p20160329-r2.ebuild b/www-plugins/gnash/gnash-0.8.10_p20160329-r2.ebuild new file mode 100644 index 0000000..14deca3 --- /dev/null +++ b/www-plugins/gnash/gnash-0.8.10_p20160329-r2.ebuild @@ -0,0 +1,260 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +AT_M4DIR="cygnal" +# won't build with python-3, bug #392969 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils multilib nsplugins python-any-r1 flag-o-matic xdg-utils + +DESCRIPTION="GNU Flash movie player that supports many SWF v7,8,9 features" +HOMEPAGE="https://www.gnu.org/software/gnash/" + +if [[ ${PV} = 9999* ]]; then + SRC_URI="" + EGIT_REPO_URI="git://git.savannah.gnu.org/gnash.git" + inherit git-2 +else +# Release tarball is b0rked, upstream #35612 +# SRC_URI="mirror://gnu/${PN}/${PV}/${P}.tar.bz2" + SRC_URI="mirror://gentoo/${P}.tar.xz" +fi + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ppc ~ppc64 ~sparc x86" +IUSE="X +agg cairo cygnal dbus directfb doc dump egl fbcon +ffmpeg libav libressl gnome gtk harden jemalloc lirc mysql +nls nsplugin opengl openvg python sdl +sdl-sound ssh ssl test vaapi" +REQUIRED_USE=" + dump? ( agg ffmpeg ) + fbcon? ( agg ) + nsplugin? ( gtk ) + openvg? ( egl ) + python? ( gtk ) + vaapi? ( agg ffmpeg ) + || ( agg cairo opengl openvg ) + || ( dump fbcon gtk sdl ) +" + +RDEPEND=" + >=dev-libs/boost-1.41.0:0= + dev-libs/expat + dev-libs/libxml2:2 + virtual/jpeg:0 + media-libs/libpng:0= + net-misc/curl + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXmu + x11-libs/libXt + media-libs/giflib:= + x11-proto/xproto + agg? ( x11-libs/agg ) + cairo? ( x11-libs/cairo ) + directfb? ( + dev-libs/DirectFB + ) + doc? ( + >=app-text/docbook2X-0.8.8 + app-text/docbook-sgml-utils + ) + egl? ( + media-libs/mesa[egl] + ) + fbcon? ( + x11-libs/tslib + ) + ffmpeg? ( + libav? ( media-video/libav:0=[vaapi?] ) + !libav? ( media-video/ffmpeg:0=[vaapi?] ) + ) + gtk? ( + x11-libs/gtk+:2 + python? ( dev-python/pygtk:2 ) + ) + jemalloc? ( dev-libs/jemalloc ) + opengl? ( + virtual/glu + virtual/opengl + gtk? ( x11-libs/gtkglext ) + ) + openvg? ( + media-libs/mesa[openvg] + ) + sdl? ( media-libs/libsdl[X] ) + sdl-sound? ( media-libs/libsdl ) + media-libs/speexdsp + sys-libs/zlib + >=sys-devel/libtool-2.2 + mysql? ( virtual/mysql ) + lirc? ( app-misc/lirc ) + dbus? ( sys-apps/dbus ) + ssh? ( >=net-libs/libssh-0.4[server] ) + ssl? ( + libressl? ( dev-libs/libressl:0= ) + !libressl? ( dev-libs/openssl:0= ) + ) + vaapi? ( x11-libs/libva[opengl?] ) + " +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + gnome? ( app-text/rarian ) + nsplugin? ( net-misc/npapi-sdk ) + test? ( dev-util/dejagnu ) + ${PYTHON_DEPS} +" +# Tests hang with sandbox, bug #321017 +RESTRICT="test" + +pkg_setup() { + python-any-r1_pkg_setup + + if use !ffmpeg; then + ewarn "You are trying to build Gnash without choosing a media handler." + ewarn "Sound and video playback will not work." + fi +} + +src_unpack() { + default + # rename git snapshot directory to what portage expects + mv ${PN}-*/ ${P} || die +} + +src_prepare() { + default + + xdg_environment_reset # 591014 + + # Fix paths for klash, bug #339610 + eapply "${FILESDIR}"/${PN}-0.8.9-klash.patch + + # Use external dejagnu for tests, bug #321017 + eapply "${FILESDIR}"/${PN}-0.8.9-external-dejagnu.patch + + # Fix building on ppc64, bug #342535 + use ppc64 && append-flags -mminimal-toc + + # Fix kde multilib library path, bug #391283 + eapply "${FILESDIR}"/${PN}-0.8.9-kde4-libdir.patch + + # Fix libamf includes + eapply "${FILESDIR}"/${PN}-0.8.10-amf-include.patch + + # Fix new adjacent_tokens_only() in >=boost-1.59 (bug 579142) + # See https://savannah.gnu.org/bugs/?46148 + eapply "${FILESDIR}"/${PN}-0.8.10_p20150316-boost-1.60.patch + + eautoreconf +} +src_configure() { + local device gui input media myconf myext renderers + + # Set nsplugin install directory. + use nsplugin && myconf="${myconf} --with-npapi-plugindir=/usr/$(get_libdir)/gnash/npapi/" + + # Set hardware acceleration. + use X && device+=",x11" + use directfb && device+=",directfb" + use egl && device+=",egl" + use fbcon && device+=",rawfb" + use vaapi && device+=",vaapi" + [[ "${device}x" == "x" ]] && device+=",none" + + # Set rendering engine. + use agg && renderers+=",agg" + use cairo && renderers+=",cairo" + use opengl && renderers+=",opengl" + use openvg && renderers+=",openvg" + + # Set media handler. + use ffmpeg || media+=",none" + use ffmpeg && media+=",ffmpeg" + + # Set gui. + use dump && gui+=",dump" + use fbcon && gui+=",fb" + use gtk && gui+=",gtk" + use sdl && gui+=",sdl" + + if use sdl-sound; then + myconf="${myconf} --enable-sound=sdl" + else + myconf="${myconf} --enable-sound=none" + fi + + # Set extensions + use mysql && myext=",mysql" + use gtk && myext="${myext},gtk" + use lirc && myext="${myext},lirc" + use dbus && myext="${myext},dbus" + + # Strip extra comma from gui, myext, hwaccel and renderers. + device=$( echo $device | sed -e 's/,//' ) + gui=$( echo $gui | sed -e 's/^,//' ) + myext=$( echo $myext | sed -e 's/,//' ) + renderers=$( echo $renderers | sed -e 's/,//' ) + media=$( echo $media | sed -e 's/,//' ) + + econf \ + --disable-kparts3 \ + --disable-kparts4 \ + --without-gconf \ + $(use_enable cygnal) \ + $(use_enable cygnal cgibins) \ + $(use_enable doc docbook) \ + $(use_enable gnome ghelp) \ + $(use_enable harden) \ + $(use_enable jemalloc) \ + $(use_enable nls) \ + $(use_enable nsplugin npapi) \ + $(use_enable python) \ + $(use_enable ssh) \ + $(use_enable ssl) \ + $(use_enable test testsuite) \ + --enable-gui=${gui} \ + --enable-device=${device} \ + --enable-extensions=${myext} \ + --enable-renderer=${renderers} \ + --enable-media=${media} \ + ${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 + + # Create a symlink in /usr/$(get_libdir)/nsbrowser/plugins to the nsplugin install directory. + use nsplugin && inst_plugin /usr/$(get_libdir)/gnash/npapi/libgnashplugin.so + + # Remove eglinfo, bug #463654 + if use egl; then + rm -f "${D}"/usr/bin/eglinfo || die + fi + + einstalldocs +} +pkg_postinst() { + if use !gnome || 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 the ffmpeg 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" +} diff --git a/www-plugins/gnash/metadata.xml b/www-plugins/gnash/metadata.xml new file mode 100644 index 0000000..66ccd5f --- /dev/null +++ b/www-plugins/gnash/metadata.xml @@ -0,0 +1,20 @@ + + + + + chithanh@gentoo.org + Chí-Thanh Christopher Nguyễn + + + Rendering based on the Anti-Grain Geometry Rendering Engine library + Enable building of the cygnal server + Enable dump output module for creating video from SWF + Enable EGL support for the OpenVG, OpenGL and X11 renderers + Enable upstream recommended hardening build flags (may conflict with system ones) + Use dev-libs/jemalloc for allocations + Rendering based on the OpenVG graphics acceleration API + Enable SDL audio output for the standalone player + Enable using SSH for network authentication in libnet + Enable directly using OpenSSL in libnet (not needed for nsplugin ssl support) + + -- 2.42.0