summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-plugins/gnash')
-rw-r--r--www-plugins/gnash/ChangeLog10
-rw-r--r--www-plugins/gnash/files/gnash-0.8.10-cve-2012-1175.patch63
-rw-r--r--www-plugins/gnash/files/gnash-0.8.10-jemalloc-aslr-fix.patch52
-rw-r--r--www-plugins/gnash/gnash-0.8.10_p20120903-r1.ebuild (renamed from www-plugins/gnash/gnash-0.8.10-r2.ebuild)39
-rw-r--r--www-plugins/gnash/gnash-0.8.10_p20120903.ebuild5
5 files changed, 39 insertions, 130 deletions
diff --git a/www-plugins/gnash/ChangeLog b/www-plugins/gnash/ChangeLog
index 53564d324302..2ebedce1e39a 100644
--- a/www-plugins/gnash/ChangeLog
+++ b/www-plugins/gnash/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for www-plugins/gnash
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/ChangeLog,v 1.95 2013/03/09 17:37:25 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/ChangeLog,v 1.96 2013/03/28 22:06:54 chithanh Exp $
+
+*gnash-0.8.10_p20120903-r1 (28 Mar 2013)
+
+ 28 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +gnash-0.8.10_p20120903-r1.ebuild, -files/gnash-0.8.10-cve-2012-1175.patch,
+ -files/gnash-0.8.10-jemalloc-aslr-fix.patch, -gnash-0.8.10-r2.ebuild,
+ gnash-0.8.10_p20120903.ebuild:
+ Do not install eglinfo, bug #463654.
09 Mar 2013; Agostino Sarubbo <ago@gentoo.org> gnash-0.8.10_p20120903.ebuild:
Stable for x86, wrt bug #456328
diff --git a/www-plugins/gnash/files/gnash-0.8.10-cve-2012-1175.patch b/www-plugins/gnash/files/gnash-0.8.10-cve-2012-1175.patch
deleted file mode 100644
index 9a218d9216be..000000000000
--- a/www-plugins/gnash/files/gnash-0.8.10-cve-2012-1175.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527 Mon Sep 17 00:00:00 2001
-From: Benjamin Wolsey <bwy@benjaminwolsey.de>
-Date: Sat, 10 Mar 2012 14:52:50 +0000
-Subject: Fix crash in GnashImage.cpp
-
----
-diff --git a/libbase/GnashImage.cpp b/libbase/GnashImage.cpp
-index 11c6956..03a6939 100644
---- a/libbase/GnashImage.cpp
-+++ b/libbase/GnashImage.cpp
-@@ -26,6 +26,7 @@
- #include <boost/scoped_array.hpp>
- #include <boost/shared_ptr.hpp>
- #include <algorithm>
-+#include <cassert>
-
- #ifdef USE_PNG
- # include "GnashImagePng.h"
-@@ -44,6 +45,21 @@ namespace image {
-
- namespace {
- void processAlpha(GnashImage::iterator imageData, size_t pixels);
-+ bool checkValidSize(size_t width, size_t height, size_t channels) {
-+
-+ if (width == 0 || height == 0) return false;
-+
-+ assert(channels > 0);
-+
-+ boost::uint32_t maxSize = std::numeric_limits<boost::int32_t>::max();
-+ if (width >= maxSize || height >= maxSize) return false;
-+
-+ maxSize /= channels;
-+ maxSize /= width;
-+ maxSize /= height;
-+
-+ return maxSize > 0;
-+ }
- }
-
- GnashImage::GnashImage(iterator data, size_t width, size_t height,
-@@ -55,6 +71,8 @@ GnashImage::GnashImage(iterator data, size_t width, size_t height,
- _height(height),
- _data(data)
- {
-+ // Callers should check dimensions
-+ assert(checkValidSize(_width, _height, channels()));
- }
-
- /// Create an image allocating a buffer of height*pitch bytes
-@@ -66,8 +84,9 @@ GnashImage::GnashImage(size_t width, size_t height, ImageType type,
- _width(width),
- _height(height)
- {
-- const size_t max = std::numeric_limits<boost::int32_t>::max();
-- if (size() > max) {
-+ // Constructed from external input, so restrict dimensions to avoid
-+ // overflow in size calculations
-+ if (!checkValidSize(_width, _height, channels())) {
- throw std::bad_alloc();
- }
- _data.reset(new value_type[size()]);
---
-cgit v0.9.0.2
diff --git a/www-plugins/gnash/files/gnash-0.8.10-jemalloc-aslr-fix.patch b/www-plugins/gnash/files/gnash-0.8.10-jemalloc-aslr-fix.patch
deleted file mode 100644
index 413744c4b3c4..000000000000
--- a/www-plugins/gnash/files/gnash-0.8.10-jemalloc-aslr-fix.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -Naur gnash-0.8.10.alt/libbase/jemalloc.c gnash-0.8.10/libbase/jemalloc.c
---- gnash-0.8.10.alt/libbase/jemalloc.c 2012-02-07 09:39:41.000000000 +0100
-+++ gnash-0.8.10/libbase/jemalloc.c 2012-02-24 18:36:47.000000000 +0100
-@@ -429,7 +429,7 @@
- static const bool __isthreaded = true;
- #endif
-
--#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN)
-+#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN) || defined(MOZ_MEMORY_LINUX)
- #define JEMALLOC_USES_MAP_ALIGN /* Required on Solaris 10. Might improve performance elsewhere. */
- #endif
-
-@@ -2238,6 +2238,7 @@
- * We don't use MAP_FIXED here, because it can cause the *replacement*
- * of existing mappings, and we only want to create new mappings.
- */
-+#ifdef MOZ_MEMORY_SOLARIS
- #ifdef MALLOC_PAGEFILE
- if (pfd != -1) {
- ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-@@ -2252,6 +2253,31 @@
-
- if (ret == MAP_FAILED)
- ret = NULL;
-+#else /* !MOZ_MEMORY_SOLARIS */
-+#ifdef MALLOC_PAGEFILE
-+ if (pfd != -1) {
-+ ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-+ MAP_NOSYNC, pfd, 0);
-+ } else
-+#endif
-+ {
-+ ret = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-+ MAP_NOSYNC | MAP_ANON, -1, 0);
-+ }
-+ assert(ret != NULL);
-+
-+ if (ret == MAP_FAILED)
-+ return NULL;
-+
-+ uintptr_t aligned_ret;
-+ size_t extra_size;
-+ aligned_ret = (uintptr_t)ret + alignment - 1;
-+ aligned_ret &= ~(alignment - 1);
-+ extra_size = aligned_ret - (uintptr_t)ret;
-+ munmap(ret, extra_size);
-+ munmap(ret + extra_size + size, alignment - extra_size);
-+ ret = (void*)aligned_ret;
-+#endif /* ifdef MOZ_MEMORY_SOLARIS*/
- return (ret);
- }
- #endif
diff --git a/www-plugins/gnash/gnash-0.8.10-r2.ebuild b/www-plugins/gnash/gnash-0.8.10_p20120903-r1.ebuild
index 94bb8a1cf8c6..b8bbd2538dc9 100644
--- a/www-plugins/gnash/gnash-0.8.10-r2.ebuild
+++ b/www-plugins/gnash/gnash-0.8.10_p20120903-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/gnash-0.8.10-r2.ebuild,v 1.10 2012/11/04 04:38:36 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/gnash-0.8.10_p20120903-r1.ebuild,v 1.1 2013/03/28 22:06:54 chithanh Exp $
-EAPI=4
+EAPI=5
CMAKE_REQUIRED="never"
KDE_REQUIRED="optional"
AT_M4DIR="cygnal"
@@ -21,13 +21,13 @@ if [[ ${PV} = 9999* ]]; then
else
# Release tarball is b0rked, upstream #35612
# SRC_URI="mirror://gnu/${PN}/${PV}/${P}.tar.bz2"
- SRC_URI="mirror://gentoo/${P}.tar.gz"
+ 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 gconf gnome gstreamer gtk kde lirc mysql +nls nsplugin opengl openvg python sdl +sdl-sound ssh ssl test vaapi"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X +agg cairo cygnal dbus directfb doc dump egl fbcon +ffmpeg gconf gnome gstreamer gtk harden kde lirc mysql +nls nsplugin opengl openvg python sdl +sdl-sound ssh ssl test vaapi"
REQUIRED_USE="dump? ( agg ffmpeg )
fbcon? ( agg )
nsplugin? ( gtk )
@@ -124,6 +124,12 @@ pkg_setup() {
fi
}
+src_unpack() {
+ default
+ # rename git snapshot directory to what portage expects
+ mv ${PN}-*/ ${P} || die
+}
+
src_prepare() {
# Fix paths for klash, bug #339610
epatch "${FILESDIR}"/${PN}-0.8.9-klash.patch
@@ -146,11 +152,13 @@ src_prepare() {
# Allow building against npapi-sdk, bug #383071
epatch "${FILESDIR}"/${PN}-0.8.10-npapi-sdk.patch
- # Fix broken jemalloc, bug #405993
- epatch "${FILESDIR}"/${PN}-0.8.10-jemalloc-aslr-fix.patch
+ # Allow building against boost-1.50, bug #425442
+ epatch "${FILESDIR}"/${PN}-0.8.10-boost-1.50.patch
- # Fix security bug bug #408209
- epatch "${FILESDIR}"/${PN}-0.8.10-cve-2012-1175.patch
+ # fix build with ffmpeg-1 / libav-9, bug #443184
+ epatch "${FILESDIR}/${P}-ffmpeg1.patch" \
+ "${FILESDIR}/${P}-libav9.patch" \
+ "${FILESDIR}/${P}-bytesfmt.patch"
eautoreconf
}
@@ -183,7 +191,8 @@ src_configure() {
--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-servicesdir=${KDEDIR}/share/kde4/services
+ --with-kde4-plugindir=${KDEDIR}/$(get_libdir)/kde4"
fi
# Set media handler.
@@ -225,6 +234,7 @@ src_configure() {
$(use_enable cygnal cgibins) \
$(use_enable doc docbook) \
$(use_enable gnome ghelp) \
+ $(use_enable harden) \
$(use_enable kde kparts4) \
$(use_enable nls) \
$(use_enable nsplugin npapi) \
@@ -262,7 +272,12 @@ src_install() {
popd >& /dev/null
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 \
+ 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
dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
}
diff --git a/www-plugins/gnash/gnash-0.8.10_p20120903.ebuild b/www-plugins/gnash/gnash-0.8.10_p20120903.ebuild
index 7f46419a4243..3a62ad71ea1d 100644
--- a/www-plugins/gnash/gnash-0.8.10_p20120903.ebuild
+++ b/www-plugins/gnash/gnash-0.8.10_p20120903.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/gnash-0.8.10_p20120903.ebuild,v 1.6 2013/03/09 17:37:25 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-plugins/gnash/gnash-0.8.10_p20120903.ebuild,v 1.7 2013/03/28 22:06:54 chithanh Exp $
EAPI=4
CMAKE_REQUIRED="never"
@@ -61,6 +61,7 @@ RDEPEND=">=dev-libs/boost-1.41.0
)
egl? (
media-libs/mesa[egl]
+ !x11-apps/mesa-progs[egl]
)
fbcon? (
x11-libs/tslib
@@ -272,7 +273,7 @@ src_install() {
popd >& /dev/null
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 \
+ use nsplugin && inst_plugin /usr/$(get_libdir)/gnash/npapi/libgnashplugin.so
dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
}