diff options
Diffstat (limited to 'media-gfx/photoqt')
-rw-r--r-- | media-gfx/photoqt/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch | 116 | ||||
-rw-r--r-- | media-gfx/photoqt/photoqt-3.2.ebuild | 75 |
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 +} |