summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2013-06-05 14:58:46 +0000
committerJustin Lecher <jlec@gentoo.org>2013-06-05 14:58:46 +0000
commit8b369a36e47bb2ccbb4a74236c754d662322c469 (patch)
tree67008a02f7a273560a784cf15929f06bc23e040a /media-libs/clutter
parentMarked ~hppa (bug #414297). (diff)
downloadgentoo-2-8b369a36e47bb2ccbb4a74236c754d662322c469.tar.gz
gentoo-2-8b369a36e47bb2ccbb4a74236c754d662322c469.tar.bz2
gentoo-2-8b369a36e47bb2ccbb4a74236c754d662322c469.zip
media-libs/clutter: Backport patch to fix segfault due to unrespected array bounds, #469196
(Portage version: 2.2.0_alpha177/cvs/Linux x86_64, signed Manifest commit with key 8009D6F070EB7916)
Diffstat (limited to 'media-libs/clutter')
-rw-r--r--media-libs/clutter/ChangeLog8
-rw-r--r--media-libs/clutter/clutter-1.12.2-r1.ebuild109
-rw-r--r--media-libs/clutter/files/clutter-1.12.2-array-bounds.patch33
-rw-r--r--media-libs/clutter/metadata.xml8
4 files changed, 153 insertions, 5 deletions
diff --git a/media-libs/clutter/ChangeLog b/media-libs/clutter/ChangeLog
index 869219222a8c..e6dc402b7bdf 100644
--- a/media-libs/clutter/ChangeLog
+++ b/media-libs/clutter/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-libs/clutter
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/clutter/ChangeLog,v 1.71 2013/05/15 07:01:15 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/clutter/ChangeLog,v 1.72 2013/06/05 14:58:46 jlec Exp $
+
+*clutter-1.12.2-r1 (05 Jun 2013)
+
+ 05 Jun 2013; Justin Lecher <jlec@gentoo.org> +clutter-1.12.2-r1.ebuild,
+ +files/clutter-1.12.2-array-bounds.patch, metadata.xml:
+ Backport patch to fix segfault due to unrespected array bounds, #469196
*clutter-1.14.4 (15 May 2013)
diff --git a/media-libs/clutter/clutter-1.12.2-r1.ebuild b/media-libs/clutter/clutter-1.12.2-r1.ebuild
new file mode 100644
index 000000000000..28fb97a84cc3
--- /dev/null
+++ b/media-libs/clutter/clutter-1.12.2-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/clutter/clutter-1.12.2-r1.ebuild,v 1.1 2013/06/05 14:58:46 jlec Exp $
+
+EAPI="5"
+CLUTTER_LA_PUNT="yes"
+
+# Inherit gnome2 after clutter to download sources from gnome.org
+# since clutter-project.org doesn't provide .xz tarballs
+inherit clutter gnome2 virtualx
+
+DESCRIPTION="Clutter is a library for creating graphical user interfaces"
+
+LICENSE="LGPL-2.1+ FDL-1.1+"
+SLOT="1.0"
+IUSE="debug doc gtk +introspection test" # evdev tslib
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+# NOTE: glx flavour uses libdrm + >=mesa-7.3
+# XXX: uprof needed for profiling
+# >=libX11-1.3.1 needed for X Generic Event support
+RDEPEND="
+ >=dev-libs/glib-2.31.19:2
+ >=dev-libs/atk-2.5.3[introspection?]
+ >=dev-libs/json-glib-0.12[introspection?]
+ >=media-libs/cogl-1.9.6:1.0=[introspection?,pango]
+ media-libs/fontconfig
+ >=x11-libs/cairo-1.10:=[glib]
+ >=x11-libs/pango-1.30[introspection?]
+
+ virtual/opengl
+ x11-libs/libdrm:=
+ >=x11-libs/libX11-1.3.1
+ x11-libs/libXext
+ x11-libs/libXdamage
+ x11-proto/inputproto
+ >=x11-libs/libXi-1.3
+ >=x11-libs/libXfixes-3
+ >=x11-libs/libXcomposite-0.4
+
+ gtk? ( >=x11-libs/gtk+-3.3.18:3 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6 )"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.15
+ virtual/pkgconfig
+ >=sys-devel/gettext-0.17
+ doc? (
+ >=dev-util/gtk-doc-1.15
+ >=app-text/docbook-sgml-utils-0.6.14[jadetex]
+ dev-libs/libxslt )
+ test? ( x11-libs/gdk-pixbuf )"
+
+# Tests fail with both swrast and llvmpipe
+# They pass under r600g or i965, so the bug is in mesa
+RESTRICT="test"
+
+src_prepare() {
+ DOCS="README NEWS ChangeLog*"
+
+ # XXX: Conformance test suite (and clutter itself) does not work under Xvfb
+ # (GLX error blabla)
+ # XXX: Profiling, coverage disabled for now
+ # XXX: What about cex100/egl/osx/wayland/win32 backends?
+ # XXX: evdev/tslib input seem to be experimental?
+ G2CONF="${G2CONF} ${myconf}
+ --enable-xinput
+ --enable-x11-backend=yes
+ --disable-profile
+ --disable-maintainer-flags
+ --disable-gcov
+ --disable-cex100-backend
+ --disable-egl-backend
+ --disable-quartz-backend
+ --disable-wayland-backend
+ --disable-win32-backend
+ --disable-tslib-input
+ --disable-evdev-input
+ $(usex debug --enable-debug=yes --enable-debug=minimum)
+ $(use_enable gtk gdk-backend)
+ $(use_enable introspection)
+ $(use_enable doc docs)
+ $(use_enable test conformance)
+ $(use_enable test gdk-pixbuf)"
+
+ # We only need conformance tests, the rest are useless for us
+ sed -e 's/^\(SUBDIRS =\).*/\1/g' \
+ -i tests/Makefile.am || die "am tests sed failed"
+ sed -e 's/^\(SUBDIRS =\)[^\]*/\1/g' \
+ -i tests/Makefile.in || die "in tests sed failed"
+
+ epatch "${FILESDIR}"/${P}-array-bounds.patch
+
+ gnome2_src_prepare
+}
+
+src_compile() {
+ default
+ if use test; then
+ emake -C tests/conform
+ fi
+}
+
+src_test() {
+ Xemake check
+}
+
+src_install() {
+ clutter_src_install
+}
diff --git a/media-libs/clutter/files/clutter-1.12.2-array-bounds.patch b/media-libs/clutter/files/clutter-1.12.2-array-bounds.patch
new file mode 100644
index 000000000000..cc5928273ae1
--- /dev/null
+++ b/media-libs/clutter/files/clutter-1.12.2-array-bounds.patch
@@ -0,0 +1,33 @@
+From d5604be9e5a148ced73dee2ede49b38f97119baf Mon Sep 17 00:00:00 2001
+From: Yanko Kaneti <yaneti@declera.com>
+Date: Mon, 28 Jan 2013 15:49:51 +0200
+Subject: [PATCH] xi2: Fix access beyond array boundaries
+
+---
+ clutter/x11/clutter-device-manager-xi2.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c
+index 616dee7..bd9473e 100644
+--- a/clutter/x11/clutter-device-manager-xi2.c
++++ b/clutter/x11/clutter-device-manager-xi2.c
+@@ -94,13 +94,13 @@ translate_valuator_class (Display *xdisplay,
+ atoms_initialized = TRUE;
+ }
+
+- for (i = CLUTTER_INPUT_AXIS_IGNORE;
+- i < CLUTTER_INPUT_AXIS_LAST;
++ for (i = 0;
++ i < N_AXIS_ATOMS;
+ i += 1)
+ {
+ if (clutter_input_axis_atoms[i] == class->label)
+ {
+- axis = i;
++ axis = i + 1;
+ break;
+ }
+ }
+--
+1.8.1
+
diff --git a/media-libs/clutter/metadata.xml b/media-libs/clutter/metadata.xml
index 8fcea51eeef5..029117044a1d 100644
--- a/media-libs/clutter/metadata.xml
+++ b/media-libs/clutter/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>gnome</herd>
-<use>
- <flag name="gtk">Use gdk-pixbuf from <pkg>x11-libs/gtk+</pkg> as image rendering backend</flag>
-</use>
+ <herd>gnome</herd>
+ <use>
+ <flag name="gtk">Use gdk-pixbuf from <pkg>x11-libs/gtk+</pkg> as image rendering backend</flag>
+ </use>
</pkgmetadata>