diff --git a/exiv-2.0.27-buildfix.patch b/exiv-2.0.27-buildfix.patch new file mode 100644 index 0000000..b5ca058 --- /dev/null +++ b/exiv-2.0.27-buildfix.patch @@ -0,0 +1,96 @@ +commit f9213c8ad796cf4571b2606435c32753040ec645 +Author: Rasmus Thomsen <Rasmus.thomsen@protonmail.com> +Date: Sun Jan 6 17:40:31 2019 +0000 + + Fix #654, 655: fix build against exiv2-0.27.x + + https://github.com/BestImageViewer/geeqie/pull/655 + +diff --git a/src/exiv2.cc b/src/exiv2.cc +index 1dbe118..5dc31ac 100644 +--- a/src/exiv2.cc ++++ b/src/exiv2.cc +@@ -22,16 +22,24 @@ + + #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> + + // 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> +@@ -39,27 +47,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" { +@@ -357,8 +346,11 @@ public: + copyXmpToExif(xmpData_, exifData_); + #endif + Exiv2::Image *image = imageData_->image(); +- ++#ifdef HAVE_EXIV2_ERROR_CODE ++ if (!image) throw 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) +@@ -377,8 +369,12 @@ public: + + 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 + } + } diff --git a/geeqie.changes b/geeqie.changes index 89a6575..baf34f6 100644 --- a/geeqie.changes +++ b/geeqie.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 8 16:16:22 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr> + +- Add exiv-2.0.27-buildfix.patch. + ------------------------------------------------------------------- Wed Nov 8 12:49:32 UTC 2017 - gutaper@gmail.com diff --git a/geeqie.spec b/geeqie.spec index 5a8b8f0..ecc5ed8 100644 --- a/geeqie.spec +++ b/geeqie.spec @@ -1,7 +1,7 @@ # # spec file for package geeqie # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -20,12 +20,14 @@ Name: geeqie Version: 1.3 Release: 0 Summary: Lightweight Gtk+ based image viewer -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Productivity/Graphics/Viewers -Url: http://www.geeqie.org/ +URL: http://www.geeqie.org/ Source0: http://www.geeqie.org/%{name}-%{version}.tar.xz Source1: http://www.geeqie.org/%{name}-%{version}.tar.xz.asc Source2: geeqie.keyring +# PATCH-FIX-UPSTREAM +Patch0: exiv-2.0.27-buildfix.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: intltool @@ -43,12 +45,12 @@ BuildRequires: pkgconfig(clutter-gtk-1.0) >= 1.0 BuildRequires: pkgconfig(exiv2) >= 0.11 BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(lcms2) -%if 0%{?suse_version} >= 1330 -BuildRequires: pkgconfig(lua5.1) -%endif Requires(post): update-desktop-files Requires(postun): update-desktop-files Recommends: %{name}-lang +%if 0%{?suse_version} >= 1330 +BuildRequires: pkgconfig(lua5.1) +%endif %description Geeqie is a lightweight image viewer for Linux, BSDs and compatibles. @@ -57,6 +59,7 @@ Geeqie is a lightweight image viewer for Linux, BSDs and compatibles. %prep %setup -q +%patch0 -p1 %build # Needed to bootstrap @@ -75,6 +78,9 @@ make %{?_smp_mflags} %suse_update_desktop_file %{name} %fdupes %{buildroot} +# Already in the license directory +rm %{buildroot}%{_docdir}/%{name}/COPYING + %post %desktop_database_post @@ -83,7 +89,8 @@ make %{?_smp_mflags} %files %defattr(-,root,root) -%doc AUTHORS COPYING ChangeLog NEWS README TODO README.lirc +%license COPYING +%doc AUTHORS ChangeLog NEWS README TODO README.lirc %{_bindir}/geeqie %{_datadir}/applications/geeqie.desktop %{_datadir}/geeqie/