Gentoo Archives: gentoo-commits

From: Alexandre Restovtsev <tetromino@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gnome:master commit in: media-libs/clutter-gst/, media-libs/clutter-gst/files/
Date: Mon, 03 Oct 2011 00:10:50
Message-Id: 874a04b7c16b4befe4e8fbeaee6624fa6e1cbb81.tetromino@gentoo
1 commit: 874a04b7c16b4befe4e8fbeaee6624fa6e1cbb81
2 Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com>
3 AuthorDate: Mon Oct 3 00:05:34 2011 +0000
4 Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
5 CommitDate: Mon Oct 3 00:09:38 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=874a04b7
7
8 media-libs/clutter-gst: add 1.4.0
9
10 Hack around the access violation bugs (#360219, #360073, #363917, and
11 now #385433) by deliberately setting an invalid DISPLAY. Depend on cogl
12 since configure checks for it and this is, after all, the gnome-3.2
13 overlay.
14
15 ---
16 media-libs/clutter-gst/clutter-gst-1.4.0.ebuild | 53 ++++++++++++++++++++
17 .../files/clutter-gst-1.4.0-null-free.patch | 24 +++++++++
18 2 files changed, 77 insertions(+), 0 deletions(-)
19
20 diff --git a/media-libs/clutter-gst/clutter-gst-1.4.0.ebuild b/media-libs/clutter-gst/clutter-gst-1.4.0.ebuild
21 new file mode 100644
22 index 0000000..7434688
23 --- /dev/null
24 +++ b/media-libs/clutter-gst/clutter-gst-1.4.0.ebuild
25 @@ -0,0 +1,53 @@
26 +# Copyright 1999-2011 Gentoo Foundation
27 +# Distributed under the terms of the GNU General Public License v2
28 +# $Header: /var/cvsroot/gentoo-x86/media-libs/clutter-gst/clutter-gst-1.3.14.ebuild,v 1.1 2011/09/09 17:14:58 pacho Exp $
29 +
30 +EAPI="3"
31 +PYTHON_DEPEND="2" # Just a build-time dependency
32 +GNOME_TARBALL_SUFFIX="xz"
33 +CLUTTER_LA_PUNT="yes"
34 +
35 +# inherit clutter after gnome2 so that defaults aren't overriden
36 +# inherit gnome.org in the end so we use gnome mirrors and get the xz tarball
37 +inherit python gnome2 clutter gnome.org
38 +
39 +DESCRIPTION="GStreamer Integration library for Clutter"
40 +
41 +SLOT="1.0"
42 +KEYWORDS="~amd64 ~x86"
43 +IUSE="debug doc examples +introspection"
44 +
45 +# Automagic cogl-1.8 dependency, and cogl requires clutter-1.8
46 +RDEPEND="
47 + >=dev-libs/glib-2.20:2
48 + >=media-libs/clutter-1.8.0:1.0[introspection?]
49 + >=media-libs/cogl-1.8.0:1.0[introspection?]
50 + >=media-libs/gstreamer-0.10.26:0.10[introspection?]
51 + media-libs/gst-plugins-base:0.10[introspection?]
52 + introspection? ( >=dev-libs/gobject-introspection-0.6.8 )"
53 +DEPEND="${RDEPEND}
54 + sys-apps/sed
55 + doc? ( >=dev-util/gtk-doc-1.8 )"
56 +
57 +DOCS="AUTHORS NEWS README"
58 +EXAMPLES="examples/{*.c,*.png,README}"
59 +
60 +src_prepare() {
61 + # Patch from upstream to not free a NULL, will be in next release
62 + epatch "${FILESDIR}/${P}-null-free.patch"
63 +
64 + # XXX: debug default is "minimum" in even releases; "yes" in odd releases
65 + G2CONF="${G2CONF}
66 + $(use_enable introspection)"
67 +
68 + gnome2_src_prepare
69 + python_convert_shebangs 2 "${S}"/scripts/pso2h.py
70 +}
71 +
72 +src_compile() {
73 + # Clutter tries to access dri without userpriv
74 + # Massive failure of a hack, see bug 360219, bug 360073, bug 363917, bug 385433
75 + DISPLAY="999invalid"
76 +
77 + gnome2_src_compile
78 +}
79
80 diff --git a/media-libs/clutter-gst/files/clutter-gst-1.4.0-null-free.patch b/media-libs/clutter-gst/files/clutter-gst-1.4.0-null-free.patch
81 new file mode 100644
82 index 0000000..b40f97a
83 --- /dev/null
84 +++ b/media-libs/clutter-gst/files/clutter-gst-1.4.0-null-free.patch
85 @@ -0,0 +1,24 @@
86 +From 08e539ecef13de3fdefc83fb422babb9a2201ac3 Mon Sep 17 00:00:00 2001
87 +From: Damien Lespiau <damien.lespiau@×××××.com>
88 +Date: Fri, 30 Sep 2011 12:00:48 +0000
89 +Subject: player: Don't try to free NULL GstTagList
90 +
91 +When the info is not ready yet, tag lists are NULL. Don't try to free
92 +NULL tag lists...
93 +---
94 +diff --git a/clutter-gst/clutter-gst-player.c b/clutter-gst/clutter-gst-player.c
95 +index b60161c..9f4ecf5 100644
96 +--- a/clutter-gst/clutter-gst-player.c
97 ++++ b/clutter-gst/clutter-gst-player.c
98 +@@ -285,7 +285,8 @@ free_tags_list (GList **listp)
99 + l = *listp;
100 + while (l)
101 + {
102 +- gst_tag_list_free (l->data);
103 ++ if (l->data)
104 ++ gst_tag_list_free (l->data);
105 + l = g_list_delete_link (l, l);
106 + }
107 +
108 +--
109 +cgit v0.9.0.2