diff options
author | Justin Lecher <jlec@gentoo.org> | 2013-06-05 14:58:46 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2013-06-05 14:58:46 +0000 |
commit | 8b369a36e47bb2ccbb4a74236c754d662322c469 (patch) | |
tree | 67008a02f7a273560a784cf15929f06bc23e040a /media-libs/clutter | |
parent | Marked ~hppa (bug #414297). (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | media-libs/clutter/clutter-1.12.2-r1.ebuild | 109 | ||||
-rw-r--r-- | media-libs/clutter/files/clutter-1.12.2-array-bounds.patch | 33 | ||||
-rw-r--r-- | media-libs/clutter/metadata.xml | 8 |
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> |