From 9ccdfdefd3e95bc004a142c752f4f190563ed9f8 Mon Sep 17 00:00:00 2001 From: wk333 <13474090681@163.com> Date: Wed, 1 Dec 2021 19:18:41 +0800 Subject: [PATCH] fix build with exiv2 0.27.5 --- 001-fix-build-with-exiv2-0.27.patch | 24 ++++ 002-replace-single-file-includes.patch | 178 +++++++++++++++++++++++++ libgexiv2.spec | 7 +- 3 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 001-fix-build-with-exiv2-0.27.patch create mode 100644 002-replace-single-file-includes.patch diff --git a/001-fix-build-with-exiv2-0.27.patch b/001-fix-build-with-exiv2-0.27.patch new file mode 100644 index 0000000..cb29014 --- /dev/null +++ b/001-fix-build-with-exiv2-0.27.patch @@ -0,0 +1,24 @@ +From 5e2489daa509dfa4994ac9b35d6e44b675654995 Mon Sep 17 00:00:00 2001 +From: Ting-Wei Lan +Date: Sun, 18 Nov 2018 14:04:12 +0800 +Subject: [PATCH] iostream: Fix build with Exiv2 0.27 + +Exiv2 0.27 removes EXIV2_TEST_VERSION macro, so we have to compare each +part of the version number by ourselves. +--- + gexiv2/gexiv2-stream-io.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gexiv2/gexiv2-stream-io.h b/gexiv2/gexiv2-stream-io.h +index a26f4e6..7190360 100644 +--- a/gexiv2/gexiv2-stream-io.h ++++ b/gexiv2/gexiv2-stream-io.h +@@ -25,7 +25,7 @@ class StreamIo : public Exiv2::BasicIo { + + StreamIo (ManagedStreamCallbacks* cb); + +-#if EXIV2_TEST_VERSION(0,26,0) ++#if EXIV2_MAJOR_VERSION >= 1 || (EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION >= 26) + typedef size_t size_type; + #else + typedef long size_type; diff --git a/002-replace-single-file-includes.patch b/002-replace-single-file-includes.patch new file mode 100644 index 0000000..ca68a84 --- /dev/null +++ b/002-replace-single-file-includes.patch @@ -0,0 +1,178 @@ +From d8f96634e1df693eb0393cf82893a86dd2a92d2b Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Tue, 20 Nov 2018 12:43:21 +0100 +Subject: [PATCH] Replace single-file includes + +To improve compatibility with exiv2 0.27 as recommended in + +Fixes #34 + +https://github.com/Exiv2/exiv2/issues/555#issuecomment-440023260 +--- + gexiv2/gexiv2-metadata-exif.cpp | 2 +- + gexiv2/gexiv2-metadata-gps.cpp | 2 +- + gexiv2/gexiv2-metadata-iptc.cpp | 2 +- + gexiv2/gexiv2-metadata-private.h | 6 +----- + gexiv2/gexiv2-metadata-xmp.cpp | 2 +- + gexiv2/gexiv2-metadata.cpp | 9 ++------- + gexiv2/gexiv2-preview-image-private.h | 2 +- + gexiv2/gexiv2-preview-properties-private.h | 2 +- + gexiv2/gexiv2-startup.cpp | 2 +- + gexiv2/gexiv2-stream-io.cpp | 2 +- + gexiv2/gexiv2-stream-io.h | 2 +- + 11 files changed, 12 insertions(+), 21 deletions(-) + +diff --git a/gexiv2/gexiv2-metadata-exif.cpp b/gexiv2/gexiv2-metadata-exif.cpp +index c87a460..f931b95 100644 +--- a/gexiv2/gexiv2-metadata-exif.cpp ++++ b/gexiv2/gexiv2-metadata-exif.cpp +@@ -12,7 +12,7 @@ + #include "gexiv2-metadata-private.h" + #include + #include +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/gexiv2/gexiv2-metadata-gps.cpp b/gexiv2/gexiv2-metadata-gps.cpp +index d49d97c..47592ec 100644 +--- a/gexiv2/gexiv2-metadata-gps.cpp ++++ b/gexiv2/gexiv2-metadata-gps.cpp +@@ -15,7 +15,7 @@ + #include + #include + #include +-#include ++#include + + #include + +diff --git a/gexiv2/gexiv2-metadata-iptc.cpp b/gexiv2/gexiv2-metadata-iptc.cpp +index 2371708..aeac1c7 100644 +--- a/gexiv2/gexiv2-metadata-iptc.cpp ++++ b/gexiv2/gexiv2-metadata-iptc.cpp +@@ -12,7 +12,7 @@ + #include "gexiv2-metadata-private.h" + #include + #include +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/gexiv2/gexiv2-metadata-private.h b/gexiv2/gexiv2-metadata-private.h +index d85453c..8818c22 100644 +--- a/gexiv2/gexiv2-metadata-private.h ++++ b/gexiv2/gexiv2-metadata-private.h +@@ -11,11 +11,7 @@ + #define GEXIV2_METADATA_PRIVATE_H + + #include +-#include +-#include +-#include +-#include +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/gexiv2/gexiv2-metadata-xmp.cpp b/gexiv2/gexiv2-metadata-xmp.cpp +index e4900f2..6f60cd0 100644 +--- a/gexiv2/gexiv2-metadata-xmp.cpp ++++ b/gexiv2/gexiv2-metadata-xmp.cpp +@@ -12,7 +12,7 @@ + #include "gexiv2-metadata-private.h" + #include + #include +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/gexiv2/gexiv2-metadata.cpp b/gexiv2/gexiv2-metadata.cpp +index 98ded9d..9c791ef 100644 +--- a/gexiv2/gexiv2-metadata.cpp ++++ b/gexiv2/gexiv2-metadata.cpp +@@ -22,13 +22,8 @@ + #include + #include + #include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++ ++#include + + + G_BEGIN_DECLS +diff --git a/gexiv2/gexiv2-preview-image-private.h b/gexiv2/gexiv2-preview-image-private.h +index 810304c..b52a84f 100644 +--- a/gexiv2/gexiv2-preview-image-private.h ++++ b/gexiv2/gexiv2-preview-image-private.h +@@ -11,7 +11,7 @@ + #define GEXIV2_PREVIEW_IMAGE_PRIVATE_H + + #include +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/gexiv2/gexiv2-preview-properties-private.h b/gexiv2/gexiv2-preview-properties-private.h +index bacb392..b057604 100644 +--- a/gexiv2/gexiv2-preview-properties-private.h ++++ b/gexiv2/gexiv2-preview-properties-private.h +@@ -11,7 +11,7 @@ + #define GEXIV2_PREVIEW_PROPERTIES_PRIVATE_H + + #include +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/gexiv2/gexiv2-startup.cpp b/gexiv2/gexiv2-startup.cpp +index 179b6c7..de438de 100644 +--- a/gexiv2/gexiv2-startup.cpp ++++ b/gexiv2/gexiv2-startup.cpp +@@ -7,7 +7,7 @@ + * This is free software. See COPYING for details. + */ + +-#include ++#include + #include "gexiv2-startup.h" + #include "gexiv2-version.h" + +diff --git a/gexiv2/gexiv2-stream-io.cpp b/gexiv2/gexiv2-stream-io.cpp +index b772b74..454305d 100644 +--- a/gexiv2/gexiv2-stream-io.cpp ++++ b/gexiv2/gexiv2-stream-io.cpp +@@ -13,7 +13,7 @@ + #include "gexiv2-stream-io.h" + #include "gexiv2-managed-stream.h" + +-#include ++#include + #include + #include + #include +diff --git a/gexiv2/gexiv2-stream-io.h b/gexiv2/gexiv2-stream-io.h +index 430ac01..8d1fe76 100644 +--- a/gexiv2/gexiv2-stream-io.h ++++ b/gexiv2/gexiv2-stream-io.h +@@ -16,7 +16,7 @@ + #define GEXIV2_STREAM_IO_H + + #include +-#include ++#include + #include + + diff --git a/libgexiv2.spec b/libgexiv2.spec index 4333492..643217e 100644 --- a/libgexiv2.spec +++ b/libgexiv2.spec @@ -1,11 +1,13 @@ Name: libgexiv2 Version: 0.10.8 -Release: 5 +Release: 6 Summary: Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. License: GPLv2 URL: https://wiki.gnome.org/Projects/gexiv2 Source0: https://download.gnome.org/sources/gexiv2/0.10/gexiv2-%{version}.tar.xz +Patch1: 001-fix-build-with-exiv2-0.27.patch +Patch2: 002-replace-single-file-includes.patch #Dependency BuildRequires: gcc-c++ exiv2-devel gobject-introspection-devel BuildRequires: libtool python2-devel python2-gobject-base @@ -86,5 +88,8 @@ make %{?_smp_mflags} check %{python3_sitearch}/gi/overrides/GExiv2.py %changelog +* Wed Dec 01 2021 wangkai - 0.10.8-6 +- fix build with exiv2 0.27.5 + * Wed Jul 18 2018 openEuler Buildteam - 0.10.8-5 - Package init