diff --git a/community/kphotoalbum/APKBUILD b/community/kphotoalbum/APKBUILD index a249fc194079fa843de9acb96b8267544d666b83..2e7ab56e506d0e410785954ec9bf06e51587dfa1 100644 --- a/community/kphotoalbum/APKBUILD +++ b/community/kphotoalbum/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Bart Ribbers <bribbers@disroot.org> pkgname=kphotoalbum pkgver=5.10.0 -pkgrel=0 +pkgrel=1 pkgdesc="KDE Photo Album, picture collection manager" url="https://kphotoalbum.org" # armhf blocked my extra-cmake-modules @@ -35,7 +35,9 @@ makedepends=" " checkdepends="xvfb-run" subpackages="$pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/kphotoalbum/$pkgver/kphotoalbum-$pkgver.tar.xz" +source="https://download.kde.org/stable/kphotoalbum/$pkgver/kphotoalbum-$pkgver.tar.xz + exiv2-0.28.patch + " build() { cmake -B build -G Ninja \ @@ -56,4 +58,5 @@ package() { sha512sums=" 6e6e3d3173f2783c05319c6a372553e92b97174a43307d2bd1fdfa0eb6751bab435e61e07e1c33496254e6f53dd95032adf002899c68475dac7af7ad575c28cc kphotoalbum-5.10.0.tar.xz +cbf1cfd3b9956a6a99ba6fcda8f2b2800d03a38171fdf1dd952fec820f84378aa0ea750760b92d4db3967924bdc5286a64624dfcb2b862567273d0f447f564b6 exiv2-0.28.patch " diff --git a/community/kphotoalbum/exiv2-0.28.patch b/community/kphotoalbum/exiv2-0.28.patch new file mode 100644 index 0000000000000000000000000000000000000000..455efe490f0928bace82f336025b1c8525f4160e --- /dev/null +++ b/community/kphotoalbum/exiv2-0.28.patch @@ -0,0 +1,115 @@ +Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/kphotoalbum/-/blob/ad00a492ca37a83c1d35d96480d64fe53966f00c/exiv2-0.28.patch +-- +diff --git a/DB/FileInfo.cpp b/DB/FileInfo.cpp +index dc4c9819..a04e2c0f 100644 +--- a/DB/FileInfo.cpp ++++ b/DB/FileInfo.cpp +@@ -13,6 +13,8 @@ + #include <QFileInfo> + #include <QRegularExpression> + ++#include <exiv2/version.hpp> ++ + using namespace DB; + + FileInfo FileInfo::read(const DB::FileName &fileName, DB::ExifMode mode) +@@ -80,7 +82,11 @@ void DB::FileInfo::parseEXIV2(const DB::FileName &fileName) + + int orientation = 0; + if (datum.count() > 0) ++#if EXIV2_TEST_VERSION(0,28,0) ++ orientation = datum.toUint32(); ++#else + orientation = datum.toLong(); ++#endif + m_angle = orientationToAngle(orientation); + } + +diff --git a/lib/kpaexif/Database.cpp b/lib/kpaexif/Database.cpp +index 4d0e228c..c34250ac 100644 +--- a/lib/kpaexif/Database.cpp ++++ b/lib/kpaexif/Database.cpp +@@ -21,6 +21,7 @@ + #include <QSqlQuery> + #include <exiv2/exif.hpp> + #include <exiv2/image.hpp> ++#include <exiv2/version.hpp> + + using namespace Exif; + +@@ -320,7 +321,11 @@ bool Exif::Database::add(const DB::FileName &fileName) + return false; + + try { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); ++#else + Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); ++#endif + Q_ASSERT(image.get() != nullptr); + image->readMetadata(); + Exiv2::ExifData &exifData = image->exifData(); +@@ -341,7 +346,11 @@ bool Exif::Database::add(const DB::FileNameList &list) + + for (const DB::FileName &fileName : list) { + try { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); ++#else + Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); ++#endif + 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 4e7ba198..94b3e1f8 100644 +--- a/lib/kpaexif/DatabaseElement.cpp ++++ b/lib/kpaexif/DatabaseElement.cpp +@@ -8,6 +8,7 @@ + + #include <QVariant> + #include <exiv2/exif.hpp> ++#include <exiv2/version.hpp> + + static QString replaceDotWithUnderscore(const char *cstr) + { +@@ -77,7 +78,11 @@ QString Exif::IntExifElement::queryString() const + QVariant Exif::IntExifElement::valueFromExif(Exiv2::ExifData &data) const + { + if (data[m_tag].count() > 0) ++#if EXIV2_TEST_VERSION(0,28,0) ++ return QVariant { (int)data[m_tag].toUint32() }; ++#else + return QVariant { (int)data[m_tag].toLong() }; ++#endif + else + return QVariant { (int)0 }; + } +diff --git a/lib/kpaexif/Info.cpp b/lib/kpaexif/Info.cpp +index 5f77fc81..2e7024d6 100644 +--- a/lib/kpaexif/Info.cpp ++++ b/lib/kpaexif/Info.cpp +@@ -166,7 +166,11 @@ Info::Info() + void Exif::writeExifInfoToFile(const DB::FileName &srcName, const QString &destName, const QString &imageDescription) + { + // Load Exif from source image ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); ++#else + Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); ++#endif + image->readMetadata(); + Exiv2::ExifData data = image->exifData(); + +@@ -201,7 +205,11 @@ Exif::Metadata Exif::Info::metadata(const DB::FileName &fileName) + { + try { + Exif::Metadata result; ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); ++#else + Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); ++#endif + Q_ASSERT(image.get() != nullptr); + image->readMetadata(); + result.exif = image->exifData();