summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@gentoo.org>2007-04-06 18:54:19 +0000
committerSaleem Abdulrasool <compnerd@gentoo.org>2007-04-06 18:54:19 +0000
commit87199cc9682d9eb70fcfbbeea2485f240df4d9b6 (patch)
treefea87e5ba87c9553f5ef0b778de828d728c376c9 /gnome-base/librsvg
parentuse games_get_libdir (diff)
downloadgentoo-2-87199cc9682d9eb70fcfbbeea2485f240df4d9b6.tar.gz
gentoo-2-87199cc9682d9eb70fcfbbeea2485f240df4d9b6.tar.bz2
gentoo-2-87199cc9682d9eb70fcfbbeea2485f240df4d9b6.zip
revbump to prevent SIGFPE
(Portage version: 2.1.2.3)
Diffstat (limited to 'gnome-base/librsvg')
-rw-r--r--gnome-base/librsvg/ChangeLog8
-rw-r--r--gnome-base/librsvg/files/digest-librsvg-2.16.1-r13
-rw-r--r--gnome-base/librsvg/files/librsvg-2.16.1-uninit.patch26
-rw-r--r--gnome-base/librsvg/librsvg-2.16.1-r1.ebuild77
4 files changed, 113 insertions, 1 deletions
diff --git a/gnome-base/librsvg/ChangeLog b/gnome-base/librsvg/ChangeLog
index 51efd88d0d33..980c4971be20 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.137 2007/02/08 16:25:11 leio Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/librsvg/ChangeLog,v 1.138 2007/04/06 18:54:19 compnerd Exp $
+
+*librsvg-2.16.1-r1 (06 Apr 2007)
+
+ 06 Apr 2007; Saleem Abdulrasool <compnerd@gentoo.org>
+ +files/librsvg-2.16.1-uninit.patch, +librsvg-2.16.1-r1.ebuild:
+ Revbump for a patch from truedfx to prevent floating point exceptions
08 Feb 2007; Mart Raudsepp <leio@gentoo.org>
-files/librsvg-2.12.6-plugin_checks.patch, -librsvg-2.12.7-r1.ebuild,
diff --git a/gnome-base/librsvg/files/digest-librsvg-2.16.1-r1 b/gnome-base/librsvg/files/digest-librsvg-2.16.1-r1
new file mode 100644
index 000000000000..1b7bd6ad85a3
--- /dev/null
+++ b/gnome-base/librsvg/files/digest-librsvg-2.16.1-r1
@@ -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-uninit.patch b/gnome-base/librsvg/files/librsvg-2.16.1-uninit.patch
new file mode 100644
index 000000000000..1f436aa9b43e
--- /dev/null
+++ b/gnome-base/librsvg/files/librsvg-2.16.1-uninit.patch
@@ -0,0 +1,26 @@
+If dst->virgin is set, dst->x, y, w and h are uninitialised. The result
+of the addition is already not used, but the addition itself can trigger
+floating point exceptions, so make sure it's not performed.
+
+--- librsvg-2.16.1/rsvg-base.c
++++ librsvg-2.16.1/rsvg-base.c
+@@ -1678,12 +1678,17 @@
+ void rsvg_bbox_insert(RsvgBbox * dst, RsvgBbox * src)
+ {
+ double affine[6];
+- double xmin = dst->x, ymin = dst->y;
+- double xmax = dst->x + dst->w, ymax = dst->y + dst->h;
++ double xmin, ymin;
++ double xmax, ymax;
+ int i;
+
+ if (src->virgin)
+ return;
++ if (!dst->virgin)
++ {
++ xmin = dst->x, ymin = dst->y;
++ xmax = dst->x + dst->w, ymax = dst->y + dst->h;
++ }
+ _rsvg_affine_invert(affine, dst->affine);
+ _rsvg_affine_multiply(affine, src->affine, affine);
+
diff --git a/gnome-base/librsvg/librsvg-2.16.1-r1.ebuild b/gnome-base/librsvg/librsvg-2.16.1-r1.ebuild
new file mode 100644
index 000000000000..aece0741f45d
--- /dev/null
+++ b/gnome-base/librsvg/librsvg-2.16.1-r1.ebuild
@@ -0,0 +1,77 @@
+# 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-r1.ebuild,v 1.1 2007/04/06 18:54:19 compnerd 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
+
+ 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
+}