commit:     498bb8f66868ec99e1a971fb4815edb2781d226d
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  6 22:51:42 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Feb  7 12:59:57 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=498bb8f6

kde-apps/gwenview: Backport exiv2-0.27 support to 18.08.3

Refresh patch for 18.12.x as well.

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

 .../files/gwenview-18.12.1-exiv2-0.27.patch        | 142 ++++++++++++++++++---
 kde-apps/gwenview/gwenview-18.08.3-r1.ebuild       | 112 ++++++++++++++++
 2 files changed, 237 insertions(+), 17 deletions(-)

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
index 66ed9ed8345..3e528e49285 100644
--- 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
@@ -1,7 +1,7 @@
-From 61543b42289fc986e580f2e3443719f3334f17b5 Mon Sep 17 00:00:00 2001
+From 3637438dd1a772ee65e6b3091087bde89dc91db0 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de>
 Date: Sun, 30 Dec 2018 02:46:28 +0100
-Subject: [PATCH 1/2] Use forward declaration for Exiv2::Image, port to
+Subject: [PATCH 1/4] Use forward declaration for Exiv2::Image, port to
  std::unique_ptr
 
 Summary:
@@ -104,7 +104,7 @@ index d841ae5f..d3d0002c 100644
  
  void AbstractDocumentImpl::setDocumentDownSampledImage(const QImage& image, 
int invertedZoom)
 diff --git a/lib/document/abstractdocumentimpl.h 
b/lib/document/abstractdocumentimpl.h
-index 1f427e60..86e6bfd2 100644
+index 5d6862b8..6c6be825 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.
@@ -129,7 +129,7 @@ index 1f427e60..86e6bfd2 100644
      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
+index c760be96..27003b3e 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.
@@ -155,7 +155,7 @@ index 18756700..afa9ed03 100644
      emit metaInfoUpdated();
  }
 diff --git a/lib/document/document.h b/lib/document/document.h
-index c0bb454b..4b40a6e1 100644
+index 782111d9..4b2b3d48 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.
@@ -191,7 +191,7 @@ index c0bb454b..4b40a6e1 100644
      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
+index 00c6f7ff..2701440f 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
@@ -226,7 +226,7 @@ index 78e0ac6e..4de25f15 100644
      QByteArray mFormat;
      ImageMetaInfoModel mImageMetaInfoModel;
 diff --git a/lib/document/loadingdocumentimpl.cpp 
b/lib/document/loadingdocumentimpl.cpp
-index 07675783..766a1831 100644
+index 713ef32c..3bcf613a 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.
@@ -248,7 +248,7 @@ index 07675783..766a1831 100644
      std::unique_ptr<JpegContent> mJpegContent;
      QImage mImage;
      Cms::Profile::Ptr mCmsProfile;
-@@ -486,7 +489,7 @@ void LoadingDocumentImpl::slotMetaInfoLoaded()
+@@ -488,7 +491,7 @@ void LoadingDocumentImpl::slotMetaInfoLoaded()
  
      setDocumentFormat(d->mFormat);
      setDocumentImageSize(d->mImageSize);
@@ -258,7 +258,7 @@ index 07675783..766a1831 100644
  
      d->mMetaInfoLoaded = true;
 diff --git a/lib/exiv2imageloader.cpp b/lib/exiv2imageloader.cpp
-index f2830f81..f13dff7a 100644
+index c298c9c3..49bdf2c8 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.
@@ -288,7 +288,7 @@ index f2830f81..f13dff7a 100644
 +        
d->mImage.reset(Exiv2::ImageFactory::open(filePathByteArray.constData()).release());
          d->mImage->readMetadata();
      } catch (const Exiv2::Error& error) {
-         d->mErrorMessage = QString::fromUtf8(error.what());
+         d->mErrorMessage = error.what();
 @@ -69,7 +68,7 @@ bool Exiv2ImageLoader::load(const QString& filePath)
  bool Exiv2ImageLoader::load(const QByteArray& data)
  {
@@ -297,7 +297,7 @@ index f2830f81..f13dff7a 100644
 +        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());
+         d->mErrorMessage = error.what();
 @@ -83,9 +82,9 @@ QString Exiv2ImageLoader::errorMessage() const
      return d->mErrorMessage;
  }
