forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]>
- Loading branch information
Showing
2 changed files
with
11 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 <[email protected]> | ||
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"); | ||
|
File renamed without changes.