From 455421376127a35d53d5b0c3ee781b0815ac8aed Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Thu, 27 Dec 2018 01:15:49 +0100 Subject: [PATCH] kde-apps/libkexiv2: Simplify and fix exiv2 version check in patch Revbump for header fix. Closes: https://bugs.gentoo.org/673770 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner --- .../files/libkexiv2-18.12.0-exiv2-0.27.patch | 65 ++++--------------- ...2.0.ebuild => libkexiv2-18.12.0-r1.ebuild} | 0 2 files changed, 11 insertions(+), 54 deletions(-) rename kde-apps/libkexiv2/{libkexiv2-18.12.0.ebuild => libkexiv2-18.12.0-r1.ebuild} (100%) diff --git a/kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch b/kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch index 65bb8f4a4aa7b..176fcb3ba1233 100644 --- a/kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch +++ b/kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch @@ -1,11 +1,10 @@ -From 27c6834e4e984c34a55fad313c26fe08d9dd35b0 Mon Sep 17 00:00:00 2001 +From 3b697b880877c29cd865f101bddca6ce21bf8953 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner -Date: Tue, 25 Dec 2018 16:52:26 +0100 +Date: Thu, 27 Dec 2018 01:05:17 +0100 Subject: [PATCH] Fix building against exiv2-0.27 Summary: Copied FindLibExiv2.cmake from ECM 5.53.0 until we raise min version. -Bumped cmake to 3.7 minimum for VERSION_GREATER_EQUAL. Test Plan: Tested build with exiv2-0.26 and 0.27 @@ -15,35 +14,20 @@ Subscribers: heikobecker Differential Revision: https://phabricator.kde.org/D17799 --- - CMakeLists.txt | 36 ++++---- - cmake/modules/FindExiv2.cmake | 80 ------------------ - cmake/modules/FindLibExiv2.cmake | 115 ++++++++++++++++++++++++++ + CMakeLists.txt | 30 ++----- cmake/templates/libkexiv2.pc.cmake.in | 2 +- - config-kexiv2.h.cmake | 4 + src/CMakeLists.txt | 3 +- src/kexiv2.cpp | 2 +- - src/kexiv2.h | 1 + src/kexiv2_p.cpp | 17 +--- src/kexiv2_p.h | 1 + src/kexiv2exif.cpp | 4 + - 11 files changed, 147 insertions(+), 118 deletions(-) - delete mode 100644 cmake/modules/FindExiv2.cmake - create mode 100644 cmake/modules/FindLibExiv2.cmake - create mode 100644 config-kexiv2.h.cmake + 7 files changed, 136 insertions(+), 118 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index d13ef27..fcda905 100644 +index d13ef27..e9cd06e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -4,14 +4,14 @@ - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. - --set(CMAKE_MIN_VERSION "3.0.0") -+set(CMAKE_MIN_VERSION "3.7.0") - set(ECM_MIN_VERSION "1.1.0") - set(REQUIRED_QT_VERSION "5.2.0") - set(EXIV2_MIN_VERSION "0.24") +@@ -11,7 +11,7 @@ set(EXIV2_MIN_VERSION "0.24") cmake_minimum_required(VERSION ${CMAKE_MIN_VERSION}) @@ -85,7 +69,7 @@ index d13ef27..fcda905 100644 ############## Find Packages ################### find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS -@@ -84,20 +85,13 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS +@@ -84,20 +85,7 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Gui ) @@ -96,19 +80,14 @@ index d13ef27..fcda905 100644 - TYPE RECOMMENDED - PURPOSE "Library to manage image metadata" -) -+find_package(LibExiv2 ${EXIV2_MIN_VERSION} REQUIRED) - +- -ecm_setup_version(${LIBKEXIV2_LIB_VERSION} - VARIABLE_PREFIX KEXIV2 - VERSION_HEADER "src/libkexiv2_version.h" - PACKAGE_VERSION_FILE "KF5KExiv2ConfigVersion.cmake" - SOVERSION ${LIBKEXIV2_SO_VERSION} -) -+if (LibExiv2_VERSION VERSION_GREATER_EQUAL "0.27") -+ set(HAVE_LIBEXIV2_0_27 TRUE) -+endif() -+ -+configure_file(config-kexiv2.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kexiv2.h) ++find_package(LibExiv2 ${EXIV2_MIN_VERSION} REQUIRED) ############## Targets ######################### @@ -124,16 +103,6 @@ index 1df60df..e80e0ec 100644 +Version: ${libkexiv2_VERSION} Libs: -L${LIB_INSTALL_DIR} -lkexiv2 Cflags: -I${INCLUDE_INSTALL_DIR} -diff --git a/config-kexiv2.h.cmake b/config-kexiv2.h.cmake -new file mode 100644 -index 0000000..40992bd ---- /dev/null -+++ b/config-kexiv2.h.cmake -@@ -0,0 +1,4 @@ -+/* config-kexiv2.h. Generated by cmake from config-kexiv2.h.cmake */ -+ -+/* Defined if we have libexiv2 >= 0.27 */ -+#cmakedefine HAVE_LIBEXIV2_0_27 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2b2df03..8ac18f5 100644 --- a/src/CMakeLists.txt @@ -168,18 +137,6 @@ index 04c4aa4..b7bbc1a 100644 } QString KExiv2::version() -diff --git a/src/kexiv2.h b/src/kexiv2.h -index bebddb5..02a5c9c 100644 ---- a/src/kexiv2.h -+++ b/src/kexiv2.h -@@ -51,6 +51,7 @@ - - #include "libkexiv2_export.h" - #include "kexiv2data.h" -+#include "../config-kexiv2.h" - - namespace KExiv2Iface - { diff --git a/src/kexiv2_p.cpp b/src/kexiv2_p.cpp index cb6b134..2a287ab 100644 --- a/src/kexiv2_p.cpp @@ -233,14 +190,14 @@ index ddf8f6d..c73fbbf 100644 // Check if Exiv2 support XMP diff --git a/src/kexiv2exif.cpp b/src/kexiv2exif.cpp -index 11c8948..3093b70 100644 +index 11c8948..52cd1a4 100644 --- a/src/kexiv2exif.cpp +++ b/src/kexiv2exif.cpp @@ -987,7 +987,11 @@ bool KExiv2::setTiffThumbnail(const QImage& thumbImage, bool setProgramName) con if (pos == d->exifMetadata().end() || pos->count() != 1 || pos->toLong() != 0) { -+#ifdef HAVE_LIBEXIV2_0_27 ++#if EXIV2_TEST_VERSION(0,27,0) + throw Exiv2::Error(Exiv2::kerErrorMessage, "Exif.Image.NewSubfileType missing or not set as main image"); +#else throw Exiv2::Error(1, "Exif.Image.NewSubfileType missing or not set as main image"); diff --git a/kde-apps/libkexiv2/libkexiv2-18.12.0.ebuild b/kde-apps/libkexiv2/libkexiv2-18.12.0-r1.ebuild similarity index 100% rename from kde-apps/libkexiv2/libkexiv2-18.12.0.ebuild rename to kde-apps/libkexiv2/libkexiv2-18.12.0-r1.ebuild