diff options
Diffstat (limited to 'gnome-base/librsvg/librsvg-2.34.0.ebuild')
-rw-r--r-- | gnome-base/librsvg/librsvg-2.34.0.ebuild | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/gnome-base/librsvg/librsvg-2.34.0.ebuild b/gnome-base/librsvg/librsvg-2.34.0.ebuild index 393a7c66392d..7bfeca0eb1af 100644 --- a/gnome-base/librsvg/librsvg-2.34.0.ebuild +++ b/gnome-base/librsvg/librsvg-2.34.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/librsvg/librsvg-2.34.0.ebuild,v 1.9 2011/08/20 18:38:07 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/librsvg/librsvg-2.34.0.ebuild,v 1.10 2011/10/09 08:54:42 lxnay Exp $ EAPI="4" GNOME2_LA_PUNT="yes" @@ -54,9 +54,27 @@ src_prepare() { } pkg_postinst() { - gdk-pixbuf-query-loaders > "${EROOT}/usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + # causes segfault if set, see bug 375615 + unset __GL_NO_DSO_FINALIZER + + tmp_file=$(mktemp --suffix=gdk_pixbuf_ebuild) + # be atomic! + gdk-pixbuf-query-loaders > "${tmp_file}" + if [ "${?}" = "0" ]; then + cat "${tmp_file}" > "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + fi + rm "${tmp_file}" } pkg_postrm() { - gdk-pixbuf-query-loaders > "${EROOT}/usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + # causes segfault if set, see bug 375615 + unset __GL_NO_DSO_FINALIZER + + tmp_file=$(mktemp --suffix=gdk_pixbuf_ebuild) + # be atomic! + gdk-pixbuf-query-loaders > "${tmp_file}" + if [ "${?}" = "0" ]; then + cat "${tmp_file}" > "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + fi + rm "${tmp_file}" } |