media-gfx/ufraw: Fix build w/ jpeg-9, migrate to xdg-utils
authorAndreas Sturmlechner <asturm@gentoo.org>
Sat, 3 Feb 2018 16:42:55 +0000 (17:42 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 3 Feb 2018 16:42:55 +0000 (17:42 +0100)
Bug: https://bugs.gentoo.org/540872
Closes: https://bugs.gentoo.org/520882
Package-Manager: Portage-2.3.24, Repoman-2.3.6

media-gfx/ufraw/files/ufraw-0.22-jpeg9.patch [new file with mode: 0644]
media-gfx/ufraw/ufraw-0.22-r2.ebuild [new file with mode: 0644]

diff --git a/media-gfx/ufraw/files/ufraw-0.22-jpeg9.patch b/media-gfx/ufraw/files/ufraw-0.22-jpeg9.patch
new file mode 100644 (file)
index 0000000..dca3834
--- /dev/null
@@ -0,0 +1,32 @@
+Fix build with >=jpeg-9
+Thanks-to: Moran Z. <o542018138@gmail.com>
+
+--- a/dcraw.cc 2014-09-02 07:50:38.000000000 +0300
++++ b/dcraw.cc 2015-02-21 04:54:13.957561352 +0200
+@@ -2330,7 +2330,7 @@ 
+ #endif
+   cinfo->src->next_input_byte = jpeg_buffer;
+   cinfo->src->bytes_in_buffer = nbytes;
+-  return TRUE;
++  return boolean(TRUE);
+ }
+ 
+ void CLASS kodak_jpeg_load_raw()
+@@ -2346,7 +2346,7 @@ 
+   jpeg_create_decompress (&cinfo);
+   jpeg_stdio_src (&cinfo, ifp);
+   cinfo.src->fill_input_buffer = fill_input_buffer;
+-  jpeg_read_header (&cinfo, TRUE);
++  jpeg_read_header (&cinfo, boolean(TRUE));
+   jpeg_start_decompress (&cinfo);
+   if ((cinfo.output_width      != width  ) ||
+       (cinfo.output_height*2   != height ) ||
+@@ -2419,7 +2419,7 @@ 
+     if (tile_length < INT_MAX)
+       fseek (ifp, get4(), SEEK_SET);
+     jpeg_stdio_src (&cinfo, ifp);
+-    jpeg_read_header (&cinfo, TRUE);
++    jpeg_read_header (&cinfo, boolean(TRUE));
+     jpeg_start_decompress (&cinfo);
+     buf = (*cinfo.mem->alloc_sarray)
+       ((j_common_ptr) &cinfo, JPOOL_IMAGE, cinfo.output_width*3, 1);
diff --git a/media-gfx/ufraw/ufraw-0.22-r2.ebuild b/media-gfx/ufraw/ufraw-0.22-r2.ebuild
new file mode 100644 (file)
index 0000000..4df5995
--- /dev/null
@@ -0,0 +1,94 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools gnome2-utils toolchain-funcs xdg-utils
+
+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 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE="contrast fits gimp gnome gtk jpeg2k 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
+       )
+       jpeg2k? ( media-libs/jasper:= )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.17-cfitsio-automagic.patch
+       "${FILESDIR}"/${P}-jasper-automagic.patch
+       "${FILESDIR}"/${P}-crashfix.patch
+       "${FILESDIR}"/${P}-drop_superfluous_abs.patch
+       "${FILESDIR}"/${P}-fix-unsigned-char.patch
+       "${FILESDIR}"/${P}-jpeg9.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 jpeg2k jasper) \
+               $(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
+               xdg_mimeinfo_database_update
+               xdg_desktop_database_update
+               gnome2_gconf_install
+       fi
+}
+
+pkg_postrm() {
+       if use gnome; then
+               xdg_desktop_database_update
+               xdg_mimeinfo_database_update
+       fi
+}