commit:     d2edd6edf8547ceb157094dba0fff6d2b08588b2
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  4 15:19:34 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr  4 15:41:27 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2edd6ed

media-gfx/ufraw: Fix runtime crash

Gentoo-bug: 608100

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 media-gfx/ufraw/files/ufraw-0.22-crashfix.patch | 15 +++++
 media-gfx/ufraw/ufraw-0.22-r1.ebuild            | 87 +++++++++++++++++++++++++
 2 files changed, 102 insertions(+)

diff --git a/media-gfx/ufraw/files/ufraw-0.22-crashfix.patch 
b/media-gfx/ufraw/files/ufraw-0.22-crashfix.patch
new file mode 100644
index 00000000000..76fe83fa8f2
--- /dev/null
+++ b/media-gfx/ufraw/files/ufraw-0.22-crashfix.patch
@@ -0,0 +1,15 @@
+--- a/ufraw_ufraw.c    2015-06-16 04:58:38.000000000 +0100
++++ b/ufraw_ufraw.c    2016-12-18 00:55:45.794466747 +0000
+@@ -767,8 +767,10 @@ void ufraw_close(ufraw_data *uf)
+     g_free(uf->displayProfile);
+     g_free(uf->RawHistogram);
+ #ifdef HAVE_LENSFUN
+-    lf_modifier_destroy(uf->TCAmodifier);
+-    lf_modifier_destroy(uf->modifier);
++    if (uf->TCAmodifier != NULL)
++        lf_modifier_destroy(uf->TCAmodifier);
++    if (uf->modifier != NULL)
++        lf_modifier_destroy(uf->modifier);
+ #endif
+     ufobject_delete(uf->conf->ufobject);
+     g_free(uf->conf);

diff --git a/media-gfx/ufraw/ufraw-0.22-r1.ebuild 
b/media-gfx/ufraw/ufraw-0.22-r1.ebuild
new file mode 100644
index 00000000000..7f16fe8192f
--- /dev/null
+++ b/media-gfx/ufraw/ufraw-0.22-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools fdo-mime gnome2-utils toolchain-funcs
+
+DESCRIPTION="RAW Image format viewer and GIMP plugin"
+HOMEPAGE="http://ufraw.sourceforge.net/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 
~amd64-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE="contrast fits gimp gnome gtk openmp timezone"
+
+REQUIRED_USE="gimp? ( gtk )"
+
+RDEPEND="
+       dev-libs/glib:2=
+       >=media-gfx/exiv2-0.11:0=
+       media-libs/lcms:2=
+       >=media-libs/lensfun-0.2.5:=
+       media-libs/libpng:0=
+       media-libs/tiff:0=
+       virtual/jpeg:0=
+       fits? ( sci-libs/cfitsio:0= )
+       gimp? ( >=media-gfx/gimp-2 )
+       gnome? ( >=gnome-base/gconf-2 )
+       gtk? (
+               >=media-gfx/gtkimageview-1.5
+               >=x11-libs/gtk+-2.6:2
+       )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.17-cfitsio-automagic.patch
+       "${FILESDIR}"/${P}-crashfix.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_enable contrast) \
+               $(use_with fits cfitsio) \
+               $(use_with gimp) \
+               $(use_enable gnome mime) \
+               $(use_with gtk) \
+               $(use_enable openmp) \
+               $(use_enable timezone dst-correction)
+}
+
+src_compile() {
+       emake AR="$(tc-getAR)"
+}
+
+src_install() {
+       emake DESTDIR="${D}" schemasdir=/etc/gconf/schemas install
+       einstalldocs
+}
+
+pkg_preinst() {
+       if use gnome; then
+               gnome2_gconf_savelist
+       fi
+}
+
+pkg_postinst() {
+       if use gnome; then
+               fdo-mime_mime_database_update
+               fdo-mime_desktop_database_update
+               gnome2_gconf_install
+       fi
+}
+
+pkg_postrm() {
+       if use gnome; then
+               fdo-mime_desktop_database_update
+               fdo-mime_mime_database_update
+       fi
+}

Reply via email to