https://github.com/KDE/krename/commit/b22de9135ba2a5abdbd2b275a60933a50f074010
https://gitweb.gentoo.org/repo/gentoo.git/tree/kde-misc/krename/files/krename-5.0.0-exiv2-0.27.patch


From ec90823494f5ec9bb2e8098f44209f383ef8c22a Mon Sep 17 00:00:00 2001
From: Heiko Becker <heirecka@exherbo.org>
Date: Tue, 20 Nov 2018 18:24:29 +0100
Subject: Use #cmakedefine01 instead of macro_bool_to_01

---
 CMakeLists.txt                    | 13 +++++--------
 config-krename.h.cmake            | 10 +++++-----
 3 files changed, 10 insertions(+), 33 deletions(-)
 delete mode 100644 cmake/modules/MacroBoolTo01.cmake

--- CMakeLists.txt
+++ CMakeLists.txt
@@ -80,13 +80,10 @@ set_package_properties(Freetype PROPERTIES
 
 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
-
-# Update configuration
-include(MacroBoolTo01)
-macro_bool_to_01(TAGLIB_FOUND HAVE_TAGLIB)
-macro_bool_to_01(EXIV2_FOUND HAVE_EXIV2)
-macro_bool_to_01(PoDoFo_FOUND HAVE_PODOFO)
-macro_bool_to_01(FREETYPE_FOUND HAVE_FREETYPE)
+set(HAVE_TAGLIB ${TAGLIB_FOUND})
+set(HAVE_EXIV2 ${LibExiv2_FOUND})
+set(HAVE_PODOFO ${PoDoFo_FOUND})
+set(HAVE_FREETYPE ${FREETYPE_FOUND})
 configure_file(config-krename.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-krename.h)
 
 # Directories
--- config-krename.h.cmake
+++ config-krename.h.cmake
@@ -1,15 +1,15 @@
 /* config.h. Generated by cmake from config.h.cmake */
 
 /* have TagLib */
-#define HAVE_TAGLIB ${HAVE_TAGLIB}
+#cmakedefine01 HAVE_TAGLIB
 
 /* have Exiv2 */
-#define HAVE_EXIV2 ${HAVE_EXIV2}
+#cmakedefine01 HAVE_EXIV2
 
 /* have PoDoFo */
-#define HAVE_PODOFO ${HAVE_PODOFO}
+#cmakedefine01 HAVE_PODOFO
 
 /* have Freetype */
-#define HAVE_FREETYPE ${HAVE_FREETYPE}
+#cmakedefine01 HAVE_FREETYPE
 
-#define VERSION "${KRENAME_VERSION}"
+#define VERSION "${krename_VERSION}"
-- 
cgit v1.1

From b22de9135ba2a5abdbd2b275a60933a50f074010 Mon Sep 17 00:00:00 2001
From: Heiko Becker <heirecka@exherbo.org>
Date: Tue, 20 Nov 2018 18:26:47 +0100
Subject: Fix building against exiv2-0.27

One neeeded part is to copy over the new FindLibExiv2 module from
ECM which has not appeared in a release yet (it will with 5.53.0).
I'll probably add that version as a requirement and remove the copy
again in the near future.
The other part includes raising the cmake version requirement to
3.7.0, which was released over 2 years ago. (The version comparison
could be easily solved differently and less elegantly, but let's see
if people with ancient cmakes complain).
---
 CMakeLists.txt                   |  15 ++---
 config-krename.h.cmake           |   3 +
 src/CMakeLists.txt               |   8 +--
 src/exiv2plugin.cpp              |   8 ++-
 6 files changed, 137 insertions(+), 91 deletions(-)
 delete mode 100644 cmake/modules/FindExiv2.cmake
 create mode 100644 cmake/modules/FindLibExiv2.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -1,4 +1,5 @@
-project(krename)
 
-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.7)
+
+project(krename VERSION "5.0.0")
 
@@ -39,10 +40,6 @@ add_definitions(
     -DQT_STRICT_ITERATORS
 )
 
-set(KRENAME_VERSION "5.0.0")
-
-include(FindGettext)
-
 # Find taglib
 set(TAGLIB_MIN_VERSION "1.5")
 find_package(Taglib ${TAGLIB_MIN_VERSION})
@@ -58,11 +55,12 @@ set_package_properties(Taglib PROPERTIES
     TYPE OPTIONAL)
 
 # Find exiv2
-find_package(Exiv2 0.13) # AccessMode was added in 0.13
-set_package_properties(Exiv2 PROPERTIES
-    DESCRIPTION "A library to access image metadata"
-    URL "http://www.exiv2.org"
-    TYPE OPTIONAL)
+find_package(LibExiv2 0.13) # AccessMode was added in 0.13
+set_package_properties(LibExiv2 PROPERTIES TYPE OPTIONAL)
+
+if (LibExiv2_VERSION VERSION_GREATER_EQUAL "0.27")
+    set(HAVE_LIBEXIV2_0_27 TRUE)
+endif()
 
 # Find podofo
 find_package(PoDoFo)
--- config-krename.h.cmake
+++ config-krename.h.cmake
@@ -6,6 +6,9 @@
 /* have Exiv2 */
 #cmakedefine01 HAVE_EXIV2
 
+/* Defined if we have libexiv2 >= 0.27 */
+#cmakedefine HAVE_LIBEXIV2_0_27
+
 /* have PoDoFo */
 #cmakedefine01 HAVE_PODOFO
 
--- src/CMakeLists.txt
+++ src/CMakeLists.txt
@@ -23,7 +23,10 @@ if(FREETYPE_FOUND)
     include_directories(${FREETYPE_INCLUDE_DIRS})
 endif()
 
-add_definitions(${TAGLIB_CFLAGS} ${EXIV2_CFLAGS})
+add_definitions(${TAGLIB_CFLAGS})
+if(NOT TAGLIB_LIBRARIES)
+    set(TAGLIB_LIBRARIES Taglib::Taglib)
+endif()
 # Exiv2 needs exceptions
 kde_enable_exceptions()
 
@@ -67,7 +67,7 @@ set(krename_SRCS
     snumplugin.cpp
 )
 
-if(EXIV2_FOUND)
+if(LibExiv2_FOUND)
     set(krename_SRCS ${krename_SRCS}
         exiv2plugin.cpp
     )
@@ -128,12 +128,12 @@ target_link_libraries(krename
 )
 if(TAGLIB_FOUND)
     target_link_libraries(krename
         ${TAGLIB_LIBRARIES}
     )
 endif()
-if(EXIV2_FOUND)
+if(LibExiv2_FOUND)
     target_link_libraries(krename
-        ${EXIV2_LIBRARIES}
+        LibExiv2::LibExiv2
     )
 endif()
 if(PoDoFo_FOUND)
--- src/exiv2plugin.cpp
+++ src/exiv2plugin.cpp
@@ -17,13 +17,19 @@
 
 #include "exiv2plugin.h"
 
+#include "../config-krename.h"
+
 #include <KLocalizedString>
 
 #include <exiv2/error.hpp>
 #include <exiv2/exif.hpp>
 #include <exiv2/image.hpp>
 #include <exiv2/iptc.hpp>
-#include <exiv2/xmp.hpp>
+#ifdef HAVE_LIBEXIV2_0_27
+    #include <exiv2/xmp_exiv2.hpp>
+#else
+    #include <exiv2/xmp.hpp>
+#endif
 #include <exiv2/tags.hpp>
 
 #include "batchrenamer.h"
-- 
cgit v1.1
