git: 2f9b7edeee79 - main - graphics/digikam: Update to 8.7.0

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Sun, 24 Aug 2025 09:45:39 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2f9b7edeee79a2f7bdd947d027302037e8369b3e

commit 2f9b7edeee79a2f7bdd947d027302037e8369b3e
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-08-24 08:18:45 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-08-24 09:45:31 +0000

    graphics/digikam: Update to 8.7.0
    
    Add AITOOLS option which will globally install the DNN (deep neural
    network) data currently required by the image autorotation feature.
    
    As with the other options in the DATA group, DNN files can easily be
    downloaded locally within the DigiKam application. The DNN files are
    very large and are, therefore, disabled by default to keep the pre-built
    packages provided by FreeBSD reasonably sized for the average consumer.
    
    The face detection feature gained an in-app test, but is only useful
    if graphics/opencv is built with the OPENCL option enabled. The test
    image is still checked for in the download prompt, regardless.
    
    Upstream seems to now prefer the WEBP format over PNG, including the
    splash screen, so add a runtime dep on graphics/qt6-imageformats, which
    provides WEBP support to the QImage class. This is a plugin and is not
    linked to.
    
    Announcement:
    https://www.digikam.org/news/2025-06-30-8.7.0_release_announcement/
---
 graphics/digikam/Makefile                          |  39 ++++--
 graphics/digikam/distinfo                          |  10 +-
 ...tch-core_libs_widgets_text_localizeselector.cpp |  14 ---
 graphics/digikam/pkg-plist                         | 136 +++++++++++----------
 4 files changed, 106 insertions(+), 93 deletions(-)

diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index 1931b993bb81..0ea448097714 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -1,13 +1,14 @@
 PORTNAME=	digikam
-DISTVERSION=	8.6.0
-PORTREVISION=	2
+DISTVERSION=	8.7.0
 CATEGORIES=	graphics kde
 MASTER_SITES=	KDE/stable/${PORTNAME}/${PORTVERSION} \
-		https://files.kde.org/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
-		https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
-		https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet
+		https://files.kde.org/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
+		https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
+		https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet
 MASTER_SITE_SUBDIR=	aestheticdetector/:aesthetic \
+			aitools/:aitools \
 			autotags/:autotags \
+			facesengine/:testimage \
 			facesengine/dnnface/:face \
 			facesengine/yunet/:yunet
 # One bit changed in the naming convention ..
@@ -32,7 +33,7 @@ LIB_DEPENDS=	libexiv2.so:graphics/exiv2 \
 		liblensfun.so:graphics/lensfun \
 		libopencv_core.so:graphics/opencv \
 		libheif.so:graphics/libheif \
-		libpng.so:graphics/png \
+		libpng16.so:graphics/png \
 		libtiff.so:graphics/tiff \
 		libx265.so:multimedia/x265
 RUN_DEPENDS=	exiftool:graphics/p5-Image-ExifTool
@@ -43,13 +44,15 @@ USES=		bison cmake compiler:c++20-lang desktop-file-utils eigen:3 \
 USE_GL=		opengl glu
 USE_GNOME=	glib20 libxml2 libxslt
 USE_KDE=	calendarcore colorscheme completion config configwidgets \
-		coreaddons doctools filemetadata i18n iconthemes jobwidgets \
-		kio libksane notifications notifyconfig service solid sonnet \
-		texttemplate threadweaver widgetsaddons windowsystem xmlgui \
+		coreaddons doctools filemetadata guiaddons i18n iconthemes \
+		jobwidgets kio libksane notifications notifyconfig service \
+		solid sonnet texttemplate threadweaver widgetsaddons \
+		windowsystem xmlgui \
 		ecm:build
 USE_LDCONFIG=	yes
 USE_QT=		base declarative networkauth positioning scxml svg \
-		webchannel webengine
+		webchannel webengine \
+		imageformats:run
 USE_XORG=	ice sm x11 xext
 
 SHEBANG_FILES=	core/data/scripts/digitaglinktree/digitaglinktree
@@ -69,7 +72,7 @@ WITH_CCACHE_BUILD=	yes
 OPTIONS_DEFINE=		KDEPIM MEDIAPLAYER
 OPTIONS_GROUP=		DATA
 DATA_DESC=		Binary data required for certain features
-OPTIONS_GROUP_DATA=	AESTHETIC AUTOTAGS FACEDETECT
+OPTIONS_GROUP_DATA=	AITOOLS AESTHETIC AUTOTAGS FACEDETECT
 OPTIONS_MULTI=		DB
 DB_DESC=		Database options
 OPTIONS_MULTI_DB=	MYSQL MYSQL_INTERNAL SQLITE3
