commit:     3992bff6418317bb8d58bded14e977d8df15fa94
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 16:59:35 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat May 20 18:02:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3992bff6

kde-frameworks/kfilemetadata: Fix build with >=exiv2-0.28

Closes: https://bugs.gentoo.org/906090
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/kfilemetadata-5.106.0-exiv2-0.28.patch   | 40 ++++++++++++++++++++++
 .../kfilemetadata/kfilemetadata-5.106.0.ebuild     |  2 ++
 2 files changed, 42 insertions(+)

diff --git 
a/kde-frameworks/kfilemetadata/files/kfilemetadata-5.106.0-exiv2-0.28.patch 
b/kde-frameworks/kfilemetadata/files/kfilemetadata-5.106.0-exiv2-0.28.patch
new file mode 100644
index 000000000000..7c8b3012efc6
--- /dev/null
+++ b/kde-frameworks/kfilemetadata/files/kfilemetadata-5.106.0-exiv2-0.28.patch
@@ -0,0 +1,40 @@
+From 6fcce03cfd85fffbe6d7701506de49c5987fdbe5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <[email protected]>
+Date: Thu, 18 May 2023 02:03:56 +0200
+Subject: [PATCH] Fix build with exiv2 >= 0.28
+
+---
+ src/extractors/exiv2extractor.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/extractors/exiv2extractor.cpp 
b/src/extractors/exiv2extractor.cpp
+index d39247b9..469a6325 100644
+--- a/src/extractors/exiv2extractor.cpp
++++ b/src/extractors/exiv2extractor.cpp
+@@ -75,7 +75,11 @@ QVariant toVariantDateTime(const Exiv2::Value& value)
+ QVariant toVariantLong(const Exiv2::Value& value)
+ {
+     if (value.typeId() == Exiv2::unsignedLong || value.typeId() == 
Exiv2::signedLong) {
++#if EXIV2_TEST_VERSION(0,28,0)
++        qlonglong val = value.toInt64();
++#else
+         qlonglong val = value.toLong();
++#endif
+         return QVariant(val);
+     }
+ 
+@@ -310,7 +314,11 @@ double Exiv2Extractor::fetchGpsAltitude(const 
Exiv2::ExifData& data)
+         it = data.findKey(Exiv2::ExifKey("Exif.GPSInfo.GPSAltitudeRef"));
+         if (it != data.end() && it->count() > 0 &&
+             (it->value().typeId() == Exiv2::unsignedByte || 
it->value().typeId() == Exiv2::signedByte)) {
++#if EXIV2_TEST_VERSION(0,28,0)
++            auto altRef = it->value().toInt64();
++#else
+             auto altRef = it->value().toLong();
++#endif
+             if (altRef) {
+                 alt = -1.0 * ratio.first / ratio.second;
+             } else {
+-- 
+GitLab
+

diff --git a/kde-frameworks/kfilemetadata/kfilemetadata-5.106.0.ebuild 
b/kde-frameworks/kfilemetadata/kfilemetadata-5.106.0.ebuild
index 8cef200205be..42a73324ab29 100644
--- a/kde-frameworks/kfilemetadata/kfilemetadata-5.106.0.ebuild
+++ b/kde-frameworks/kfilemetadata/kfilemetadata-5.106.0.ebuild
@@ -33,6 +33,8 @@ DEPEND="${RDEPEND}
 "
 BDEPEND="test? ( ${PYTHON_DEPS} )"
 
+PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # bug 906090
+
 pkg_setup() {
        use test && python-any-r1_pkg_setup
        ecm_pkg_setup

Reply via email to