From 0e861af1558fee9f258c8ee67e3d48aff151986f Mon Sep 17 00:00:00 2001 From: Rodrigo Osorio Date: Sat, 24 Apr 2021 22:02:41 +0200 Subject: [PATCH] graphics/ufraw: Upgrade to latest version Major changes: * Intagrate multipleple fixes from openSUSE * Fix build against glib-2.68 * ufraw_preview: do now overwrite configuration with preview size * ufraw-gimp: properly send EXIF data to Gimp 2.9 and later * Suppress compiler warnings on implicit fallthrough * ufraw_developer: use fabs() instead of abs() for double * Fix GCC 9 OpenMP issues by drop default(none) * From Gentoo ufraw-0.17-cfitsio-automagic.patch * From Gentoo ufraw-0.22-jasper-automagic.patch * From Gentoo ufraw-0.22-jpeg9.patch * From Gentoo ufraw-0.22-exiv2-0.27.patch * 05_CVE-2018-19655.patch from Debian * Prevent crash when camera specified in .ufraw file is not in lensfun db * Fix crash on destroy of lensfun object on PEF images Security: CVE-2018-19655 MFH: 2021Q2 --- graphics/ufraw/Makefile | 5 +-- graphics/ufraw/distinfo | 6 +-- graphics/ufraw/files/patch-dcraw.cc | 41 ------------------- graphics/ufraw/files/patch-gentoo_b5b414 | 28 ------------- graphics/ufraw/files/patch-ufraw__conf.c | 11 ----- graphics/ufraw/files/patch-ufraw__developer.c | 11 ----- 6 files changed, 5 insertions(+), 97 deletions(-) delete mode 100644 graphics/ufraw/files/patch-dcraw.cc delete mode 100644 graphics/ufraw/files/patch-gentoo_b5b414 delete mode 100644 graphics/ufraw/files/patch-ufraw__conf.c delete mode 100644 graphics/ufraw/files/patch-ufraw__developer.c diff --git a/graphics/ufraw/Makefile b/graphics/ufraw/Makefile index d0033fa9c00b..9f9d7534a3af 100644 --- a/graphics/ufraw/Makefile +++ b/graphics/ufraw/Makefile @@ -1,8 +1,7 @@ # Created by: Mark Murray PORTNAME= ufraw -PORTVERSION= 0.22 -PORTREVISION= 18 +PORTVERSION= 0.22.20210424 CATEGORIES= graphics MAINTAINER= rodrigo@FreeBSD.org @@ -36,7 +35,7 @@ GIMP_DESC= Install GIMP plugin USE_GITHUB= yes GH_ACCOUNT= sergiomb2 GH_PROJECT= ufraw -GH_TAGNAME= 6d3259a +GH_TAGNAME= f34669b USE_GNOME+=glib20 gtk20 cairo gdkpixbuf2 diff --git a/graphics/ufraw/distinfo b/graphics/ufraw/distinfo index 7f81df2dd09f..08add293c091 100644 --- a/graphics/ufraw/distinfo +++ b/graphics/ufraw/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1521620815 -SHA256 (sergiomb2-ufraw-0.22-6d3259a_GH0.tar.gz) = 4a3b415bf86c7cadc71350a8f0a206cef79bb3c22a6a794a9d9894d6bc7ec6dc -SIZE (sergiomb2-ufraw-0.22-6d3259a_GH0.tar.gz) = 870086 +TIMESTAMP = 1619340633 +SHA256 (sergiomb2-ufraw-0.22.20210424-f34669b_GH0.tar.gz) = e577154b5b2256cfdc4dfc71018c190c5dcb2d92a5bfa3c13384d86aa28c5ec2 +SIZE (sergiomb2-ufraw-0.22.20210424-f34669b_GH0.tar.gz) = 871912 diff --git a/graphics/ufraw/files/patch-dcraw.cc b/graphics/ufraw/files/patch-dcraw.cc deleted file mode 100644 index b0c1fae315fa..000000000000 --- a/graphics/ufraw/files/patch-dcraw.cc +++ /dev/null @@ -1,41 +0,0 @@ ---- dcraw.cc.orig 2018-06-23 21:54:05 UTC -+++ dcraw.cc -@@ -2287,7 +2287,7 @@ void CLASS quicktake_100_load_raw() - - void CLASS kodak_radc_load_raw() - { -- static const char src[] = { -+ static const signed char src[] = { - 1,1, 2,3, 3,4, 4,2, 5,7, 6,5, 7,6, 7,8, - 1,0, 2,1, 3,3, 4,4, 5,2, 6,7, 7,6, 8,5, 8,8, - 2,1, 2,3, 3,0, 3,2, 3,4, 4,6, 5,5, 6,7, 6,8, -@@ -3017,7 +3017,10 @@ void CLASS smal_decode_segment (unsigned - diff = diff ? -diff : 0x80; - if (ftell(ifp) + 12 >= (int) seg[1][1]) - diff = 0; -- raw_image[pix] = pred[pix & 1] += diff; -+ if(pix>=raw_width*raw_height) -+ derror(); -+ else -+ raw_image[pix] = pred[pix & 1] += diff; - if (!(pix & 1) && HOLE(pix / raw_width)) pix += 2; - } - maximum = 0xff; -@@ -8946,7 +8949,7 @@ void CLASS identify() - parse_fuji (get4()); - if (thumb_offset > 120) { - fseek (ifp, 120, SEEK_SET); -- is_raw += (i = get4()) && 1; -+ is_raw += (i = get4()) & 1; - if (is_raw == 2 && shot_select) - parse_fuji (i); - } -@@ -10192,7 +10195,7 @@ void CLASS tiff_head (struct tiff_hdr *t - strncpy (th->desc, desc, 512); - strncpy (th->make, make, 64); - strncpy (th->model, model, 64); -- strcpy (th->soft, "dcraw v"DCRAW_VERSION); -+ strcpy (th->soft, " dcraw v " DCRAW_VERSION); - t = localtime (×tamp); - sprintf (th->date, "%04d:%02d:%02d %02d:%02d:%02d", - t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec); diff --git a/graphics/ufraw/files/patch-gentoo_b5b414 b/graphics/ufraw/files/patch-gentoo_b5b414 deleted file mode 100644 index 039244de4f2b..000000000000 --- a/graphics/ufraw/files/patch-gentoo_b5b414 +++ /dev/null @@ -1,28 +0,0 @@ -https://gitweb.gentoo.org/repo/gentoo.git/tree/media-gfx/ufraw/files/ufraw-0.22-exiv2-0.27.patch - ---- ufraw_exiv2.cc.orig 2016-11-13 04:00:05 UTC -+++ ufraw_exiv2.cc -@@ -15,9 +15,8 @@ - #include "ufraw.h" - - #ifdef HAVE_EXIV2 --#include --#include --#include -+#include -+#include - #include - #include - -@@ -67,7 +66,11 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf) - if (exifData.empty()) { - std::string error(uf->filename); - error += ": No Exif data found in the file"; -+#if EXIV2_TEST_VERSION(0,27,0) -+ throw Exiv2::Error(Exiv2::kerErrorMessage, error); -+#else - throw Exiv2::Error(1, error); -+#endif - } - - /* List of tag names taken from exiv2's printSummary() in actions.cpp */ diff --git a/graphics/ufraw/files/patch-ufraw__conf.c b/graphics/ufraw/files/patch-ufraw__conf.c deleted file mode 100644 index 5b5ae6dd4d74..000000000000 --- a/graphics/ufraw/files/patch-ufraw__conf.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ufraw_conf.c.orig 2016-11-13 04:00:05 UTC -+++ ufraw_conf.c -@@ -138,7 +138,7 @@ const conf_data conf_default = { - #elif HAVE_GIMP_2_4 - "gimp", /* remoteGimpCommand */ - #else -- "gimp-remote", /* remoteGimpCommand */ -+ "gimp", /* remoteGimpCommand */ - #endif - - /* EXIF data */ diff --git a/graphics/ufraw/files/patch-ufraw__developer.c b/graphics/ufraw/files/patch-ufraw__developer.c deleted file mode 100644 index 5e1e08163ee3..000000000000 --- a/graphics/ufraw/files/patch-ufraw__developer.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ufraw_developer.c.orig 2018-06-23 21:40:09 UTC -+++ ufraw_developer.c -@@ -387,7 +387,7 @@ static double findExpCoeff(double b) - else a = b; - bg = a / (1 - exp(-a)); - /* The limit on try is just to be sure there is no infinite loop. */ -- for (try = 0; abs(bg - b) > 0.001 || try < 100; try++) { -+ for (try = 0; fabs(bg - b) > 0.001 || try < 100; try++) { - a = a + (b - bg); - bg = a / (1 - exp(-a)); - }