summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2023-06-08 21:48:08 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2023-06-08 21:48:08 +0200
commit5fcdd88ce2c60819bbd2fe42e11eeab640376d0a (patch)
tree670cf318c8e1b965c2ebf503888da7c8b478a835 /media-gfx/kphotoalbum
parentmedia-gfx/darktable: fix whitespace, add bugref (diff)
downloadgentoo-5fcdd88ce2c60819bbd2fe42e11eeab640376d0a.tar.gz
gentoo-5fcdd88ce2c60819bbd2fe42e11eeab640376d0a.tar.bz2
gentoo-5fcdd88ce2c60819bbd2fe42e11eeab640376d0a.zip
media-gfx/kphotoalbum: Fix build with >=exiv2-0.28
Thanks-to: Tobias Leupold <tl@stonemx.de> Closes: https://bugs.gentoo.org/906469 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-gfx/kphotoalbum')
-rw-r--r--media-gfx/kphotoalbum/files/kphotoalbum-5.10.0-exiv2-0.28.patch147
-rw-r--r--media-gfx/kphotoalbum/kphotoalbum-5.10.0.ebuild2
2 files changed, 149 insertions, 0 deletions
diff --git a/media-gfx/kphotoalbum/files/kphotoalbum-5.10.0-exiv2-0.28.patch b/media-gfx/kphotoalbum/files/kphotoalbum-5.10.0-exiv2-0.28.patch
new file mode 100644
index 000000000000..2eea9495b735
--- /dev/null
+++ b/media-gfx/kphotoalbum/files/kphotoalbum-5.10.0-exiv2-0.28.patch
@@ -0,0 +1,147 @@
+diff --git a/DB/FileInfo.cpp b/DB/FileInfo.cpp
+index dc4c9819b62706c9c7bbfa21f3da7ef7d3f8b6d3..8b4e275c1765e718ed917cb41e7b221ed8d484ef 100644
+--- a/DB/FileInfo.cpp
++++ b/DB/FileInfo.cpp
+@@ -1,5 +1,6 @@
+ // SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
+ // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
++// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de>
+ //
+ // SPDX-License-Identifier: GPL-2.0-or-later
+
+@@ -13,6 +14,8 @@
+ #include <QFileInfo>
+ #include <QRegularExpression>
+
++#include <exiv2/version.hpp>
++
+ using namespace DB;
+
+ FileInfo FileInfo::read(const DB::FileName &fileName, DB::ExifMode mode)
+@@ -79,8 +82,14 @@ void DB::FileInfo::parseEXIV2(const DB::FileName &fileName)
+ const Exiv2::Exifdatum &datum = m_exifMap["Exif.Image.Orientation"];
+
+ int orientation = 0;
+- if (datum.count() > 0)
++ if (datum.count() > 0) {
++#if EXIV2_TEST_VERSION(0, 28, 0)
++ orientation = datum.toInt64();
++#else
+ orientation = datum.toLong();
++#endif
++ }
++
+ m_angle = orientationToAngle(orientation);
+ }
+
+diff --git a/lib/kpaexif/Database.cpp b/lib/kpaexif/Database.cpp
+index 4d0e228c72f5747f9d5b2a4e15871e2a11de4ed9..985713ceb53e60c3c17de80632f902a07ba94b14 100644
+--- a/lib/kpaexif/Database.cpp
++++ b/lib/kpaexif/Database.cpp
+@@ -1,6 +1,6 @@
+ // SPDX-FileCopyrightText: 2003-2020 The KPhotoAlbum Development Team
+-// SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
+-// SPDX-FileCopyrightText: 2022 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
++// SPDX-FileCopyrightText: 2021-2022 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
++// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de>
+ //
+ // SPDX-License-Identifier: GPL-2.0-or-later
+
+@@ -320,7 +320,7 @@ bool Exif::Database::add(const DB::FileName &fileName)
+ return false;
+
+ try {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data());
++ const auto image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data());
+ Q_ASSERT(image.get() != nullptr);
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+@@ -341,7 +341,7 @@ bool Exif::Database::add(const DB::FileNameList &list)
+
+ for (const DB::FileName &fileName : list) {
+ try {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data());
++ const auto image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data());
+ Q_ASSERT(image.get() != nullptr);
+ image->readMetadata();
+ map << DBExifInfo(fileName, image->exifData());
+diff --git a/lib/kpaexif/DatabaseElement.cpp b/lib/kpaexif/DatabaseElement.cpp
+index 4e7ba198e425e81c582c585bb184ec19c31d4985..3d5d56cfbe5028a8e148753979bdae3f0922008d 100644
+--- a/lib/kpaexif/DatabaseElement.cpp
++++ b/lib/kpaexif/DatabaseElement.cpp
+@@ -1,13 +1,15 @@
+-/* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
++// SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
++// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de>
++//
++// SPDX-License-Identifier: GPL-2.0-or-later
+
+- SPDX-License-Identifier: GPL-2.0-or-later
+-*/
+ #include "DatabaseElement.h"
+
+ #include <kpabase/Logging.h>
+
+ #include <QVariant>
+ #include <exiv2/exif.hpp>
++#include <exiv2/version.hpp>
+
+ static QString replaceDotWithUnderscore(const char *cstr)
+ {
+@@ -76,10 +78,15 @@ QString Exif::IntExifElement::queryString() const
+
+ QVariant Exif::IntExifElement::valueFromExif(Exiv2::ExifData &data) const
+ {
+- if (data[m_tag].count() > 0)
+- return QVariant { (int)data[m_tag].toLong() };
+- else
+- return QVariant { (int)0 };
++ if (data[m_tag].count() > 0) {
++#if EXIV2_TEST_VERSION(0, 28, 0)
++ return QVariant((int) data[m_tag].toInt64());
++#else
++ return QVariant((int) data[m_tag].toLong());
++#endif
++ } else {
++ return QVariant(0);
++ }
+ }
+
+ Exif::RationalExifElement::RationalExifElement(const char *tag)
+diff --git a/lib/kpaexif/Info.cpp b/lib/kpaexif/Info.cpp
+index 5f77fc8144516434465bd9f21ea2e885054aed37..162a05d14f3fbadd1d776d0eb10589a892bcf86c 100644
+--- a/lib/kpaexif/Info.cpp
++++ b/lib/kpaexif/Info.cpp
+@@ -1,5 +1,6 @@
+ // SPDX-FileCopyrightText: 2003-2020 The KPhotoAlbum Development Team
+ // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
++// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de>
+ //
+ // SPDX-License-Identifier: GPL-2.0-or-later
+
+@@ -16,7 +17,6 @@
+ #include <QTextCodec>
+ #include <exiv2/exv_conf.h>
+ #include <exiv2/image.hpp>
+-#include <exiv2/version.hpp>
+
+ using namespace Exif;
+
+@@ -166,7 +166,7 @@ Info::Info()
+ void Exif::writeExifInfoToFile(const DB::FileName &srcName, const QString &destName, const QString &imageDescription)
+ {
+ // Load Exif from source image
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data());
++ auto image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data());
+ image->readMetadata();
+ Exiv2::ExifData data = image->exifData();
+
+@@ -201,7 +201,7 @@ Exif::Metadata Exif::Info::metadata(const DB::FileName &fileName)
+ {
+ try {
+ Exif::Metadata result;
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data());
++ auto image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data());
+ Q_ASSERT(image.get() != nullptr);
+ image->readMetadata();
+ result.exif = image->exifData();
diff --git a/media-gfx/kphotoalbum/kphotoalbum-5.10.0.ebuild b/media-gfx/kphotoalbum/kphotoalbum-5.10.0.ebuild
index 84e92e1afc9c..6f0b4d7fe491 100644
--- a/media-gfx/kphotoalbum/kphotoalbum-5.10.0.ebuild
+++ b/media-gfx/kphotoalbum/kphotoalbum-5.10.0.ebuild
@@ -57,6 +57,8 @@ RDEPEND="${DEPEND}
DOCS=( CHANGELOG.{md,old} README.md )
+PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # git master, bug 906469
+
src_configure() {
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_QtAV=ON # bug 758641, last-rited