diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-01-10 09:30:23 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-01-10 16:50:00 +0100 |
commit | f1b6a4697cb6bd8b01b005cca0996982fd736a2d (patch) | |
tree | 9b2799b0df1355e0ee40b8c909752698a0803837 /kde-apps/gwenview | |
parent | app-emulation/libvirt: init submodules for live ebuild (diff) | |
download | gentoo-f1b6a4697cb6bd8b01b005cca0996982fd736a2d.tar.gz gentoo-f1b6a4697cb6bd8b01b005cca0996982fd736a2d.tar.bz2 gentoo-f1b6a4697cb6bd8b01b005cca0996982fd736a2d.zip |
kde-apps: Add KDE Applications 18.12.1
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/gwenview')
-rw-r--r-- | kde-apps/gwenview/Manifest | 1 | ||||
-rw-r--r-- | kde-apps/gwenview/files/gwenview-18.12.1-exiv2-0.27.patch | 523 | ||||
-rw-r--r-- | kde-apps/gwenview/gwenview-18.12.1.ebuild | 108 |
3 files changed, 632 insertions, 0 deletions
diff --git a/kde-apps/gwenview/Manifest b/kde-apps/gwenview/Manifest index 281619564c1e..c9046c37d4e7 100644 --- a/kde-apps/gwenview/Manifest +++ b/kde-apps/gwenview/Manifest @@ -1,2 +1,3 @@ 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 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.1.ebuild b/kde-apps/gwenview/gwenview-18.12.1.ebuild new file mode 100644 index 000000000000..bac3051fceab --- /dev/null +++ b/kde-apps/gwenview/gwenview-18.12.1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KDE_HANDBOOK="true" +KDE_TEST="true" +inherit kde5 + +DESCRIPTION="Image viewer by KDE" +HOMEPAGE=" + https://www.kde.org/applications/graphics/gwenview/ + https://userbase.kde.org/Gwenview +" + +LICENSE="GPL-2+ handbook? ( FDL-1.2 )" +KEYWORDS="~amd64 ~x86" +IUSE="activities fits kipi +mpris raw semantic-desktop X" + +# requires running environment +RESTRICT+=" test" + +COMMON_DEPEND=" + $(add_frameworks_dep kcompletion) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kio) + $(add_frameworks_dep kitemmodels) + $(add_frameworks_dep kitemviews) + $(add_frameworks_dep kjobwidgets) + $(add_frameworks_dep knotifications) + $(add_frameworks_dep kparts) + $(add_frameworks_dep kservice) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kxmlgui) + $(add_frameworks_dep solid) + $(add_qt_dep qtgui) + $(add_qt_dep qtopengl) + $(add_qt_dep qtprintsupport) + $(add_qt_dep qtsvg) + $(add_qt_dep qtwidgets) + media-gfx/exiv2:= + media-libs/lcms:2 + media-libs/libpng:0= + media-libs/phonon[qt5(+)] + virtual/jpeg:0 + activities? ( $(add_frameworks_dep kactivities) ) + fits? ( sci-libs/cfitsio ) + kipi? ( $(add_kdeapps_dep libkipi '' '' '5=') ) + mpris? ( $(add_qt_dep qtdbus) ) + raw? ( $(add_kdeapps_dep libkdcraw) ) + semantic-desktop? ( + $(add_frameworks_dep baloo) + $(add_frameworks_dep kfilemetadata) + ) + X? ( + $(add_qt_dep qtx11extras) + x11-libs/libX11 + ) +" +DEPEND="${COMMON_DEPEND} + $(add_frameworks_dep kwindowsystem) + $(add_qt_dep qtconcurrent) +" +RDEPEND="${COMMON_DEPEND} + $(add_frameworks_dep kimageformats) + $(add_qt_dep qtimageformats) + kipi? ( media-plugins/kipi-plugins:5 ) +" + +PATCHES=( "${FILESDIR}/${PN}-18.12.1-exiv2-0.27.patch" ) + +src_prepare() { + kde5_src_prepare + if ! use mpris; then + # FIXME: upstream a better solution + sed -e "/set(HAVE_QTDBUS/s/\${Qt5DBus_FOUND}/0/" -i CMakeLists.txt || die + fi +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package activities KF5Activities) + $(cmake-utils_use_find_package fits CFitsio) + $(cmake-utils_use_find_package kipi KF5Kipi) + $(cmake-utils_use_find_package raw KF5KDcraw) + $(cmake-utils_use_find_package X X11) + ) + + if use semantic-desktop; then + mycmakeargs+=( -DGWENVIEW_SEMANTICINFO_BACKEND=Baloo ) + else + mycmakeargs+=( -DGWENVIEW_SEMANTICINFO_BACKEND=None ) + fi + + kde5_src_configure +} + +pkg_postinst() { + kde5_pkg_postinst + + if [[ -z "${REPLACING_VERSIONS}" ]] && ! has_version kde-apps/svgpart:${SLOT} ; then + elog "For SVG support, install kde-apps/svgpart:${SLOT}" + fi +} |