@@ -78,7 +81,10 @@ OPTIONS_DEFAULT=	${OPTIONS_DEFINE} \
 OPTIONS_SUB=		yes
 
 # Check core/data/dnnmodels/dnnmodels.conf for new and obsolete files
-# for the AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
+# for the AITOOLS. AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
+AITOOLS_DESC=		Install aitools (autorotate) data (~330 MiB)
+AITOOLS_DISTFILES=	deep-image-orientation-angle-detection.onnx:aitools
+
 AESTHETIC_DESC=		Install aesthetic detection data (~84 MiB)
 AESTHETIC_DISTFILES=	weights_inceptionv3_299.pb:aesthetic
 
@@ -90,7 +96,8 @@ AUTOTAGS_DISTFILES=	classification_classes_ILSVRC2012.txt:autotags \
 			yolo11x.onnx:autotags
 
 FACEDETECT_DESC=	Install face management data (~37 MiB)
-FACEDETECT_DISTFILES=	face_recognition_sface_2021dec.onnx:face \
+FACEDETECT_DISTFILES=	dnntestimage.jpeg:testimage \
+			face_recognition_sface_2021dec.onnx:face \
 			face_detection_yunet_2023mar.onnx:yunet
 
 KDEPIM_DESC=		KDEPim Addressbook support
@@ -116,6 +123,12 @@ MYSQL_INTERNAL_IMPLIES=		MYSQL
 
 SQLITE3_USE=		QT=sqldriver-sqlite:run
 
