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 +}
