commit:     da993b3eaa46614ed923ecc189aff7a4d7485d01
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Fri Dec 26 23:05:36 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 30 13:16:54 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da993b3e

media-gfx/photoqt: add 5.0

significant changes, support of extensions (new useflag)
reorder mycmakeargs by useflag-name
testsuite is now launched with cmake_src_test (-j1 is required)

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45173
Closes: https://github.com/gentoo/gentoo/pull/45173
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/photoqt/Manifest           |   2 +
 media-gfx/photoqt/metadata.xml       |   1 +
 media-gfx/photoqt/photoqt-5.0.ebuild | 130 +++++++++++++++++++++++++++++++++++
 3 files changed, 133 insertions(+)

diff --git a/media-gfx/photoqt/Manifest b/media-gfx/photoqt/Manifest
index 6c2f3cbef9e0..3c76fefb47ea 100644
--- a/media-gfx/photoqt/Manifest
+++ b/media-gfx/photoqt/Manifest
@@ -1 +1,3 @@
+DIST photoqt-extensions-v5.0.tar.bz2 76917 BLAKE2B 
218c598e54dda49e97e0f6450172da49e6bd4ffe699be3618d606e2f0115987eb44335c9e7b6180e71455bb3781de633e57011bf93e1913b1e3d8f0ffb07563a
 SHA512 
ddbb35fce38a1232ad3c65edb48ad9d9186691d156a28064a652efeb22241c46a64c4526ca7393de927d98d99c87372766166bd5365b6d5fab7e9214593d9074
 DIST photoqt-v4.9.2.tar.bz2 5297183 BLAKE2B 
cbe56e99c6749a186b1b9c654915db9b90c865f8c3ac2cb99ca2fce2eb5295a4b07a75872e90a1ab922d3b85589fb58ae4281610c56aa8ec6f54025da5f011bb
 SHA512 
0d94b68efce131fbeb2cb230291aed45adccc622116075a6757055566e97cef17a53afcdb1873d5ebb059d611cad9dbff0ad40cb2170d21397f8f02aa8010c38
+DIST photoqt-v5.0.tar.bz2 5686155 BLAKE2B 
26c2869b0d59d10fb74e5611820fae5beec01a264969317163445dd05b01b7fe3f22e3a2c2aa67f7d99c114a2865757c35c930b3184208d4835520ccbc33a78f
 SHA512 
abaac4e997e6b5c28428ec77824044b937c82a0166d51ac82db1f873115ab798cf1696d4915add755474e46d46bf63cef257cf062d80531c755313c952fd30a1

diff --git a/media-gfx/photoqt/metadata.xml b/media-gfx/photoqt/metadata.xml
index 3916fd4661ae..99b3b3df368b 100644
--- a/media-gfx/photoqt/metadata.xml
+++ b/media-gfx/photoqt/metadata.xml
@@ -6,6 +6,7 @@
                <flag name="barcode">Support for QR and barcodes detection 
using <pkg>media-libs/zxing-cpp</pkg></flag>
                <flag name="chromecast">Enable Chromecast support using 
<pkg>dev-python/pychromecast</pkg></flag>
                <flag name="devil">Support additional image formats using 
<pkg>media-libs/devil</pkg></flag>
+               <flag name="extensions">Support additional features using 
extensions</flag>
                <flag name="freeimage">Support additional image formats using 
<pkg>media-libs/freeimage</pkg></flag>
                <flag name="mpv">Support for video files using 
<pkg>media-video/mpv</pkg></flag>
                <flag name="vips">Support for <pkg>media-libs/vips</pkg> image 
processing library</flag>

diff --git a/media-gfx/photoqt/photoqt-5.0.ebuild 
b/media-gfx/photoqt/photoqt-5.0.ebuild
new file mode 100644
index 000000000000..d618465fc7f3
--- /dev/null
+++ b/media-gfx/photoqt/photoqt-5.0.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+inherit cmake optfeature python-single-r1 xdg
+
+DESCRIPTION="Simple but powerful Qt-based image viewer"
+HOMEPAGE="https://photoqt.org/";
+SRC_URI="
+       https://gitlab.com/lspies/photoqt/-/archive/v${PV}/${PN}-v${PV}.tar.bz2
+       extensions? ( 
https://gitlab.com/lspies/photoqt-extensions/-/archive/v${PV}/${PN}-extensions-v${PV}.tar.bz2
 )
