[arch-commits] Commit in geeqie/trunk (PKGBUILD geeqie-exiv2-0.27.patch)

Antonio Rojas arojas at archlinux.org
Sat May 18 08:31:03 UTC 2019


    Date: Saturday, May 18, 2019 @ 08:31:01
  Author: arojas
Revision: 353582

Fix build with exiv2 0.27

Added:
  geeqie/trunk/geeqie-exiv2-0.27.patch
Modified:
  geeqie/trunk/PKGBUILD

-------------------------+
 PKGBUILD                |    7 ++-
 geeqie-exiv2-0.27.patch |   98 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 103 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-05-18 08:29:06 UTC (rev 353581)
+++ PKGBUILD	2019-05-18 08:31:01 UTC (rev 353582)
@@ -13,14 +13,17 @@
 optdepends=('librsvg: SVG rendering'
 	    'fbida: for jpeg rotation')
 validpgpkeys=('85D4CA42952C949B175362B379D0B06F4E20AF1C')
-source=(http://www.geeqie.org/${pkgname}-${pkgver}.tar.xz{,.asc} geeqie-no-changelog.patch)
+source=(http://www.geeqie.org/${pkgname}-${pkgver}.tar.xz{,.asc} geeqie-no-changelog.patch
+        geeqie-exiv2-0.27.patch)
 sha256sums=('5c583a165573ec37874c278f9dc57e73df356b30e09a9ccac3179dd5d97e3e32'
             'SKIP'
-            'f6eb2725a47fc750d95455d4bbf4be5a0ae45307d3ada571937212a25b2b4301')
+            'f6eb2725a47fc750d95455d4bbf4be5a0ae45307d3ada571937212a25b2b4301'
+            '255a29cc4ecaadcb3f8ae37be3d004f48e75fa7aa3aa6beb3f4052ce8ab860e2')
 
 prepare() {
   cd $pkgname-$pkgver
   patch -p1 -i ../geeqie-no-changelog.patch # Workaround missing changelog (Fedora)
+  patch -p1 -i ../geeqie-exiv2-0.27.patch # Fix build with exiv2 0.27
   NOCONFIGURE=1 ./autogen.sh
 }
 

Added: geeqie-exiv2-0.27.patch
===================================================================
--- geeqie-exiv2-0.27.patch	                        (rev 0)
+++ geeqie-exiv2-0.27.patch	2019-05-18 08:31:01 UTC (rev 353582)
@@ -0,0 +1,98 @@
+From f9213c8ad796cf4571b2606435c32753040ec645 Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <Rasmus.thomsen at protonmail.com>
+Date: Sun, 6 Jan 2019 17:40:31 +0000
+Subject: [PATCH] Fix #654, 655: fix build against exiv2-0.27.x
+
+https://github.com/BestImageViewer/geeqie/pull/655
+---
+ src/exiv2.cc | 45 +++++++++++++++++++++------------------------
+ 1 file changed, 21 insertions(+), 24 deletions(-)
+
+diff --git a/src/exiv2.cc b/src/exiv2.cc
+index b3c80657..2992740c 100644
+--- a/src/exiv2.cc
++++ b/src/exiv2.cc
+@@ -22,17 +22,25 @@
+ 
+ #ifdef HAVE_EXIV2
+ 
+-#include <exiv2/image.hpp>
+-#include <exiv2/exif.hpp>
++// Don't include the <exiv2/version.hpp> file directly
++// Early Exiv2 versions didn't have version.hpp and the macros.
++#include <exiv2/exiv2.hpp>
+ #include <iostream>
+ #include <string>
+ 
+ // EXIV2_TEST_VERSION is defined in Exiv2 0.15 and newer.
++#ifdef EXIV2_VERSION
+ #ifndef EXIV2_TEST_VERSION
+-# define EXIV2_TEST_VERSION(major,minor,patch) \
++#define EXIV2_TEST_VERSION(major,minor,patch) \
+ 	( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
+ #endif
++#else
++#define EXIV2_TEST_VERSION(major,minor,patch) (false)
++#endif
+ 
++#if EXIV2_TEST_VERSION(0,27,0)
++#define HAVE_EXIV2_ERROR_CODE
++#endif
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -40,27 +48,8 @@
+ #include <fcntl.h>
+ #include <sys/mman.h>
+ 
+-#if !EXIV2_TEST_VERSION(0,17,90)
+-#include <exiv2/tiffparser.hpp>
+-#include <exiv2/tiffcomposite.hpp>
+-#include <exiv2/tiffvisitor.hpp>
+-#include <exiv2/tiffimage.hpp>
+-#include <exiv2/cr2image.hpp>
+-#include <exiv2/crwimage.hpp>
+-#if EXIV2_TEST_VERSION(0,16,0)
+-#include <exiv2/orfimage.hpp>
+-#endif
+-#if EXIV2_TEST_VERSION(0,13,0)
+-#include <exiv2/rafimage.hpp>
+-#endif
+-#include <exiv2/futils.hpp>
+-#else
+-#include <exiv2/preview.hpp>
+-#endif
+-
+-#if EXIV2_TEST_VERSION(0,17,0)
+-#include <exiv2/convert.hpp>
+-#include <exiv2/xmpsidecar.hpp>
++#if EXIV2_TEST_VERSION(0,27,0)
++#define EXV_PACKAGE "exiv2"
+ #endif
+ 
+ extern "C" {
+@@ -374,7 +363,11 @@ struct _ExifDataProcessed : public _ExifData
+ #endif
+ 			Exiv2::Image *image = imageData_->image();
+ 
++#ifdef HAVE_EXIV2_ERROR_CODE
++			if (!image) Exiv2::Error(Exiv2::ErrorCode::kerInputDataReadFailed);
++#else
+ 			if (!image) Exiv2::Error(21);
++#endif
+ 			image->setExifData(exifData_);
+ 			image->setIptcData(iptcData_);
+ #if EXIV2_TEST_VERSION(0,16,0)
+@@ -393,8 +386,12 @@ struct _ExifDataProcessed : public _ExifData
+ 
+ 			sidecar->setXmpData(xmpData_);
+ 			sidecar->writeMetadata();
++#else
++#ifdef HAVE_EXIV2_ERROR_CODE
++			throw Exiv2::Error(Exiv2::ErrorCode::kerNotAnImage, "xmp");
+ #else
+ 			throw Exiv2::Error(3, "xmp");
++#endif
+ #endif
+ 			}
+ 	}


More information about the arch-commits mailing list