Skip to content

Commit

Permalink
kde-apps/libkexiv2: Simplify and fix exiv2 version check in patch
Browse files Browse the repository at this point in the history
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
a17r committed Dec 27, 2018
1 parent 74c3433 commit 4554213
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 54 deletions.
65 changes: 11 additions & 54 deletions kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch
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

Expand All @@ -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})

Expand Down Expand Up @@ -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
)

Expand All @@ -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 #########################

Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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");
Expand Down
File renamed without changes.

0 comments on commit 4554213

Please sign in to comment.