summaryrefslogtreecommitdiff
path: root/kde-apps/gwenview
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/gwenview')
-rw-r--r--kde-apps/gwenview/Manifest5
-rw-r--r--kde-apps/gwenview/files/gwenview-18.12.1-exiv2-0.27.patch523
-rw-r--r--kde-apps/gwenview/gwenview-18.12.1.ebuild (renamed from kde-apps/gwenview/gwenview-18.12.0.ebuild)5
3 files changed, 529 insertions, 4 deletions
diff --git a/kde-apps/gwenview/Manifest b/kde-apps/gwenview/Manifest
index 93da9283cb9e..73fa445b979f 100644
--- a/kde-apps/gwenview/Manifest
+++ b/kde-apps/gwenview/Manifest
@@ -1,7 +1,8 @@
AUX gwenview-18.07.90-activities-optional.patch 5078 BLAKE2B 692a743c319a9498de88af97b113e123ec445322f55513fcae58d4c556b29c23f0b2586e292900fb8e233c5cd2b33a7f76cf759b0c0ad119efb7daa7c290263c SHA512 2afd6fe89d1b455723d15f38866a476f8872e45d0548c36432f4b08d6404d02c4c03f78bfa60ec7dbddad022fef32283155b3ce27a9a8b16c4b753246b301106
AUX gwenview-18.12.0-exiv2-0.27.patch 6552 BLAKE2B b57836867fe29e0d099d24b1b935ab4899909d94484a3c060e5a1ee97a2cf297c4fe444cc4b6a85d4f9727b68344013ed2292260a7e217b24d85b4debcacea13 SHA512 526fb77137cd504eb72a5bc6ba74a71efab7842f9ada3e4d7f0465284aa5d50cb6619fb54a555b8d959be3d305a302bf8d1b75162b60970523c628b09b04ca6e
+AUX gwenview-18.12.1-exiv2-0.27.patch 15804 BLAKE2B cabf4b2d042a2b5133ff22100fc2cd7d8e06df3b166574add355b13b7bb2e1b6a482c9bbc64a357738b0460765b3eab3303e39bc00dae2cdfb96ccb931c2e85a SHA512 238f40b55008c2de700cad637db09a824dac1cbd01d6997c4d25c4cf864b858c43b2768990eddb096086b7e549762b6d8b47ec09418e1917fa6c09ebee821043
DIST gwenview-18.08.3.tar.xz 6178192 BLAKE2B 0b25bdd64398f7ef1310598daad07374ca56383578fd67a8e36e348e78e1d818335fe4d630cc733e7a1eb13eaafca268426aea5afbb44195106742c50587c74d SHA512 0889b3388311b8c2b5a2ff98eea55dbae69ec6a27b5f27defc884077d937006d184c08a9daf31df0d9fb096b1a53fc70e844d46c4e3577d21e8f6ab83cca06ce
-DIST gwenview-18.12.0.tar.xz 6178072 BLAKE2B 4066165db148987c606e85c47cb6a47f236c07938d3819ca76ce6c083764874360cbba82c6b9cbe9a7d72771269a8b66a7894634a55f3d9a2d6db027c982aa2e SHA512 ef7f706c3c3278ca4f826518824f7457948b5fdac2d49cdb55977d55829cc90852745833fd86b94a5ce2cc7b55286c864b05f9a51d546e29538bf0f32bec2ec4
+DIST gwenview-18.12.1.tar.xz 5714244 BLAKE2B f4330290cd3230e40acc8427205c62dc99ddfe65165e03409efb8eee0a54303cf02de4a3fb308bc55d96314ed21aaf9783cd67d9a1e4aec08a2360f5e0ff7b03 SHA512 609c670bc7ff8007fbc96d1fb4de9a0686e8e8c1171c396ae00b1c96fb531855a3881c57bcdf578e1c6c29670fda58ef6eaab407d60ad7f7f419e7c92d5a4d8d
EBUILD gwenview-18.08.3.ebuild 2788 BLAKE2B c77ccacf146ac431a6e604c6a69107c54a5af2c50c907dafcdad900527aa5dbfdc4cc1405920d7502feff53309bbfce8cbbd244483a8c7842862839367518759 SHA512 4652f7225a398412bfe6737adf2fc437376640cdaff0d3976ebaaca8de15eacb9c9e99b0f950e0a589bce01ea38fdafbd3ddef3dc09b5a07c0d24688179a4b8c
-EBUILD gwenview-18.12.0.ebuild 2730 BLAKE2B 571bd16dafbdb7b345c0964306b2290bac34c6c0255316c6d76303493808d896bb615d0d96743aa022e4e7b38631d9c856e2ceb02003fe032ff90c75deb8a075 SHA512 078b12f52f70efb981259da4d54de975f8fb59579e8fa4233ebf7198ba5de5cd850dfdeb02ce5bb612d55ad7376a5d8f279d40adff74319cd2d17fd861652e92
+EBUILD gwenview-18.12.1.ebuild 2704 BLAKE2B 2a07dd21da9e69cca80429e36f73896519fa8d9f8ab216ad42dfe4c66a0d5fd21cc87311ddfd293284b720ba434b49c06fefc332f9e3b568b9e32df2d6feb686 SHA512 12f0d7579a6afe9948bf2d1085801a4ad12b885cc5a7470c8db43cb79c7df4c6beea21317fa99d0cb65610c185ae6ec962e2020d5920a19e779541f7706a95d5
MISC metadata.xml 608 BLAKE2B 19b5fd4798750b2efd9d68a6271cb7c0c1c63e82075f2ac68fdf12bf57c5e695d3d9ee08f49d7cc22e0b15931eed086690b3af478486a858c4c233ee23b34ab0 SHA512 bc0c98d5420300aa4f17b0f544bc9cd44d8755ac716c099a5787769705e72eab9aae5d4b9a653434234dc605362f3c0d3d362121ab8c75978cdbde8f5fc774de
diff --git a/kde-apps/gwenview/files/gwenview-18.12.1-exiv2-0.27.patch b/kde-apps/gwenview/files/gwenview-18.12.1-exiv2-0.27.patch
new file mode 100644
index 000000000000..66ed9ed83453
--- /dev/null
+++ b/kde-apps/gwenview/files/gwenview-18.12.1-exiv2-0.27.patch
@@ -0,0 +1,523 @@
+From 61543b42289fc986e580f2e3443719f3334f17b5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
+Date: Sun, 30 Dec 2018 02:46:28 +0100
+Subject: [PATCH 1/2] Use forward declaration for Exiv2::Image, port to
+ std::unique_ptr
+
+Summary:
+Instead of the Exiv2::Image::AutoPtr typedef just use a forward declaration
+for Exiv2::Image, and use std::unique_ptr instead of std::auto_ptr.
+
+The forward declaration avoids pulling in Exiv2 declarations everywhere,
+e.g. via document.h.
+
+Although it would be possible to use std::auto_ptr, unique_ptr is
+preferable for two reasons:
+- ownership transfer is explicit (std::move, release()/reset())
+- Exiv2 0.28 will use std::unique_ptr as well, i.e. the code is forward
+compatible.
+
+Reviewers: #gwenview, cfeck, ngraham
+
+Reviewed By: #gwenview, ngraham
+
+Subscribers: lbeltrame, ngraham, asturmlechner, shubham
+
+Tags: #gwenview
+
+Differential Revision: https://phabricator.kde.org/D17872
+---
+ lib/cms/cmsprofile.cpp | 3 +++
+ lib/cms/cmsprofile.h | 8 +++++---
+ lib/document/abstractdocumentimpl.cpp | 5 +++--
+ lib/document/abstractdocumentimpl.h | 7 ++++++-
+ lib/document/document.cpp | 7 +++++--
+ lib/document/document.h | 11 ++++++++---
+ lib/document/document_p.h | 10 +++++++++-
+ lib/document/loadingdocumentimpl.cpp | 7 +++++--
+ lib/exiv2imageloader.cpp | 13 ++++++-------
+ lib/exiv2imageloader.h | 11 ++++++++---
+ lib/jpegcontent.cpp | 10 +++++-----
+ lib/timeutils.cpp | 8 +++++---
+ tests/auto/cmsprofiletest.cpp | 4 ++--
+ tests/auto/imagemetainfomodeltest.cpp | 9 +++++++--
+ 14 files changed, 77 insertions(+), 36 deletions(-)
+
+diff --git a/lib/cms/cmsprofile.cpp b/lib/cms/cmsprofile.cpp
+index 188b90a4..7d2b753e 100644
+--- a/lib/cms/cmsprofile.cpp
++++ b/lib/cms/cmsprofile.cpp
+@@ -42,6 +42,9 @@ extern "C" {
+ // lcms
+ #include <lcms2.h>
+
++// Exiv2
++#include <exiv2/exiv2.hpp>
++
+ // X11
+ #ifdef HAVE_X11
+ #include <X11/Xlib.h>
+diff --git a/lib/cms/cmsprofile.h b/lib/cms/cmsprofile.h
+index a2a38a87..06c7672d 100644
+--- a/lib/cms/cmsprofile.h
++++ b/lib/cms/cmsprofile.h
+@@ -29,12 +29,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA
+ #include <QExplicitlySharedDataPointer>
+ #include <QSharedData>
+
+-// Exiv2
+-#include <exiv2/image.hpp>
+-
+ class QByteArray;
+ class QString;
+
++namespace Exiv2
++{
++ class Image;
++}
++
+ typedef void* cmsHPROFILE;
+
+ namespace Gwenview
+diff --git a/lib/document/abstractdocumentimpl.cpp b/lib/document/abstractdocumentimpl.cpp
+index d841ae5f..d3d0002c 100644
+--- a/lib/document/abstractdocumentimpl.cpp
++++ b/lib/document/abstractdocumentimpl.cpp
+@@ -21,6 +21,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ // Self
+ #include "abstractdocumentimpl.h"
+
++#include <exiv2/exiv2.hpp>
+ // Qt
+
+ // KDE
+@@ -77,9 +78,9 @@ void AbstractDocumentImpl::setDocumentKind(MimeTypeUtils::Kind kind)
+ d->mDocument->setKind(kind);
+ }
+
+-void AbstractDocumentImpl::setDocumentExiv2Image(Exiv2::Image::AutoPtr image)
++void AbstractDocumentImpl::setDocumentExiv2Image(std::unique_ptr<Exiv2::Image> image)
+ {
+- d->mDocument->setExiv2Image(image);
++ d->mDocument->setExiv2Image(std::move(image));
+ }
+
+ void AbstractDocumentImpl::setDocumentDownSampledImage(const QImage& image, int invertedZoom)
+diff --git a/lib/document/abstractdocumentimpl.h b/lib/document/abstractdocumentimpl.h
+index 1f427e60..86e6bfd2 100644
+--- a/lib/document/abstractdocumentimpl.h
++++ b/lib/document/abstractdocumentimpl.h
+@@ -34,6 +34,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ class QImage;
+ class QRect;
+
++namespace Exiv2
++{
++ class Image;
++}
++
+ namespace Gwenview
+ {
+
+@@ -108,7 +113,7 @@ protected:
+ void setDocumentImageSize(const QSize& size);
+ void setDocumentKind(MimeTypeUtils::Kind);
+ void setDocumentFormat(const QByteArray& format);
+- void setDocumentExiv2Image(Exiv2::Image::AutoPtr);
++ void setDocumentExiv2Image(std::unique_ptr<Exiv2::Image>);
+ void setDocumentDownSampledImage(const QImage&, int invertedZoom);
+ void setDocumentCmsProfile(Cms::Profile::Ptr profile);
+ void setDocumentErrorString(const QString&);
+diff --git a/lib/document/document.cpp b/lib/document/document.cpp
+index 18756700..afa9ed03 100644
+--- a/lib/document/document.cpp
++++ b/lib/document/document.cpp
+@@ -31,6 +31,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #include <KLocalizedString>
+ #include <KJobUiDelegate>
+
++// Exiv2
++#include <exiv2/exiv2.hpp>
++
+ // Local
+ #include "documentjob.h"
+ #include "emptydocumentimpl.h"
+@@ -388,9 +391,9 @@ AbstractDocumentEditor* Document::editor()
+ return d->mImpl->editor();
+ }
+
+-void Document::setExiv2Image(Exiv2::Image::AutoPtr image)
++void Document::setExiv2Image(std::unique_ptr<Exiv2::Image> image)
+ {
+- d->mExiv2Image = image;
++ d->mExiv2Image = std::move(image);
+ d->mImageMetaInfoModel.setExiv2Image(d->mExiv2Image.get());
+ emit metaInfoUpdated();
+ }
+diff --git a/lib/document/document.h b/lib/document/document.h
+index c0bb454b..4b40a6e1 100644
+--- a/lib/document/document.h
++++ b/lib/document/document.h
+@@ -22,8 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ #include <lib/gwenviewlib_export.h>
+
+-#include <string.h>
+-#include <exiv2/image.hpp>
++// STL
++#include <memory>
+
+ // Qt
+ #include <QObject>
+@@ -43,6 +43,11 @@ class QUndoStack;
+ class KJob;
+ class QUrl;
+
++namespace Exiv2
++{
++ class Image;
++}
++
+ namespace Gwenview
+ {
+
+@@ -235,7 +240,7 @@ private:
+ void setKind(MimeTypeUtils::Kind);
+ void setFormat(const QByteArray&);
+ void setSize(const QSize&);
+- void setExiv2Image(Exiv2::Image::AutoPtr);
++ void setExiv2Image(std::unique_ptr<Exiv2::Image>);
+ void setDownSampledImage(const QImage&, int invertedZoom);
+ void switchToImpl(AbstractDocumentImpl* impl);
+ void setErrorString(const QString&);
+diff --git a/lib/document/document_p.h b/lib/document/document_p.h
+index 78e0ac6e..4de25f15 100644
+--- a/lib/document/document_p.h
++++ b/lib/document/document_p.h
+@@ -21,6 +21,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA
+ #ifndef DOCUMENT_P_H
+ #define DOCUMENT_P_H
+
++// STL
++#include <memory>
++
+ // Local
+ #include <imagemetainfomodel.h>
+ #include <document/documentjob.h>
+@@ -34,6 +37,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA
+ #include <QUndoStack>
+ #include <QPointer>
+
++namespace Exiv2
++{
++ class Image;
++}
++
+ namespace Gwenview
+ {
+
+@@ -54,7 +62,7 @@ struct DocumentPrivate
+ QSize mSize;
+ QImage mImage;
+ QMap<int, QImage> mDownSampledImageMap;
+- Exiv2::Image::AutoPtr mExiv2Image;
++ std::unique_ptr<Exiv2::Image> mExiv2Image;
+ MimeTypeUtils::Kind mKind;
+ QByteArray mFormat;
+ ImageMetaInfoModel mImageMetaInfoModel;
+diff --git a/lib/document/loadingdocumentimpl.cpp b/lib/document/loadingdocumentimpl.cpp
+index 07675783..766a1831 100644
+--- a/lib/document/loadingdocumentimpl.cpp
++++ b/lib/document/loadingdocumentimpl.cpp
+@@ -24,6 +24,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ // STL
+ #include <memory>
+
++// Exiv2
++#include <exiv2/exiv2.hpp>
++
+ // Qt
+ #include <QBuffer>
+ #include <QByteArray>
+@@ -100,7 +103,7 @@ struct LoadingDocumentImplPrivate
+ QByteArray mData;
+ QByteArray mFormat;
+ QSize mImageSize;
+- Exiv2::Image::AutoPtr mExiv2Image;
++ std::unique_ptr<Exiv2::Image> mExiv2Image;
+ std::unique_ptr<JpegContent> mJpegContent;
+ QImage mImage;
+ Cms::Profile::Ptr mCmsProfile;
+@@ -486,7 +489,7 @@ void LoadingDocumentImpl::slotMetaInfoLoaded()
+
+ setDocumentFormat(d->mFormat);
+ setDocumentImageSize(d->mImageSize);
+- setDocumentExiv2Image(d->mExiv2Image);
++ setDocumentExiv2Image(std::move(d->mExiv2Image));
+ setDocumentCmsProfile(d->mCmsProfile);
+
+ d->mMetaInfoLoaded = true;
+diff --git a/lib/exiv2imageloader.cpp b/lib/exiv2imageloader.cpp
+index f2830f81..f13dff7a 100644
+--- a/lib/exiv2imageloader.cpp
++++ b/lib/exiv2imageloader.cpp
+@@ -29,8 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ // KDE
+
+ // Exiv2
+-#include <exiv2/error.hpp>
+-#include <exiv2/types.hpp>
++#include <exiv2/exiv2.hpp>
+
+ // Local
+
+@@ -39,7 +38,7 @@ namespace Gwenview
+
+ struct Exiv2ImageLoaderPrivate
+ {
+- Exiv2::Image::AutoPtr mImage;
++ std::unique_ptr<Exiv2::Image> mImage;
+ QString mErrorMessage;
+ };
+
+@@ -57,7 +56,7 @@ bool Exiv2ImageLoader::load(const QString& filePath)
+ {
+ QByteArray filePathByteArray = QFile::encodeName(filePath);
+ try {
+- d->mImage = Exiv2::ImageFactory::open(filePathByteArray.constData());
++ d->mImage.reset(Exiv2::ImageFactory::open(filePathByteArray.constData()).release());
+ d->mImage->readMetadata();
+ } catch (const Exiv2::Error& error) {
+ d->mErrorMessage = QString::fromUtf8(error.what());
+@@ -69,7 +68,7 @@ bool Exiv2ImageLoader::load(const QString& filePath)
+ bool Exiv2ImageLoader::load(const QByteArray& data)
+ {
+ try {
+- d->mImage = Exiv2::ImageFactory::open((unsigned char*)data.constData(), data.size());
++ d->mImage.reset(Exiv2::ImageFactory::open((unsigned char*)data.constData(), data.size()).release());
+ d->mImage->readMetadata();
+ } catch (const Exiv2::Error& error) {
+ d->mErrorMessage = QString::fromUtf8(error.what());
+@@ -83,9 +82,9 @@ QString Exiv2ImageLoader::errorMessage() const
+ return d->mErrorMessage;
+ }
+
+-Exiv2::Image::AutoPtr Exiv2ImageLoader::popImage()
++std::unique_ptr<Exiv2::Image> Exiv2ImageLoader::popImage()
+ {
+- return d->mImage;
++ return std::move(d->mImage);
+ }
+
+ } // namespace
+diff --git a/lib/exiv2imageloader.h b/lib/exiv2imageloader.h
+index 57ef24d2..12a45b68 100644
+--- a/lib/exiv2imageloader.h
++++ b/lib/exiv2imageloader.h
+@@ -23,13 +23,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ #include <lib/gwenviewlib_export.h>
+
++// STL
++#include <memory>
++
+ // Qt
+
+ // KDE
+
+ // Exiv2
+-#include <string.h>
+-#include <exiv2/image.hpp>
++namespace Exiv2
++{
++ class Image;
++}
+
+ // Local
+
+@@ -54,7 +59,7 @@ public:
+ bool load(const QString&);
+ bool load(const QByteArray&);
+ QString errorMessage() const;
+- Exiv2::Image::AutoPtr popImage();
++ std::unique_ptr<Exiv2::Image> popImage();
+
+ private:
+ Exiv2ImageLoaderPrivate* const d;
+diff --git a/lib/jpegcontent.cpp b/lib/jpegcontent.cpp
+index bb810dd4..a8cf909f 100644
+--- a/lib/jpegcontent.cpp
++++ b/lib/jpegcontent.cpp
+@@ -42,8 +42,7 @@ extern "C" {
+ #include <KLocalizedString>
+
+ // Exiv2
+-#include <exiv2/exif.hpp>
+-#include <exiv2/image.hpp>
++#include <exiv2/exiv2.hpp>
+
+ // Local
+ #include "jpegerrormanager.h"
+@@ -216,12 +215,12 @@ bool JpegContent::load(const QString& path)
+
+ bool JpegContent::loadFromData(const QByteArray& data)
+ {
+- Exiv2::Image::AutoPtr image;
++ std::unique_ptr<Exiv2::Image> image;
+ Exiv2ImageLoader loader;
+ if (!loader.load(data)) {
+ qCritical() << "Could not load image with Exiv2, reported error:" << loader.errorMessage();
+ }
+- image = loader.popImage();
++ image.reset(loader.popImage().release());
+
+ return loadFromData(data, image.get());
+ }
+@@ -603,7 +602,8 @@ bool JpegContent::save(QIODevice* device)
+ d->mPendingTransformation = false;
+ }
+
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((unsigned char*)d->mRawData.data(), d->mRawData.size());
++ std::unique_ptr<Exiv2::Image> image;
++ image.reset(Exiv2::ImageFactory::open((unsigned char*)d->mRawData.data(), d->mRawData.size()).release());
+
+ // Store Exif info
+ image->setExifData(d->mExifData);
+diff --git a/lib/timeutils.cpp b/lib/timeutils.cpp
+index 9e8836a9..3c519098 100644
+--- a/lib/timeutils.cpp
++++ b/lib/timeutils.cpp
+@@ -21,6 +21,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA
+ // Self
+ #include "timeutils.h"
+
++// STL
++#include <memory>
++
+ // Qt
+ #include <QFile>
+ #include <QDateTime>
+@@ -30,8 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA
+ #include <KFileItem>
+
+ // Exiv2
+-#include <exiv2/exif.hpp>
+-#include <exiv2/image.hpp>
++#include <exiv2/exiv2.hpp>
+
+ // Local
+ #include <lib/exiv2imageloader.h>
+@@ -92,7 +94,7 @@ struct CacheItem
+ if (!loader.load(path)) {
+ return false;
+ }
+- Exiv2::Image::AutoPtr img = loader.popImage();
++ std::unique_ptr<Exiv2::Image> img(loader.popImage().release());
+ try {
+ Exiv2::ExifData exifData = img->exifData();
+ if (exifData.empty()) {
+diff --git a/tests/auto/cmsprofiletest.cpp b/tests/auto/cmsprofiletest.cpp
+index 4efc441b..f4c7f9e5 100644
+--- a/tests/auto/cmsprofiletest.cpp
++++ b/tests/auto/cmsprofiletest.cpp
+@@ -69,7 +69,7 @@ void CmsProfileTest::testLoadFromImageData_data()
+ void CmsProfileTest::testLoadFromExiv2Image()
+ {
+ QFETCH(QString, fileName);
+- Exiv2::Image::AutoPtr image;
++ std::unique_ptr<Exiv2::Image> image;
+ {
+ QByteArray data;
+ QString path = pathForTestFile(fileName);
+@@ -80,7 +80,7 @@ void CmsProfileTest::testLoadFromExiv2Image()
+
+ Exiv2ImageLoader loader;
+ QVERIFY(loader.load(data));
+- image = loader.popImage();
++ image.reset(loader.popImage().release());
+ }
+ Cms::Profile::Ptr ptr = Cms::Profile::loadFromExiv2Image(image.get());
+ QVERIFY(!ptr.isNull());
+diff --git a/tests/auto/imagemetainfomodeltest.cpp b/tests/auto/imagemetainfomodeltest.cpp
+index e3ec8d30..5a286b00 100644
+--- a/tests/auto/imagemetainfomodeltest.cpp
++++ b/tests/auto/imagemetainfomodeltest.cpp
+@@ -17,6 +17,10 @@ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
++
++// STL
++#include <memory>
++
+ // Qt
+
+ // KDE
+@@ -28,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #include "../lib/imagemetainfomodel.h"
+ #include "testutils.h"
+
+-#include <exiv2/exif.hpp>
++// Exiv2
++#include <exiv2/exiv2.hpp>
+
+ #include "imagemetainfomodeltest.h"
+
+@@ -46,7 +51,7 @@ void ImageMetaInfoModelTest::testCatchExiv2Errors()
+ data = file.readAll();
+ }
+
+- Exiv2::Image::AutoPtr image;
++ std::unique_ptr<Exiv2::Image> image;
+ {
+ Exiv2ImageLoader loader;
+ QVERIFY(loader.load(data));
+--
+2.20.1
+
+
+From b81eed1dc4d879f06d651ea0954bee1b46c7947e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
+Date: Sat, 29 Dec 2018 23:39:30 +0100
+Subject: [PATCH 2/2] Compile more files with enabled exceptions, required for
+ exiv2 0.27
+
+Summary:
+The (exception based) error handling is now pulled in by e.g. image.hpp,
+so more files require enabled exception handling.
+
+Depends on D17872
+
+Test Plan: build
+
+Reviewers: #gwenview, ngraham, cfeck, asturmlechner
+
+Reviewed By: #gwenview, ngraham
+
+Subscribers: wbauer, lbeltrame
+
+Tags: #gwenview
+
+Differential Revision: https://phabricator.kde.org/D17873
+---
+ lib/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index d60ae47f..229eac2a 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -224,6 +224,11 @@ kde_source_files_enable_exceptions(
+ exiv2imageloader.cpp
+ imagemetainfomodel.cpp
+ timeutils.cpp
++ cms/cmsprofile.cpp
++ document/abstractdocumentimpl.cpp
++ document/document.cpp
++ document/loadingdocumentimpl.cpp
++ jpegcontent.cpp
+ )
+
+ ki18n_wrap_ui(gwenviewlib_SRCS
+--
+2.20.1
diff --git a/kde-apps/gwenview/gwenview-18.12.0.ebuild b/kde-apps/gwenview/gwenview-18.12.1.ebuild
index 22f5b406075b..bac3051fceab 100644
--- a/kde-apps/gwenview/gwenview-18.12.0.ebuild
+++ b/kde-apps/gwenview/gwenview-18.12.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -71,9 +71,10 @@ RDEPEND="${COMMON_DEPEND}
kipi? ( media-plugins/kipi-plugins:5 )
"
+PATCHES=( "${FILESDIR}/${PN}-18.12.1-exiv2-0.27.patch" )
+
src_prepare() {
kde5_src_prepare
- has_version ">=media-gfx/exiv2-0.27" && eapply "${FILESDIR}/${P}-exiv2-0.27.patch"
if ! use mpris; then
# FIXME: upstream a better solution
sed -e "/set(HAVE_QTDBUS/s/\${Qt5DBus_FOUND}/0/" -i CMakeLists.txt || die