commit:     4368fe063eb2065a56ccc943a8cabacb80735ba3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 30 13:19:43 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 30 13:21:51 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4368fe06

kde-apps/gwenview: Fix build with exiv2-0.27

Apply conditionally for now while patch is in review upstream.

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/gwenview-18.12.0-exiv2-0.27.patch        | 216 +++++++++++++++++++++
 kde-apps/gwenview/gwenview-18.12.0.ebuild          |   1 +
 2 files changed, 217 insertions(+)

diff --git a/kde-apps/gwenview/files/gwenview-18.12.0-exiv2-0.27.patch 
b/kde-apps/gwenview/files/gwenview-18.12.0-exiv2-0.27.patch
new file mode 100644
index 00000000000..fa0d62d84b7
--- /dev/null
+++ b/kde-apps/gwenview/files/gwenview-18.12.0-exiv2-0.27.patch
@@ -0,0 +1,216 @@
+From 7e4cd5e91d7434448b7227ee8cf3307435cc7d00 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Sun, 30 Dec 2018 12:59:05 +0100
+Subject: [PATCH 1/2] Include exiv2.hpp instead of individual headers
+
+Headers are subject to refactoring upstream, using exiv2.hpp per 
recommendation.
+---
+ lib/cms/cmsprofile.h                  | 2 +-
+ lib/document/document.h               | 2 +-
+ lib/exiv2imageloader.cpp              | 4 ----
+ lib/exiv2imageloader.h                | 2 +-
+ lib/imagemetainfomodel.cpp            | 4 +---
+ lib/jpegcontent.cpp                   | 4 ----
+ lib/timeutils.cpp                     | 4 ----
+ tests/auto/documenttest.cpp           | 2 --
+ tests/auto/imagemetainfomodeltest.cpp | 2 --
+ 9 files changed, 4 insertions(+), 22 deletions(-)
+
+diff --git a/lib/cms/cmsprofile.h b/lib/cms/cmsprofile.h
+index a2a38a87..bc378ff9 100644
+--- a/lib/cms/cmsprofile.h
++++ b/lib/cms/cmsprofile.h
+@@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Cambridge, MA 02110-1301, USA
+ #include <QSharedData>
+ 
+ // Exiv2
+-#include <exiv2/image.hpp>
++#include <exiv2/exiv2.hpp>
+ 
+ class QByteArray;
+ class QString;
+diff --git a/lib/document/document.h b/lib/document/document.h
+index c0bb454b..8e32c044 100644
+--- a/lib/document/document.h
++++ b/lib/document/document.h
+@@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA  02110-1301, USA.
+ #include <lib/gwenviewlib_export.h>
+ 
+ #include <string.h>
+-#include <exiv2/image.hpp>
++#include <exiv2/exiv2.hpp>
+ 
+ // Qt
+ #include <QObject>
+diff --git a/lib/exiv2imageloader.cpp b/lib/exiv2imageloader.cpp
+index f2830f81..f12b7383 100644
+--- a/lib/exiv2imageloader.cpp
++++ b/lib/exiv2imageloader.cpp
+@@ -28,10 +28,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA 02110-1301, USA.
+ 
+ // KDE
+ 
+-// Exiv2
+-#include <exiv2/error.hpp>
+-#include <exiv2/types.hpp>
+-
+ // Local
+ 
+ namespace Gwenview
+diff --git a/lib/exiv2imageloader.h b/lib/exiv2imageloader.h
+index 57ef24d2..866e7fac 100644
+--- a/lib/exiv2imageloader.h
++++ b/lib/exiv2imageloader.h
+@@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA 02110-1301, USA.
+ 
+ // Exiv2
+ #include <string.h>
+-#include <exiv2/image.hpp>
++#include <exiv2/exiv2.hpp>
+ 
+ // Local
+ 
+diff --git a/lib/imagemetainfomodel.cpp b/lib/imagemetainfomodel.cpp
+index d7b89ab2..58f1c13d 100644
+--- a/lib/imagemetainfomodel.cpp
++++ b/lib/imagemetainfomodel.cpp
+@@ -33,9 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA 02110-1301, USA.
+ #include <KFormat>
+ 
+ // Exiv2
+-#include <exiv2/exif.hpp>
+-#include <exiv2/image.hpp>
+-#include <exiv2/iptc.hpp>
++#include <exiv2/exiv2.hpp>
+ 
+ // Local
+ #ifdef HAVE_FITS
+diff --git a/lib/jpegcontent.cpp b/lib/jpegcontent.cpp
+index bb810dd4..a628e8a8 100644
+--- a/lib/jpegcontent.cpp
++++ b/lib/jpegcontent.cpp
+@@ -41,10 +41,6 @@ extern "C" {
+ // KDE
+ #include <KLocalizedString>
+ 
+-// Exiv2
+-#include <exiv2/exif.hpp>
+-#include <exiv2/image.hpp>
+-
+ // Local
+ #include "jpegerrormanager.h"
+ #include "iodevicejpegsourcemanager.h"
+diff --git a/lib/timeutils.cpp b/lib/timeutils.cpp
+index 9e8836a9..19befff5 100644
+--- a/lib/timeutils.cpp
++++ b/lib/timeutils.cpp
+@@ -29,10 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Cambridge, MA 02110-1301, USA
+ // KDE
+ #include <KFileItem>
+ 
+-// Exiv2
+-#include <exiv2/exif.hpp>
+-#include <exiv2/image.hpp>
+-
+ // Local
+ #include <lib/exiv2imageloader.h>
+ #include <lib/urlutils.h>
+diff --git a/tests/auto/documenttest.cpp b/tests/auto/documenttest.cpp
+index 9373641f..496346f0 100644
+--- a/tests/auto/documenttest.cpp
++++ b/tests/auto/documenttest.cpp
+@@ -39,8 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA  02110-1301, USA.
+ #include "../lib/transformimageoperation.h"
+ #include "testutils.h"
+ 
+-#include <exiv2/exif.hpp>
+-
+ #include "documenttest.h"
+ 
+ QTEST_MAIN(DocumentTest)
+diff --git a/tests/auto/imagemetainfomodeltest.cpp 
b/tests/auto/imagemetainfomodeltest.cpp
+index e3ec8d30..c4467a73 100644
+--- a/tests/auto/imagemetainfomodeltest.cpp
++++ b/tests/auto/imagemetainfomodeltest.cpp
+@@ -28,8 +28,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA  02110-1301, USA.
+ #include "../lib/imagemetainfomodel.h"
+ #include "testutils.h"
+ 
+-#include <exiv2/exif.hpp>
+-
+ #include "imagemetainfomodeltest.h"
+ 
+ QTEST_MAIN(ImageMetaInfoModelTest)
+-- 
+2.20.1
+
+
+From 7d6c5d95cf4e4d7c857f5d659a58f82bdc46259c Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Sun, 30 Dec 2018 11:31:20 +0100
+Subject: [PATCH 2/2] Fix build with exiv2-0.27
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Summary:
+Include exiv2.hpp instead of individual headers
+
+Headers are subject to refactoring upstream, using exiv2.hpp per 
recommendation.
+
+Enable exceptions globally - otherwise, lots of the following error:
+
+In file included from /usr/include/exiv2/types.hpp:34,
+                 from /usr/include/exiv2/image.hpp:28,
+                 from gwenview-18.12.0/lib/cms/cmsprofile.h:33,
+                 from gwenview-18.12.0/lib/cms/cmsprofile.cpp:22:
+/usr/include/exiv2/slice.hpp: In constructor 
‘Exiv2::Internal::SliceBase::SliceBase(size_t, size_t)’:
+/usr/include/exiv2/slice.hpp:99:77: error: exception handling disabled, use 
-fexceptions to enable
+                     throw std::out_of_range("Begin must be smaller than end");
+                                                                             ^
+
+Test Plan: Built fine with exiv2-0.27
+
+Reviewers: #gwenview, cgiboudeaux
+
+Tags: #gwenview
+
+Differential Revision: https://phabricator.kde.org/D17869
+---
+ CMakeLists.txt     | 2 ++
+ lib/CMakeLists.txt | 6 ------
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f44f9afc..b85ba4bc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -126,6 +126,8 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ 
+ add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
+ 
++kde_enable_exceptions()
++
+ ## dirs to build
+ add_subdirectory(lib)
+ add_subdirectory(app)
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 169df3c6..f7e9f71f 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -220,12 +220,6 @@ if (GWENVIEW_SEMANTICINFO_BACKEND_BALOO)
+         )
+ endif()
+ 
+-kde_source_files_enable_exceptions(
+-    exiv2imageloader.cpp
+-    imagemetainfomodel.cpp
+-    timeutils.cpp
+-    )
+-
+ ki18n_wrap_ui(gwenviewlib_SRCS
+     crop/cropwidget.ui
+     documentview/messageview.ui
+-- 
+2.20.1
+

diff --git a/kde-apps/gwenview/gwenview-18.12.0.ebuild 
b/kde-apps/gwenview/gwenview-18.12.0.ebuild
index a580d5a58cc..22f5b406075 100644
--- a/kde-apps/gwenview/gwenview-18.12.0.ebuild
+++ b/kde-apps/gwenview/gwenview-18.12.0.ebuild
@@ -73,6 +73,7 @@ RDEPEND="${COMMON_DEPEND}
 
 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

Reply via email to