summaryrefslogtreecommitdiff
path: root/kde-apps/libkexiv2
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/libkexiv2')
-rw-r--r--kde-apps/libkexiv2/Manifest3
-rw-r--r--kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch210
-rw-r--r--kde-apps/libkexiv2/libkexiv2-18.12.0-r1.ebuild (renamed from kde-apps/libkexiv2/libkexiv2-18.12.0.ebuild)3
3 files changed, 215 insertions, 1 deletions
diff --git a/kde-apps/libkexiv2/Manifest b/kde-apps/libkexiv2/Manifest
index a420cab0c58b..b0e329459417 100644
--- a/kde-apps/libkexiv2/Manifest
+++ b/kde-apps/libkexiv2/Manifest
@@ -1,5 +1,6 @@
+AUX libkexiv2-18.12.0-exiv2-0.27.patch 7827 BLAKE2B b16eef536dd2517a62de9561bf810cc2b2c404baa6b6c17750bba4f1880b1615cfaa0301983a009654bbcc8cc7b6f19704992e5a7dcb4151f266e6b83b4d38c4 SHA512 aa23336c5667c9bb6610e5c88f713c14f5aae187526faf1e65f92e5258faf50d6f7926b1b0b6deeed9874cc024061a0adae0ff6f4896ede1495678cadd9b368f
DIST libkexiv2-18.08.3.tar.xz 64504 BLAKE2B b29645239bc1523bb363e04ab0449563f4c9550887c359b9a55414682e850289f80e85088c043a756d34dc83bb3b0c6cc9975cd4e5a513b80fbf4d6f93870d6e SHA512 eef3fbb5942823d23d276f56a1e9187b5142331485a4fb7d7e419f4af5504659c5a755f64e4cdf2a9bef6ae499126672ed5627c0fca7ef56fac7dc6a12794143
DIST libkexiv2-18.12.0.tar.xz 64528 BLAKE2B 697c88fdf36c04dc874ad3625eb7bf699604630d35cf5f7e81ee40f269a54a2e03e837479b0e66c50f79aa9a646128f0b4588e2a7d5ffba091bd3c2f30a410a0 SHA512 8fc7a46b5814e6ac2013630e41dcb209074ea7765dd65343ed8e0d25216987f5262a77dbf1736eec31dfbfe05be730efab3474ac3689ca20ac94f363976a9d5a
EBUILD libkexiv2-18.08.3.ebuild 353 BLAKE2B 2e6b4be08764403b6fe046b37908a1684e3a95f4f23a9c5e4fbc3f1c2e870362f43b7528d8e433940c6b40879eab4820616f28a1956dd7ef6d05dfbd6237b7ea SHA512 33ba8badebe5fa55e2dc648ddb2a304274ebf6a5ab71de0ea23712757ee7e8e9133027d77b283cc46e45f07a1779eb325e7dcd33c03979f370c6ec10ee769fff
-EBUILD libkexiv2-18.12.0.ebuild 355 BLAKE2B 3111ec03b5f3cf1752e53c68f44b3d035be494acf25711ea1b5a3178fa064e217944ef9d0fbcb88f308c3dd9e861dfd1ade03391e0c3faebe9de652c1f59fb3b SHA512 7242a7128c1b56d3ff203e4cabbf0c64ef9ce93aa105a9e26aa447926b506cb23637e3e9dd12c71330fa257ce64bf1b85a8c5635b51bf5ddca43e65ec88a20c5
+EBUILD libkexiv2-18.12.0-r1.ebuild 432 BLAKE2B bdd98454dc04cec92e69a77afc2cc020ba614d1ec5f45beb6dcb5f3659c3a7972d67653cd30e28fa5dc95642dea972975ca3319d3a1acbb7ee0f9fc6bb262d97 SHA512 4f875fe797aab12afcfc7ede5e0670138d19b10a180d9be5c67178ffd1bfc6c4fd5e853cdb93a5cddc3c9d738420129029d9a8ab3bacd99b05798bc20915f6a7
MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3
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
new file mode 100644
index 000000000000..176fcb3ba123
--- /dev/null
+++ b/kde-apps/libkexiv2/files/libkexiv2-18.12.0-exiv2-0.27.patch
@@ -0,0 +1,210 @@
+From 3b697b880877c29cd865f101bddca6ce21bf8953 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+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.
+
+Test Plan: Tested build with exiv2-0.26 and 0.27
+
+Reviewers: #kde_applications, cgilles
+
+Subscribers: heikobecker
+
+Differential Revision: https://phabricator.kde.org/D17799
+---
+ CMakeLists.txt | 30 ++-----
+ cmake/templates/libkexiv2.pc.cmake.in | 2 +-
+ src/CMakeLists.txt | 3 +-
+ src/kexiv2.cpp | 2 +-
+ src/kexiv2_p.cpp | 17 +---
+ src/kexiv2_p.h | 1 +
+ src/kexiv2exif.cpp | 4 +
+ 7 files changed, 136 insertions(+), 118 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d13ef27..e9cd06e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,7 +11,7 @@ set(EXIV2_MIN_VERSION "0.24")
+
+ cmake_minimum_required(VERSION ${CMAKE_MIN_VERSION})
+
+-project(libkexiv2)
++project(libkexiv2 VERSION "5.0.0")
+
+ message(STATUS "----------------------------------------------------------------------------------")
+ message(STATUS "Starting CMake configuration for: ${PROJECT_NAME}")
+@@ -47,18 +47,12 @@ message(STATUS "Starting CMake configuration for: ${PROJECT_NAME}")
+ # 2.4.0 => 11.3.0 - Add new method to access on text edit widget from AltLangStrEdit
+ # 5.0.0 => 15.0.0 (Released with KDE 5.x)
+
+-# Library API version
+-set(KEXIV2_LIB_MAJOR_VERSION "5")
+-set(KEXIV2_LIB_MINOR_VERSION "0")
+-set(KEXIV2_LIB_PATCH_VERSION "0")
+-
+ # Library ABI version used by linker.
+ # For details : http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
+ set(KEXIV2_LIB_SO_CUR_VERSION "15")
+ set(KEXIV2_LIB_SO_REV_VERSION "0")
+ set(KEXIV2_LIB_SO_AGE_VERSION "0")
+
+-set(LIBKEXIV2_LIB_VERSION "${KEXIV2_LIB_MAJOR_VERSION}.${KEXIV2_LIB_MINOR_VERSION}.${KEXIV2_LIB_PATCH_VERSION}")
+ set(LIBKEXIV2_SO_VERSION "${KEXIV2_LIB_SO_CUR_VERSION}.${KEXIV2_LIB_SO_REV_VERSION}.${KEXIV2_LIB_SO_AGE_VERSION}")
+
+ ############## ECM setup ######################
+@@ -77,6 +71,13 @@ include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
+ include(GenerateExportHeader)
+ include(FeatureSummary)
+
++ecm_setup_version(${libkexiv2_VERSION}
++ VARIABLE_PREFIX KEXIV2
++ VERSION_HEADER "src/libkexiv2_version.h"
++ PACKAGE_VERSION_FILE "KF5KExiv2ConfigVersion.cmake"
++ SOVERSION ${LIBKEXIV2_SO_VERSION}
++)
++
+ ############## Find Packages ###################
+
+ 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
+ )
+
+-find_package(Exiv2 ${EXIV2_MIN_VERSION} REQUIRED)
+-set_package_properties("Exiv2" PROPERTIES
+- DESCRIPTION "Required to build libkexiv2"
+- URL "http://www.exiv2.org"
+- TYPE RECOMMENDED
+- PURPOSE "Library to manage image metadata"
+-)
+-
+-ecm_setup_version(${LIBKEXIV2_LIB_VERSION}
+- VARIABLE_PREFIX KEXIV2
+- VERSION_HEADER "src/libkexiv2_version.h"
+- PACKAGE_VERSION_FILE "KF5KExiv2ConfigVersion.cmake"
+- SOVERSION ${LIBKEXIV2_SO_VERSION}
+-)
++find_package(LibExiv2 ${EXIV2_MIN_VERSION} REQUIRED)
+
+ ############## Targets #########################
+
+diff --git a/cmake/templates/libkexiv2.pc.cmake.in b/cmake/templates/libkexiv2.pc.cmake.in
+index 1df60df..e80e0ec 100644
+--- a/cmake/templates/libkexiv2.pc.cmake.in
++++ b/cmake/templates/libkexiv2.pc.cmake.in
+@@ -7,6 +7,6 @@ Name: ${PROJECT_NAME}
+ Description: A C++ library to manipulate EXIF/IPTC/XMP metadata using Exiv2 library.
+ URL: https://cgit.kde.org/libkexiv2.git/
+ Requires:
+-Version: ${KEXIV2_LIB_VERSION_STRING}
++Version: ${libkexiv2_VERSION}
+ Libs: -L${LIB_INSTALL_DIR} -lkexiv2
+ Cflags: -I${INCLUDE_INSTALL_DIR}
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2b2df03..8ac18f5 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -6,7 +6,6 @@
+
+ kde_enable_exceptions()
+
+-include_directories(${EXIV2_INCLUDE_DIR})
+ include_directories(${CMAKE_CURRENT_BINARY_DIR}/..)
+
+ add_definitions(${EXIV2_DEFINITIONS})
+@@ -55,7 +54,7 @@ target_include_directories(KF5KExiv2 INTERFACE
+
+ target_link_libraries(KF5KExiv2
+ PRIVATE
+- ${EXIV2_LIBRARIES}
++ LibExiv2::LibExiv2
+ PUBLIC
+ Qt5::Core
+ Qt5::Gui
+diff --git a/src/kexiv2.cpp b/src/kexiv2.cpp
+index 04c4aa4..b7bbc1a 100644
+--- a/src/kexiv2.cpp
++++ b/src/kexiv2.cpp
+@@ -153,7 +153,7 @@ QString KExiv2::Exiv2Version()
+ // Since 0.14.0 release, we can extract run-time version of Exiv2.
+ // else we return make version.
+
+- return QString::fromLatin1(Exiv2::version());
++ return QString::fromStdString(Exiv2::versionString());
+ }
+
+ QString KExiv2::version()
+diff --git a/src/kexiv2_p.cpp b/src/kexiv2_p.cpp
+index cb6b134..2a287ab 100644
+--- a/src/kexiv2_p.cpp
++++ b/src/kexiv2_p.cpp
+@@ -124,19 +124,15 @@ bool KExiv2::Private::saveToFile(const QFileInfo& finfo) const
+
+ QStringList rawTiffBasedSupported, rawTiffBasedNotSupported;
+
+- // Raw files supported by Exiv2 0.21
++ // Raw files supported by Exiv2 0.23
+ rawTiffBasedSupported << QString::fromLatin1("dng")
+ << QString::fromLatin1("nef")
+ << QString::fromLatin1("pef")
+ << QString::fromLatin1("orf")
+- << QString::fromLatin1("srw");
++ << QString::fromLatin1("srw")
++ << QString::fromLatin1("cr2");
+
+- if (Exiv2::testVersion(0,23,0))
+- {
+- rawTiffBasedSupported << QString::fromLatin1("cr2");
+- }
+-
+- // Raw files not supported by Exiv2 0.21
++ // Raw files not supported by Exiv2 0.23
+ rawTiffBasedNotSupported << QString::fromLatin1("3fr")
+ << QString::fromLatin1("arw")
+ << QString::fromLatin1("dcr")
+@@ -149,11 +145,6 @@ bool KExiv2::Private::saveToFile(const QFileInfo& finfo) const
+ << QString::fromLatin1("srf")
+ << QString::fromLatin1("rw2");
+
+- if (!Exiv2::testVersion(0,23,0))
+- {
+- rawTiffBasedNotSupported << QString::fromLatin1("cr2");
+- }
+-
+ QString ext = finfo.suffix().toLower();
+
+ if (!writeRawFiles && (rawTiffBasedSupported.contains(ext) || rawTiffBasedNotSupported.contains(ext)) )
+diff --git a/src/kexiv2_p.h b/src/kexiv2_p.h
+index ddf8f6d..c73fbbf 100644
+--- a/src/kexiv2_p.h
++++ b/src/kexiv2_p.h
+@@ -71,6 +71,7 @@
+ #include <exiv2/properties.hpp>
+ #include <exiv2/types.hpp>
+ #include <exiv2/exif.hpp>
++#include <exiv2/exiv2.hpp>
+ #include <exiv2/xmpsidecar.hpp>
+
+ // Check if Exiv2 support XMP
+diff --git a/src/kexiv2exif.cpp b/src/kexiv2exif.cpp
+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)
+ {
++#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");
++#endif
+ }
+
+ // Remove sub-IFD tags
+--
+2.20.1
+
diff --git a/kde-apps/libkexiv2/libkexiv2-18.12.0.ebuild b/kde-apps/libkexiv2/libkexiv2-18.12.0-r1.ebuild
index d1c1eda8fde7..286798e5a355 100644
--- a/kde-apps/libkexiv2/libkexiv2-18.12.0.ebuild
+++ b/kde-apps/libkexiv2/libkexiv2-18.12.0-r1.ebuild
@@ -3,6 +3,7 @@
EAPI=6
+FRAMEWORKS_MINIMAL="5.53.0"
KDE_BLOCK_SLOT4="false"
inherit kde5
@@ -16,3 +17,5 @@ DEPEND="
>=media-gfx/exiv2-0.25:=[xmp=]
"
RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-exiv2-0.27.patch" )