Accepting request 692350 from home:cgiboudeaux:branches:GNOME:Apps

Fix the factory build

OBS-URL: https://build.opensuse.org/request/show/692350
OBS-URL: https://build.opensuse.org/package/show/GNOME:Apps/geeqie?expand=0&rev=23
This commit is contained in:
Dominique Leuenberger 2019-04-11 08:10:04 +00:00 committed by Git OBS Bridge
parent d41d80524e
commit f1365a6d8a
3 changed files with 116 additions and 8 deletions

View File

@ -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
}
}

View File

@ -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

View File

@ -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/