diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2023-05-22 19:32:11 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2023-05-22 19:32:11 +0200 |
commit | bc7d8c325d342435ed3d3f52627f3ea46d472835 (patch) | |
tree | 5a1a988794c6211c6915944fb1522e4a4fd5da2e /kde-apps | |
parent | sys-apps/system-monitoring-center: drop old 2.13.0 (diff) | |
download | gentoo-bc7d8c325d342435ed3d3f52627f3ea46d472835.tar.gz gentoo-bc7d8c325d342435ed3d3f52627f3ea46d472835.tar.bz2 gentoo-bc7d8c325d342435ed3d3f52627f3ea46d472835.zip |
kde-apps/gwenview: Fix build with >=exiv2-0.28
Closes: https://bugs.gentoo.org/906467
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps')
-rw-r--r-- | kde-apps/gwenview/files/gwenview-23.04.1-exiv2-0.28.patch | 83 | ||||
-rw-r--r-- | kde-apps/gwenview/gwenview-23.04.1.ebuild | 2 |
2 files changed, 85 insertions, 0 deletions
diff --git a/kde-apps/gwenview/files/gwenview-23.04.1-exiv2-0.28.patch b/kde-apps/gwenview/files/gwenview-23.04.1-exiv2-0.28.patch new file mode 100644 index 000000000000..dde9b1c2321e --- /dev/null +++ b/kde-apps/gwenview/files/gwenview-23.04.1-exiv2-0.28.patch @@ -0,0 +1,83 @@ +From a7275c90bf51a352783c723116a716af419896f4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch> +Date: Sun, 21 May 2023 01:09:59 +0200 +Subject: [PATCH] Fix build with exiv2 >= 0.28 + +--- + lib/jpegcontent.cpp | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/lib/jpegcontent.cpp b/lib/jpegcontent.cpp +index 284fb6e61..286333f69 100644 +--- a/lib/jpegcontent.cpp ++++ b/lib/jpegcontent.cpp +@@ -301,7 +301,11 @@ Orientation JpegContent::orientation() const + if (it == d->mExifData.end() || it->count() == 0 || it->typeId() != Exiv2::unsignedShort) { + return NOT_AVAILABLE; + } ++#if EXIV2_TEST_VERSION(0,28,0) ++ return Orientation(it->toUint32()); ++#else + return Orientation(it->toLong()); ++#endif + } + + int JpegContent::dotsPerMeterX() const +@@ -321,7 +325,11 @@ int JpegContent::dotsPerMeter(const QString &keyName) const + if (it == d->mExifData.end()) { + return 0; + } ++#if EXIV2_TEST_VERSION(0,28,0) ++ int res = it->toUint32(); ++#else + int res = it->toLong(); ++#endif + QString keyVal = QStringLiteral("Exif.Image.") + keyName; + Exiv2::ExifKey keyResolution(keyVal.toLocal8Bit().data()); + it = d->mExifData.findKey(keyResolution); +@@ -337,9 +345,17 @@ int JpegContent::dotsPerMeter(const QString &keyName) const + const float INCHESPERMETER = (100. / 2.54); + switch (res) { + case 3: // dots per cm ++#if EXIV2_TEST_VERSION(0,28,0) ++ return int(it->toUint32() * 100); ++#else + return int(it->toLong() * 100); ++#endif + default: // dots per inch ++#if EXIV2_TEST_VERSION(0,28,0) ++ return int(it->toUint32() * INCHESPERMETER); ++#else + return int(it->toLong() * INCHESPERMETER); ++#endif + } + + return 0; +@@ -568,15 +584,24 @@ QImage JpegContent::thumbnail() const + auto it = d->mExifData.findKey(Exiv2::ExifKey("Exif.Canon.ThumbnailImageValidArea")); + // ensure ThumbnailImageValidArea actually specifies a rectangle, i.e. there must be 4 coordinates + if (it != d->mExifData.end() && it->count() == 4) { ++#if EXIV2_TEST_VERSION(0,28,0) ++ QRect validArea(QPoint(it->toUint32(0), it->toUint32(2)), QPoint(it->toUint32(1), it->toUint32(3))); ++#else + QRect validArea(QPoint(it->toLong(0), it->toLong(2)), QPoint(it->toLong(1), it->toLong(3))); ++#endif + image = image.copy(validArea); + } else { + // Unfortunately, Sony does not provide an exif tag that specifies the valid area of the + // embedded thumbnail. Need to derive it from the size of the preview image instead. + it = d->mExifData.findKey(Exiv2::ExifKey("Exif.Sony1.PreviewImageSize")); + if (it != d->mExifData.end() && it->count() == 2) { ++#if EXIV2_TEST_VERSION(0,28,0) ++ const long prevHeight = it->toUint32(0); ++ const long prevWidth = it->toUint32(1); ++#else + const long prevHeight = it->toLong(0); + const long prevWidth = it->toLong(1); ++#endif + + if (image.width() > 0 && prevWidth > 0) { + const double scale = prevWidth / image.width(); +-- +GitLab + diff --git a/kde-apps/gwenview/gwenview-23.04.1.ebuild b/kde-apps/gwenview/gwenview-23.04.1.ebuild index 423f549f8d73..62079ea15c37 100644 --- a/kde-apps/gwenview/gwenview-23.04.1.ebuild +++ b/kde-apps/gwenview/gwenview-23.04.1.ebuild @@ -82,6 +82,8 @@ BDEPEND=" dev-util/wayland-scanner " +PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # bug 906467 + src_prepare() { ecm_src_prepare if ! use mpris; then |