+"
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="barcode chromecast devil exif extensions freeimage geolocation 
graphicsmagick +imagemagick lcms mpv pdf raw test vips wayland"
+REQUIRED_USE="chromecast? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+       app-arch/libarchive:=
+       dev-libs/pugixml
+       
dev-qt/qtbase:6[concurrent,dbus,gui,icu,network,opengl,sql,sqlite,widgets,xml]
+       dev-qt/qtdeclarative:6[opengl]
+       dev-qt/qtimageformats:6
+       dev-qt/qtmultimedia:6[qml]
+       dev-qt/qtsvg:6
+       barcode? ( media-libs/zxing-cpp:= )
+       chromecast? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep 
'dev-python/pychromecast[${PYTHON_USEDEP}]')
+       )
+       devil? ( media-libs/devil )
+       exif? ( media-gfx/exiv2:=[bmff] )
+       extensions? (
+               app-crypt/qca:2
+               dev-cpp/yaml-cpp:=
+       )
+       freeimage? ( media-libs/freeimage )
+       imagemagick? (
+               !graphicsmagick? ( media-gfx/imagemagick:=[cxx,hdri] )
+               graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
+       )
+       lcms? ( media-libs/lcms:2 )
+       mpv? ( media-video/mpv:=[libmpv] )
+       pdf? ( app-text/poppler[qt6] )
+       raw? ( media-libs/libraw:= )
+       vips? (
+               dev-libs/glib:2
+               media-libs/vips:=
+       )
+       wayland? ( dev-libs/wayland )
+"
+RDEPEND="
+       ${COMMON_DEPEND}
+       dev-qt/qtcharts:6[qml]
+       geolocation? (
+               dev-qt/qtlocation:6
+               dev-qt/qtpositioning:6[qml]
+       )
+"
+DEPEND="
+       ${COMMON_DEPEND}
+       vips? ( x11-base/xorg-proto )
+"
+BDEPEND="
+       dev-qt/qttools:6[linguist]
+       >=kde-frameworks/extra-cmake-modules-6.5.0:*
+       virtual/pkgconfig
+       chromecast? ( ${PYTHON_DEPS} )
+"
+
+pkg_setup() {
+       use chromecast && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+       default
+       if use extensions; then
+               rmdir "${S}"/extensions || die
+               ln -sfT ../${PN}-extensions-v${PV} "${S}"/extensions || die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DWITH_ZXING=$(usex barcode)
+               -DWITH_CHROMECAST=$(usex chromecast)
+               -DWITH_DEVIL=$(usex devil)
+               -DWITH_EXIV2=$(usex exif)
+               -DWITH_EXIV2_ENABLE_BMFF=$(usex exif)
+               -DWITH_EXTENSIONS_SUPPORT=$(usex extensions)
+               -DWITH_FREEIMAGE=$(usex freeimage)
+               -DWITH_LOCATION=$(usex geolocation)
+               -DWITH_GRAPHICSMAGICK=$(usex graphicsmagick $(usex imagemagick))
+               -DWITH_IMAGEMAGICK=$(usex imagemagick $(usex !graphicsmagick))
+               -DWITH_LCMS2=$(usex lcms)
+               -DWITH_VIDEO_MPV=$(usex mpv)
+               -DWITH_POPPLER=$(usex pdf)
+               -DWITH_LIBRAW=$(usex raw)
+               -DWITH_LIBVIPS=$(usex vips)
+               -DWITH_WAYLANDSPECIFIC=$(usex wayland)
+               -DWITH_ADAPTSOURCE=ON # adapt the sources according to the Qt 
version
+               -DWITH_LIBSAI=OFF # Wunkolo/libsai, no release, experimental
+               -DWITH_QTPDF=OFF # use poppler instead
+               -DWITH_RESVG=OFF # qt5 only
+               -DWITH_TESTING=$(usex test)
+       )
+
+       cmake_src_configure
+}
+
+src_test() {
+       local -x QT_QPA_PLATFORM=offscreen
+       # QCollator::setNumericMode is not supported w/ POSIX/C locale or w/o 
icu
+       # Set LC_COLLATE=en_US.utf8 if available.
+       # Required for PQTScriptsFilesPaths::getFoldersIn()
+       unset LC_COLLATE
+       locale -a | grep -iq "en_US.utf8" || die "locale en_US.utf8 not 
available, testsuite not launched"
+       LC_COLLATE="en_US.utf8" cmake_src_test -j1
+}
+
+pkg_postinst() {
+       optfeature "additional image formats like AVIF, EPS, HEIF/HEIC, PSD, 
etc." "kde-frameworks/kimageformats:6"
+       xdg_pkg_postinst
+}

Reply via email to