[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