summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/photoqt')
-rw-r--r--media-gfx/photoqt/Manifest1
-rw-r--r--media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch116
-rw-r--r--media-gfx/photoqt/photoqt-3.2.ebuild75
3 files changed, 192 insertions, 0 deletions
diff --git a/media-gfx/photoqt/Manifest b/media-gfx/photoqt/Manifest
index 900b20d3660d..e71da2ca3239 100644
--- a/media-gfx/photoqt/Manifest
+++ b/media-gfx/photoqt/Manifest
@@ -1 +1,2 @@
DIST photoqt-2.9.1.tar.gz 3708647 BLAKE2B dd8c958709ebd830558f150f59c90c317d3f5edb363f92e9fadcd1506de4c97a41f6766670e202081397081c231604028298771eb52911255dae53bfa92a1a8d SHA512 c2ac3bce2ffa0962b243808cdd2495d45af3bd5703389de5e9626a518a8edf25646a317ff420dc0fdd8dc60a53104b1b5ec7e473087454d5c2f0b967066dc192
+DIST photoqt-3.2.tar.gz 965895 BLAKE2B ae1e159401b24a1bede344e4d398dbd6c2ae13fd467a4eac9ef15ea2d15933dc1756325a5a4f305a5f447bfd1a9e2d636e0b9367d0201ca356393c033c4f2f0f SHA512 ab7030d0ed6edf79373b1a99b1b8469cd567f04e5c233a87496084424603d8c241f7b473c22d323f4df8480d3f74918a987d2d590ec5026f1b7ca2c92b5c6bba
diff --git a/media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch b/media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch
new file mode 100644
index 000000000000..b1da118c1537
--- /dev/null
+++ b/media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch
@@ -0,0 +1,116 @@
+From 376fe8c3ef6b16d63995f76a194e2c1d788b28b1 Mon Sep 17 00:00:00 2001
+From: Lukas Spies <Lukas@photoqt.org>
+Date: Sun, 28 May 2023 20:23:32 -0500
+Subject: [PATCH 1/2] [exiv2] fix compilation with Exiv2 v0.28.0
+
+---
+ cplusplus/filefoldermodel/filefoldermodel.cpp | 4 ++++
+ cplusplus/scripts/handlingfacetags.cpp | 4 ++++
+ cplusplus/scripts/metadata.cpp | 4 ++++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/cplusplus/filefoldermodel/filefoldermodel.cpp b/cplusplus/filefoldermodel/filefoldermodel.cpp
+index b6258735..56b120b7 100644
+--- a/cplusplus/filefoldermodel/filefoldermodel.cpp
++++ b/cplusplus/filefoldermodel/filefoldermodel.cpp
+@@ -560,7 +560,11 @@ void PQFileFolderModel::advancedSortMainView() {
+ } catch (Exiv2::Error& e) {
+ // An error code of 11 means unknown file type
+ // Since we always try to read any file's meta data, this happens a lot
++#if EXIV2_TEST_VERSION(0, 28, 0)
++ if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
++#else
+ if(e.code() != 11)
++#endif
+ LOG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
+ else
+ DBG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
+diff --git a/cplusplus/scripts/handlingfacetags.cpp b/cplusplus/scripts/handlingfacetags.cpp
+index d90ece73..562cf200 100644
+--- a/cplusplus/scripts/handlingfacetags.cpp
++++ b/cplusplus/scripts/handlingfacetags.cpp
+@@ -57,7 +57,11 @@ QVariantList PQHandlingFaceTags::getFaceTags(QString filename) {
+ image->readMetadata();
+ } catch (Exiv2::Error& e) {
+ // An error code of 11 means image not supported. This is much more reliable than, e.g., checking a file ending
++#if EXIV2_TEST_VERSION(0, 28, 0)
++ if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
++#else
+ if(e.code() != 11)
++#endif
+ LOG << CURDATE << "PQHandlingFaceTags::getFaceTags() - ERROR reading metadata (caught exception): " << e << NL;
+ else
+ DBG << CURDATE << "PQHandlingFaceTags::getFaceTags() - ERROR reading metadata (caught exception): " << e << NL;
+diff --git a/cplusplus/scripts/metadata.cpp b/cplusplus/scripts/metadata.cpp
+index 87e23474..a7d3e076 100644
+--- a/cplusplus/scripts/metadata.cpp
++++ b/cplusplus/scripts/metadata.cpp
+@@ -120,7 +120,11 @@ void PQMetaData::updateMetadata(QString path) {
+ } catch (Exiv2::Error& e) {
+ // An error code of 11 means unknown file type
+ // Since we always try to read any file's meta data, this happens a lot
++#if EXIV2_TEST_VERSION(0, 28, 0)
++ if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
++#else
+ if(e.code() != 11)
++#endif
+ LOG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
+ else
+ DBG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
+--
+2.40.1
+
+
+From 6190de9e47c358cf54748fa2a3593108831aa768 Mon Sep 17 00:00:00 2001
+From: Lukas Spies <Lukas@photoqt.org>
+Date: Sun, 28 May 2023 20:27:08 -0500
+Subject: [PATCH 2/2] [exiv2] switch to proper exvi2 errorcode
+
+---
+ cplusplus/filefoldermodel/filefoldermodel.cpp | 2 +-
+ cplusplus/scripts/handlingfacetags.cpp | 2 +-
+ cplusplus/scripts/metadata.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/cplusplus/filefoldermodel/filefoldermodel.cpp b/cplusplus/filefoldermodel/filefoldermodel.cpp
+index 56b120b7..c8cf199a 100644
+--- a/cplusplus/filefoldermodel/filefoldermodel.cpp
++++ b/cplusplus/filefoldermodel/filefoldermodel.cpp
+@@ -561,7 +561,7 @@ void PQFileFolderModel::advancedSortMainView() {
+ // An error code of 11 means unknown file type
+ // Since we always try to read any file's meta data, this happens a lot
+ #if EXIV2_TEST_VERSION(0, 28, 0)
+- if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
++ if(e.code() != Exiv2::ErrorCode::kerFileContainsUnknownImageType)
+ #else
+ if(e.code() != 11)
+ #endif
+diff --git a/cplusplus/scripts/handlingfacetags.cpp b/cplusplus/scripts/handlingfacetags.cpp
+index 562cf200..94a7bca6 100644
+--- a/cplusplus/scripts/handlingfacetags.cpp
++++ b/cplusplus/scripts/handlingfacetags.cpp
+@@ -58,7 +58,7 @@ QVariantList PQHandlingFaceTags::getFaceTags(QString filename) {
+ } catch (Exiv2::Error& e) {
+ // An error code of 11 means image not supported. This is much more reliable than, e.g., checking a file ending
+ #if EXIV2_TEST_VERSION(0, 28, 0)
+- if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
++ if(e.code() != Exiv2::ErrorCode::kerFileContainsUnknownImageType)
+ #else
+ if(e.code() != 11)
+ #endif
+diff --git a/cplusplus/scripts/metadata.cpp b/cplusplus/scripts/metadata.cpp
+index a7d3e076..fabc2d74 100644
+--- a/cplusplus/scripts/metadata.cpp
++++ b/cplusplus/scripts/metadata.cpp
+@@ -121,7 +121,7 @@ void PQMetaData::updateMetadata(QString path) {
+ // An error code of 11 means unknown file type
+ // Since we always try to read any file's meta data, this happens a lot
+ #if EXIV2_TEST_VERSION(0, 28, 0)
+- if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
++ if(e.code() != Exiv2::ErrorCode::kerFileContainsUnknownImageType)
+ #else
+ if(e.code() != 11)
+ #endif
+--
+2.40.1
+
diff --git a/media-gfx/photoqt/photoqt-3.2.ebuild b/media-gfx/photoqt/photoqt-3.2.ebuild
new file mode 100644
index 000000000000..514da69340d7
--- /dev/null
+++ b/media-gfx/photoqt/photoqt-3.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_KDEINSTALLDIRS=false
+inherit ecm optfeature
+
+DESCRIPTION="Simple but powerful Qt-based image viewer"
+HOMEPAGE="https://photoqt.org/"
+SRC_URI="https://photoqt.org/pkgs/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="devil exif freeimage graphicsmagick imagemagick mpv pdf raw"
+
+COMMON_DEPEND="
+ app-arch/libarchive:=
+ app-arch/unrar
+ dev-libs/pugixml
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5[jpeg]
+ dev-qt/qtimageformats:5
+ dev-qt/qtmultimedia:5[qml]
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ devil? ( media-libs/devil )
+ exif? ( media-gfx/exiv2:=[bmff] )
+ freeimage? ( media-libs/freeimage )
+ imagemagick? (
+ !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
+ graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
+ )
+ mpv? ( media-video/mpv:=[libmpv] )
+ pdf? ( app-text/poppler[qt5] )
+ raw? ( media-libs/libraw:= )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-qt/qtconcurrent:5
+"
+RDEPEND="${COMMON_DEPEND}
+ dev-qt/qtgraphicaleffects:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtquickcontrols2:5
+"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # upstream git master, bug #906491
+
+src_configure() {
+ local mycmakeargs=(
+ -DCHROMECAST=OFF # TODO needs python
+ -DDEVIL=$(usex devil)
+ -DEXIV2=$(usex exif)
+ -DEXIV2_ENABLE_BMFF=$(usex exif)
+ -DFREEIMAGE=$(usex freeimage)
+ -DGRAPHICSMAGICK=$(usex graphicsmagick $(usex imagemagick))
+ -DIMAGEMAGICK=$(usex imagemagick $(usex !graphicsmagick))
+ -DVIDEO_MPV=$(usex mpv)
+ -DPOPPLER=$(usex pdf)
+ -DRAW=$(usex raw)
+ )
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ optfeature "additional image formats like AVIF, EPS, HEIF/HEIC, PSD, etc." kde-frameworks/kimageformats
+ ecm_pkg_postinst
+}