@@ -345,7 +345,7 @@ index 57ef24d2..12a45b68 100644
  private:
      Exiv2ImageLoaderPrivate* const d;
 diff --git a/lib/jpegcontent.cpp b/lib/jpegcontent.cpp
-index bb810dd4..a8cf909f 100644
+index d203da5a..989a1a54 100644
 --- a/lib/jpegcontent.cpp
 +++ b/lib/jpegcontent.cpp
 @@ -42,8 +42,7 @@ extern "C" {
@@ -384,7 +384,7 @@ index bb810dd4..a8cf909f 100644
      // Store Exif info
      image->setExifData(d->mExifData);
 diff --git a/lib/timeutils.cpp b/lib/timeutils.cpp
-index 9e8836a9..3c519098 100644
+index 1fcecc98..ecce3891 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
@@ -476,10 +476,10 @@ index e3ec8d30..5a286b00 100644
 2.20.1
 
 
-From b81eed1dc4d879f06d651ea0954bee1b46c7947e Mon Sep 17 00:00:00 2001
+From fa287bfbd0bc95856c6a98bab2d81199a1618526 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bru...@rwth-aachen.de>
 Date: Sat, 29 Dec 2018 23:39:30 +0100
-Subject: [PATCH 2/2] Compile more files with enabled exceptions, required for
+Subject: [PATCH 2/4] Compile more files with enabled exceptions, required for
  exiv2 0.27
 
 Summary:
@@ -504,10 +504,10 @@ Differential Revision: https://phabricator.kde.org/D17873
  1 file changed, 5 insertions(+)
 
 diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index d60ae47f..229eac2a 100644
+index 5f135a4d..365bcb86 100644
 --- a/lib/CMakeLists.txt
 +++ b/lib/CMakeLists.txt
-@@ -224,6 +224,11 @@ kde_source_files_enable_exceptions(
+@@ -227,6 +227,11 @@ kde_source_files_enable_exceptions(
      exiv2imageloader.cpp
      imagemetainfomodel.cpp
      timeutils.cpp
@@ -521,3 +521,111 @@ index d60ae47f..229eac2a 100644
  ki18n_wrap_ui(gwenviewlib_SRCS
 -- 
 2.20.1
+
+
+From 6b3407024e1d297ed8466d1e7710a9f7804dc265 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <ast...@gentoo.org>
+Date: Wed, 6 Feb 2019 22:38:55 +0100
+Subject: [PATCH 4/4] Switch to FindLibExiv2 in ECM 5.54
+
+---
+ CMakeLists.txt            |   3 +-
+ app/CMakeLists.txt        |   2 +-
+ cmake/FindExiv2.cmake     | 117 --------------------------------------
+ importer/CMakeLists.txt   |   2 +-
+ lib/CMakeLists.txt        |   4 +-
+ part/CMakeLists.txt       |   2 +-
+ tests/auto/CMakeLists.txt |   2 +-
+ 7 files changed, 7 insertions(+), 125 deletions(-)
+ delete mode 100644 cmake/FindExiv2.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8bb85e7..7181f6c9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -97,8 +97,7 @@ set_package_properties(JPEG PROPERTIES URL 
"http://libjpeg.sourceforge.net/"; DES
+ find_package(PNG)
+ set_package_properties(PNG PROPERTIES URL "http://www.libpng.org"; DESCRIPTION 
"PNG image manipulation support" TYPE REQUIRED)
+ 
+-find_package(Exiv2)
+-set_package_properties(Exiv2 PROPERTIES URL "http://www.exiv2.org"; 
DESCRIPTION "image metadata support" TYPE REQUIRED)
++find_package(LibExiv2)
+ 
+ find_package(CFitsio)
+ set_package_properties(CFitsio PROPERTIES URL 
"http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html"; DESCRIPTION "FITS format 
support" TYPE OPTIONAL)
+diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
+index 5fe34d69..eabd494d 100644
+--- a/app/CMakeLists.txt
++++ b/app/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ include_directories(
+     ${CMAKE_CURRENT_SOURCE_DIR}/..
+-    ${EXIV2_INCLUDE_DIR}
++    ${LibExiv2_INCLUDE_DIRS}
+     )
+ 
+ # For lib/gwenviewconfig.h and config-gwenview.h
+diff --git a/importer/CMakeLists.txt b/importer/CMakeLists.txt
+index 81e585c1..39e219b7 100644
+--- a/importer/CMakeLists.txt
++++ b/importer/CMakeLists.txt
+@@ -3,7 +3,7 @@ project(importer)
+ include_directories(
+     ${CMAKE_CURRENT_SOURCE_DIR}/..
+     ${CMAKE_CURRENT_BINARY_DIR}/..
+-    ${EXIV2_INCLUDE_DIR}
++    ${LibExiv2_INCLUDE_DIRS}
+     )
+ 
+ set(importer_SRCS
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 365bcb86..dcf9757c 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -53,7 +53,7 @@ include_directories(
+     ${CMAKE_CURRENT_SOURCE_DIR}/${GV_JPEG_DIR}
+     ${CMAKE_CURRENT_SOURCE_DIR}/..
+     ${CMAKE_CURRENT_BINARY_DIR}
+-    ${EXIV2_INCLUDE_DIR}
++    ${LibExiv2_INCLUDE_DIRS}
+     ${JPEG_INCLUDE_DIR}
+     ${PNG_INCLUDE_DIRS}
+     )
+@@ -265,7 +265,7 @@ target_link_libraries(gwenviewlib
+    KF5::WindowSystem
+    KF5::IconThemes
+     ${JPEG_LIBRARY}
+-    ${EXIV2_LIBRARIES}
++    LibExiv2::LibExiv2
+     ${PNG_LIBRARIES}
+     ${LCMS2_LIBRARIES}
+     ${PHONON_LIBRARY}
+diff --git a/part/CMakeLists.txt b/part/CMakeLists.txt
+index 9d17eed2..03dcf92f 100644
+--- a/part/CMakeLists.txt
++++ b/part/CMakeLists.txt
+@@ -2,7 +2,7 @@ add_definitions(-DTRANSLATION_DOMAIN="gwenview")
+ 
+ include_directories(
+     ${CMAKE_CURRENT_SOURCE_DIR}/..
+-    ${EXIV2_INCLUDE_DIR}
++    ${LibExiv2_INCLUDE_DIRS}
+     )
+ 
+ set(gvpart_SRCS
+diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
+index d5d3f015..9cc0e3b5 100644
+--- a/tests/auto/CMakeLists.txt
++++ b/tests/auto/CMakeLists.txt
+@@ -14,7 +14,7 @@ endmacro(gv_add_unit_test)
+ include_directories(
+     ${gwenview_SOURCE_DIR}
+     ${importer_SOURCE_DIR}
+-    ${EXIV2_INCLUDE_DIR}
++    ${LibExiv2_INCLUDE_DIRS}
+     )
+ 
+ # For config-gwenview.h
+-- 
+2.20.1
+

diff --git a/kde-apps/gwenview/gwenview-18.08.3-r1.ebuild 
b/kde-apps/gwenview/gwenview-18.08.3-r1.ebuild
new file mode 100644
index 00000000000..09a5bab1ab7
--- /dev/null
+++ b/kde-apps/gwenview/gwenview-18.08.3-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FRAMEWORKS_MINIMAL="5.54.0"
+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.07.90-activities-optional.patch"
+       "${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
+}

Reply via email to