+post-install-AITOOLS-on:
+	@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
+.for f in ${AITOOLS_DISTFILES:C/:.*//}
+	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
+.endfor
+
 post-install-AESTHETIC-on:
 	@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
 .for f in ${AESTHETIC_DISTFILES:C/:.*//}
diff --git a/graphics/digikam/distinfo b/graphics/digikam/distinfo
index f97c8c85ff7c..cb07adbc6828 100644
--- a/graphics/digikam/distinfo
+++ b/graphics/digikam/distinfo
@@ -1,8 +1,10 @@
-TIMESTAMP = 1745529278
-SHA256 (KDE/digikam/digiKam-8.6.0.tar.xz) = 000971e117201976cba413b6d7201720a8893799d6064bcf158d4388e829c233
-SIZE (KDE/digikam/digiKam-8.6.0.tar.xz) = 58958608
+TIMESTAMP = 1755889431
+SHA256 (KDE/digikam/digiKam-8.7.0.tar.xz) = 79e35ec20a43934cf8322d47c9c0540b0b8b727fa7d9aceb90f710fcfe9da02f
+SIZE (KDE/digikam/digiKam-8.7.0.tar.xz) = 55060536
 SHA256 (KDE/digikam/weights_inceptionv3_299.pb) = 8923e3daff71c07533b9023ef32c69d8c058d1e0931d76d8b81241a201138538
 SIZE (KDE/digikam/weights_inceptionv3_299.pb) = 88007527
+SHA256 (KDE/digikam/deep-image-orientation-angle-detection.onnx) = e9f9d20330977750bc941b5f820f80a07eef3b23bd8b2271d44d14488d8709b5
+SIZE (KDE/digikam/deep-image-orientation-angle-detection.onnx) = 345861567
 SHA256 (KDE/digikam/classification_classes_ILSVRC2012.txt) = 4eb3da435cf544e4a6f390f62c84cb9c9bb68cf8b14e97f8a063452382e5efd2
 SIZE (KDE/digikam/classification_classes_ILSVRC2012.txt) = 21675
 SHA256 (KDE/digikam/coco.names) = 634a1132eb33f8091d60f2c346ababe8b905ae08387037aed883953b7329af84
@@ -13,6 +15,8 @@ SHA256 (KDE/digikam/yolo11n.onnx) = 82f23e3cdc299fb44317e8a4b2c1d4d67efd0acd5eb3
 SIZE (KDE/digikam/yolo11n.onnx) = 10720316
 SHA256 (KDE/digikam/yolo11x.onnx) = dd81d4d06a4c92a6e1066d024219efe5c4c1982566ddf6ce5c280ebd847f117a
 SIZE (KDE/digikam/yolo11x.onnx) = 228016573
+SHA256 (KDE/digikam/dnntestimage.jpeg) = 158c039c7ae795340eea959bedde4a5d263a8add9e5bebca10b4a45bb7073a2b
+SIZE (KDE/digikam/dnntestimage.jpeg) = 52913
 SHA256 (KDE/digikam/face_recognition_sface_2021dec.onnx) = 0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79
 SIZE (KDE/digikam/face_recognition_sface_2021dec.onnx) = 38696353
 SHA256 (KDE/digikam/face_detection_yunet_2023mar.onnx) = 8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4
diff --git a/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp b/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp
deleted file mode 100644
index 96bf42efa73f..000000000000
--- a/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix build with Qt 6.9. QChar constructors no longer perform implicit
-conversions.
-
---- core/libs/widgets/text/localizeselector.cpp.orig	2025-03-15 14:01:45 UTC
-+++ core/libs/widgets/text/localizeselector.cpp
-@@ -326,7 +326,7 @@ bool s_inlineTranslateString(const QString& text, cons
-     }
-     else
-     {
--        error = QChar(trengine->error());
-+        error = QChar(static_cast<int>(trengine->error()));
-     }
- 
-     return false;
diff --git a/graphics/digikam/pkg-plist b/graphics/digikam/pkg-plist
index f2d0e31ce77c..a8e603db429f 100644
--- a/graphics/digikam/pkg-plist
+++ b/graphics/digikam/pkg-plist
@@ -25,6 +25,7 @@ include/digikam/dcolorcomposer.h
 include/digikam/dcolorpixelaccess.h
 include/digikam/dcolorselector.h
 include/digikam/dexpanderbox.h
+include/digikam/dfiledialog.h
 include/digikam/dhistoryview.h
 include/digikam/digikam_config.h
 include/digikam/digikam_core_export.h
@@ -46,6 +47,9 @@ include/digikam/dinfointerface.h
 include/digikam/ditemslist.h
 include/digikam/ditemtooltip.h
 include/digikam/dmessagebox.h
+include/digikam/dmetadata.h
+include/digikam/dmetadatasettings.h
+include/digikam/dmetadatasettingscontainer.h
 include/digikam/dmetainfoiface.h
 include/digikam/dplugin.h
 include/digikam/dpluginaboutdlg.h
@@ -97,6 +101,8 @@ include/digikam/managedloadsavethread.h
 include/digikam/metadatainfo.h
 include/digikam/metaengine.h
 include/digikam/metaengine_data.h
+include/digikam/metaenginesettings.h
+include/digikam/metaenginesettingscontainer.h
 include/digikam/modelcompleter.h
 include/digikam/photoinfocontainer.h
 include/digikam/previewlayout.h
@@ -109,6 +115,7 @@ include/digikam/searchtextbar.h
 include/digikam/statesavingobject.h
 include/digikam/thumbnailinfo.h
 include/digikam/thumbnailloadthread.h
+include/digikam/videoinfocontainer.h
 include/digikam/wbcontainer.h
 include/digikam/wsitem.h
 include/digikam/wslogindialog.h
@@ -139,6 +146,7 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_AssignTemplate_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Assigncaptions_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_AutoCorrection_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AutoRotate_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_BWconvert_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_BcgCorrection_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Blur_Plugin.so
@@ -298,8 +306,8 @@ share/applications/org.kde.showfoto.desktop
 %%DATADIR%%/about/css/bootstrap-theme.min.css
 %%DATADIR%%/about/css/bootstrap.min.css
 %%DATADIR%%/about/css/digikam.css
-%%DATADIR%%/about/images/body-background.jpg
-%%DATADIR%%/about/images/top-left-digikam.png
+%%DATADIR%%/about/images/body-background.webp
+%%DATADIR%%/about/images/top-left-digikam.webp
 %%DATADIR%%/about/js/bootstrap.min.js
 %%DATADIR%%/about/js/digikam.js
 %%DATADIR%%/about/js/jquery.min.js
@@ -314,89 +322,91 @@ share/applications/org.kde.showfoto.desktop
 %%DATADIR%%/colorschemes/shadeofgray.colors
 %%DATADIR%%/colorschemes/sunsetcolor.colors
 %%DATADIR%%/colorschemes/whitebalance.colors
-%%DATADIR%%/data/assistant-enfuse.png
-%%DATADIR%%/data/assistant-hugin.png
-%%DATADIR%%/data/assistant-preprocessing.png
-%%DATADIR%%/data/assistant-stack.png
-%%DATADIR%%/data/assistant-tripod.png
-%%DATADIR%%/data/banner-digikam.png
-%%DATADIR%%/data/bluejean-texture.png
+%%DATADIR%%/data/assistant-enfuse.webp
+%%DATADIR%%/data/assistant-hugin.webp
+%%DATADIR%%/data/assistant-preprocessing.webp
+%%DATADIR%%/data/assistant-stack.webp
+%%DATADIR%%/data/assistant-tripod.webp
+%%DATADIR%%/data/banner-digikam.webp
+%%DATADIR%%/data/bluejean-texture.webp
 %%DATADIR%%/data/bothhorz.png
 %%DATADIR%%/data/bothvert.png
-%%DATADIR%%/data/bricks-texture.png
-%%DATADIR%%/data/bricks2-texture.png
-%%DATADIR%%/data/burlap-texture.png
-%%DATADIR%%/data/canvas-texture.png
-%%DATADIR%%/data/cellwood-texture.png
+%%DATADIR%%/data/bricks-texture.webp
+%%DATADIR%%/data/bricks2-texture.webp
+%%DATADIR%%/data/burlap-texture.webp
+%%DATADIR%%/data/canvas-texture.webp
+%%DATADIR%%/data/cellwood-texture.webp
 %%DATADIR%%/data/centerheight.png
 %%DATADIR%%/data/centerwidth.png
-%%DATADIR%%/data/chalk-pattern.png
+%%DATADIR%%/data/chalk-pattern.webp
 %%DATADIR%%/data/colors-chromablue.png
 %%DATADIR%%/data/colors-chromared.png
 %%DATADIR%%/data/colors-luma.png
-%%DATADIR%%/data/craters-pattern.png
+%%DATADIR%%/data/craters-pattern.webp
 %%DATADIR%%/data/curvefree.png
 %%DATADIR%%/data/curvemooth.png
-%%DATADIR%%/data/dried-pattern.png
+%%DATADIR%%/data/dried-pattern.webp
 %%DATADIR%%/data/duplicatebothhorz.png
 %%DATADIR%%/data/duplicatebothvert.png
 %%DATADIR%%/data/editimage.png
 %%DATADIR%%/data/exifinfo.png
-%%DATADIR%%/data/fabric-texture.png
-%%DATADIR%%/data/granit-pattern.png
-%%DATADIR%%/data/ice-pattern.png
+%%DATADIR%%/data/fabric-texture.webp
+%%DATADIR%%/data/granit-pattern.webp
+%%DATADIR%%/data/ice-pattern.webp
 %%DATADIR%%/data/image-full.png
 %%DATADIR%%/data/image-selection.png
-%%DATADIR%%/data/leaf-pattern.png
-%%DATADIR%%/data/logo-beta.png
-%%DATADIR%%/data/logo-cimg.png
-%%DATADIR%%/data/logo-digikam.png
-%%DATADIR%%/data/logo-gphoto.png
-%%DATADIR%%/data/logo-lcms.png
-%%DATADIR%%/data/logo-piwigo.png
-%%DATADIR%%/data/lut3d/bleach.png
-%%DATADIR%%/data/lut3d/blue_crush.png
-%%DATADIR%%/data/lut3d/bw_contrast.png
-%%DATADIR%%/data/lut3d/instant.png
-%%DATADIR%%/data/lut3d/original.png
-%%DATADIR%%/data/lut3d/punch.png
-%%DATADIR%%/data/lut3d/summer.png
-%%DATADIR%%/data/lut3d/tokyo.png
-%%DATADIR%%/data/lut3d/vintage.png
-%%DATADIR%%/data/lut3d/washout.png
-%%DATADIR%%/data/lut3d/washout_color.png
-%%DATADIR%%/data/lut3d/x_process.png
-%%DATADIR%%/data/marble-pattern.png
-%%DATADIR%%/data/marble-texture.png
-%%DATADIR%%/data/marble2-texture.png
-%%DATADIR%%/data/metalwire-texture.png
-%%DATADIR%%/data/modern-texture.png
-%%DATADIR%%/data/moss-texture.png
+%%DATADIR%%/data/leaf-pattern.webp
+%%DATADIR%%/data/logo-beta.webp
+%%DATADIR%%/data/logo-cimg.webp
+%%DATADIR%%/data/logo-digikam.webp
+%%DATADIR%%/data/logo-gphoto.webp
+%%DATADIR%%/data/logo-lcms.webp
+%%DATADIR%%/data/logo-piwigo.webp
+%%DATADIR%%/data/lut3d/bleach.webp
+%%DATADIR%%/data/lut3d/blue_crush.webp
+%%DATADIR%%/data/lut3d/bw_contrast.webp
+%%DATADIR%%/data/lut3d/instant.webp
+%%DATADIR%%/data/lut3d/original.webp
+%%DATADIR%%/data/lut3d/punch.webp
+%%DATADIR%%/data/lut3d/summer.webp
+%%DATADIR%%/data/lut3d/tokyo.webp
+%%DATADIR%%/data/lut3d/vintage.webp
+%%DATADIR%%/data/lut3d/washout.webp
+%%DATADIR%%/data/lut3d/washout_color.webp
+%%DATADIR%%/data/lut3d/x_process.webp
+%%DATADIR%%/data/marble-pattern.webp
+%%DATADIR%%/data/marble-texture.webp
+%%DATADIR%%/data/marble2-texture.webp
+%%DATADIR%%/data/metalwire-texture.webp
+%%DATADIR%%/data/modern-texture.webp
+%%DATADIR%%/data/moss-texture.webp
 %%DATADIR%%/data/original.png
-%%DATADIR%%/data/paper-pattern.png
-%%DATADIR%%/data/paper-texture.png
-%%DATADIR%%/data/paper2-texture.png
-%%DATADIR%%/data/parque-pattern.png
-%%DATADIR%%/data/pine-pattern.png
-%%DATADIR%%/data/pink-pattern.png
+%%DATADIR%%/data/paper-pattern.webp
+%%DATADIR%%/data/paper-texture.webp
+%%DATADIR%%/data/paper2-texture.webp
+%%DATADIR%%/data/parque-pattern.webp
+%%DATADIR%%/data/pine-pattern.webp
+%%DATADIR%%/data/pink-pattern.webp
 %%DATADIR%%/data/process-working.png
-%%DATADIR%%/data/rain-pattern.png
-%%DATADIR%%/data/rock-pattern.png
-%%DATADIR%%/data/sample-aix.png
-%%DATADIR%%/data/splash-digikam.png
-%%DATADIR%%/data/stone-pattern.png
-%%DATADIR%%/data/stone-texture.png
+%%DATADIR%%/data/rain-pattern.webp
+%%DATADIR%%/data/rock-pattern.webp
+%%DATADIR%%/data/sample-aix.webp
+%%DATADIR%%/data/splash-digikam.webp
+%%DATADIR%%/data/stone-pattern.webp
+%%DATADIR%%/data/stone-texture.webp
 %%DATADIR%%/data/target.png
 %%DATADIR%%/data/togglemouseover.png
 %%DATADIR%%/data/video-digikam.mp4
-%%DATADIR%%/data/wall-pattern.png
-%%DATADIR%%/data/wall-texture.png
-%%DATADIR%%/data/wood-pattern.png
+%%DATADIR%%/data/wall-pattern.webp
+%%DATADIR%%/data/wall-texture.webp
+%%DATADIR%%/data/wood-pattern.webp
 %%DATADIR%%/database/dbconfig.xml
 %%DATADIR%%/database/mysql-global.conf
 %%DATADIR%%/dnnmodels/dnnmodels.conf
 %%AUTOTAGS%%%%DATADIR%%/facesengine/classification_classes_ILSVRC2012.txt
 %%AUTOTAGS%%%%DATADIR%%/facesengine/coco.names
+%%AITOOLS%%%%DATADIR%%/facesengine/deep-image-orientation-angle-detection.onnx
+%%FACEDETECT%%%%DATADIR%%/facesengine/dnntestimage.jpeg
 %%AUTOTAGS%%%%DATADIR%%/facesengine/efficientnetb7.onnx
 %%FACEDETECT%%%%DATADIR%%/facesengine/face_detection_yunet_2023mar.onnx
 %%FACEDETECT%%%%DATADIR%%/facesengine/face_recognition_sface_2021dec.onnx
@@ -2051,7 +2061,7 @@ share/man/man1/cleanup_digikamdb.1.gz
 share/man/man1/digitaglinktree.1.gz
 share/metainfo/org.kde.digikam.appdata.xml
 share/metainfo/org.kde.showfoto.appdata.xml
-share/showfoto/data/banner-showfoto.png
-share/showfoto/data/logo-showfoto.png
-share/showfoto/data/splash-showfoto.png
+share/showfoto/data/banner-showfoto.webp
+share/showfoto/data/logo-showfoto.webp
+share/showfoto/data/splash-showfoto.webp
 share/solid/actions/digikam-opencamera.desktop