summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gryniewicz <dang@gentoo.org>2007-06-11 21:02:38 +0000
committerDaniel Gryniewicz <dang@gentoo.org>2007-06-11 21:02:38 +0000
commit1ac7b725c4f214e4036d1d8975c5e08dd86b65bd (patch)
treee3274b466d0e91b91ade07a47820a1db48cc71f5 /gnome-base
parentVersion bump (diff)
downloadgentoo-2-1ac7b725c4f214e4036d1d8975c5e08dd86b65bd.tar.gz
gentoo-2-1ac7b725c4f214e4036d1d8975c5e08dd86b65bd.tar.bz2
gentoo-2-1ac7b725c4f214e4036d1d8975c5e08dd86b65bd.zip
Fix some leaks; bug #181532
(Portage version: 2.1.2.9)
Diffstat (limited to 'gnome-base')
-rw-r--r--gnome-base/librsvg/ChangeLog8
-rw-r--r--gnome-base/librsvg/files/digest-librsvg-2.16.1-r23
-rw-r--r--gnome-base/librsvg/files/librsvg-2.16.1-leak-fixes.patch33
-rw-r--r--gnome-base/librsvg/librsvg-2.16.1-r2.ebuild80
4 files changed, 123 insertions, 1 deletions
diff --git a/gnome-base/librsvg/ChangeLog b/gnome-base/librsvg/ChangeLog
index f7bb7481a901..1da8df37144a 100644
--- a/gnome-base/librsvg/ChangeLog
+++ b/gnome-base/librsvg/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for gnome-base/librsvg
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/librsvg/ChangeLog,v 1.146 2007/06/02 02:54:26 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/librsvg/ChangeLog,v 1.147 2007/06/11 21:02:38 dang Exp $
+
+*librsvg-2.16.1-r2 (11 Jun 2007)
+
+ 11 Jun 2007; Daniel Gryniewicz <dang@gentoo.org>
+ +files/librsvg-2.16.1-leak-fixes.patch, +librsvg-2.16.1-r2.ebuild:
+ Fix some leaks; bug #181532
02 Jun 2007; Brent Baude <ranger@gentoo.org> librsvg-2.16.1-r1.ebuild:
Marking librsvg-2.16.1-r1 ppc stable for bug #171107
diff --git a/gnome-base/librsvg/files/digest-librsvg-2.16.1-r2 b/gnome-base/librsvg/files/digest-librsvg-2.16.1-r2
new file mode 100644
index 000000000000..1b7bd6ad85a3
--- /dev/null
+++ b/gnome-base/librsvg/files/digest-librsvg-2.16.1-r2
@@ -0,0 +1,3 @@
+MD5 37e046571097ff7ce77ae6e07f096324 librsvg-2.16.1.tar.bz2 423624
+RMD160 27d293693d050a8a326311b4b0b5366baf400573 librsvg-2.16.1.tar.bz2 423624
+SHA256 2989d6a969b6f80d354f8120a5dd625d2c0b4e9e04bf178e9e7b34ae28e2ac69 librsvg-2.16.1.tar.bz2 423624
diff --git a/gnome-base/librsvg/files/librsvg-2.16.1-leak-fixes.patch b/gnome-base/librsvg/files/librsvg-2.16.1-leak-fixes.patch
new file mode 100644
index 000000000000..d8f0d9938a72
--- /dev/null
+++ b/gnome-base/librsvg/files/librsvg-2.16.1-leak-fixes.patch
@@ -0,0 +1,33 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN librsvg-2.16.1.orig/rsvg-cairo-draw.c librsvg-2.16.1/rsvg-cairo-draw.c
+--- librsvg-2.16.1.orig/rsvg-cairo-draw.c 2006-08-22 09:00:38.000000000 -0400
++++ librsvg-2.16.1/rsvg-cairo-draw.c 2007-06-11 16:47:32.000000000 -0400
+@@ -963,7 +963,7 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
+ surface = cairo_get_target (child_cr);
+
+ render->cr = (cairo_t *)render->cr_stack->data;
+- render->cr_stack = g_list_remove_link (render->cr_stack, render->cr_stack);
++ render->cr_stack = g_list_delete_link (render->cr_stack, render->cr_stack);
+
+ cairo_set_source_surface (render->cr,
+ surface,
+@@ -989,7 +989,7 @@ rsvg_cairo_pop_render_stack (RsvgDrawing
+ render->bbox = *((RsvgBbox *)render->bb_stack->data);
+
+ g_free(render->bb_stack->data);
+- render->bb_stack = g_list_remove_link (render->bb_stack, render->bb_stack);
++ render->bb_stack = g_list_delete_link (render->bb_stack, render->bb_stack);
+
+ if (state->filter)
+ {
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN librsvg-2.16.1.orig/rsvg-text.c librsvg-2.16.1/rsvg-text.c
+--- librsvg-2.16.1.orig/rsvg-text.c 2006-08-23 09:05:44.000000000 -0400
++++ librsvg-2.16.1/rsvg-text.c 2007-06-11 16:48:54.000000000 -0400
+@@ -946,6 +946,8 @@ rsvg_text_render_text (RsvgDrawingCtx *c
+ pango_layout_iter_free (iter);
+ ctx->render->render_pango_layout (ctx, layout, *x, *y - baseline);
+ *x += w;
++ g_object_unref (layout);
++ g_object_unref (context);
+ }
+ else
+ {
diff --git a/gnome-base/librsvg/librsvg-2.16.1-r2.ebuild b/gnome-base/librsvg/librsvg-2.16.1-r2.ebuild
new file mode 100644
index 000000000000..905d142fa2c9
--- /dev/null
+++ b/gnome-base/librsvg/librsvg-2.16.1-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/librsvg/librsvg-2.16.1-r2.ebuild,v 1.1 2007/06/11 21:02:38 dang Exp $
+
+inherit multilib gnome2 eutils
+
+DESCRIPTION="Scalable Vector Graphics (SVG) rendering library"
+HOMEPAGE="http://librsvg.sourceforge.net/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="doc gnome zlib"
+
+RDEPEND=">=media-libs/fontconfig-1.0.1
+ >=x11-libs/gtk+-2.6
+ >=dev-libs/glib-2.12
+ >=dev-libs/libxml2-2.4.7
+ >=x11-libs/cairo-1.2
+ >=x11-libs/pango-1.2
+ >=dev-libs/libcroco-0.6.1
+ >=media-libs/freetype-2
+ gnome? ( >=gnome-base/gnome-vfs-2 )
+ zlib? ( >=gnome-extra/libgsf-1.6 )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9
+ doc? ( >=dev-util/gtk-doc-0.9 )"
+
+DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+set_gtk_confdir() {
+ # An arch specific config directory is used on multilib systems
+ has_multilib_profile && GTK2_CONFDIR="/etc/gtk-2.0/${CHOST}"
+ GTK2_CONFDIR=${GTK2_CONFDIR:=/etc/gtk-2.0}
+}
+
+pkg_setup() {
+ G2CONF="--enable-gtk-theme --enable-pixbuf-loader \
+ --disable-mozilla-plugin --with-croco \
+ --disable-gnome-print \
+ $(use_enable gnome gnome-vfs) \
+ $(use_with zlib svgz)"
+}
+
+src_unpack() {
+ gnome2_src_unpack
+
+ # Still fails even with disable-gtk-doc
+ if ! use doc; then
+ epatch ${FILESDIR}/${PN}-2.15.90-die-gtk-doc-die.patch
+ fi
+
+ # Patch from truedfx to prevent floating point exceptions
+ epatch ${FILESDIR}/${PN}-2.16.1-uninit.patch
+
+ # Fix leaks; bug #181532
+ epatch ${FILESDIR}/${PN}-2.16.1-leak-fixes.patch
+
+ cp /usr/share/libtool/install-sh .
+}
+
+src_install() {
+ gnome2_src_install plugindir=/usr/$(get_libdir)/nsbrowser/plugins/
+
+ # remove gdk-pixbuf loaders (#47766)
+ rm -fr ${D}/etc
+
+ # remove plugins dir since we disable the plugin
+ rm -fr ${D}/usr/lib/nsbrowser
+}
+
+pkg_postinst() {
+ set_gtk_confdir
+ gdk-pixbuf-query-loaders > ${GTK2_CONFDIR}/gdk-pixbuf.loaders
+}
+
+pkg_postrm() {
+ set_gtk_confdir
+ gdk-pixbuf-query-loaders > ${GTK2_CONFDIR}/gdk-pixbuf.loaders
+}