git: dbbf964f8cad - main - graphics/digikam: Update to 8.1.0

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Mon, 17 Jul 2023 15:20:21 UTC
The branch main has been updated by jhale:

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

commit dbbf964f8cad61eb67b21f2f1e5b09f7ed63d3d6
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2023-07-17 04:21:12 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2023-07-17 15:20:14 +0000

    graphics/digikam: Update to 8.1.0
    
    Remove DOCS option: The docs haven't been shipped with digikam starting
    with 6.0.0 and are now in a separate repository:
    https://invent.kde.org/documentation/digikam-doc
    This could potentially be a separate port, but they've been gone for
    4 years and the online docs are still available from within digikam
    through the help menu or using a webbrowser.
    
    Remove DOXYGEN option: Enabling the DOXYGEN option was just creating
    the target to build the API docs, but we weren't actually building that
    target. They probably are not useful to most users and would just
    add to the build overhead.
    
    Remove KVKONTAKTE option: Plugin was removed upstream.
    
    Add FACEDETECT option: This installs data required for the facial
    recognition feature to work. The files total about 420MB, so this is
    set to off by default for now. Could be a seperate port to make it
    easier to allow users to add later if they want.
    
    Re-enable the MEDIAPLAYER option and add options pertaining to it.
    QtAV was imported into the digikam codebase after being abandoned by
    the original author and can now build with ffmpeg 6.x.
    
    Add options for finer database control and disable internal MySQL
    support by default as it only works with MariaDB.
    
    8.1.0: https://www.digikam.org/news/2023-07-09-8.1.0_release_announcement/
    8.0.0: https://www.digikam.org/news/2023-04-16-8.0.0_release_announcement/
---
 graphics/digikam/Makefile                          | 105 ++++++++++++++-------
 graphics/digikam/distinfo                          |  20 +++-
 graphics/digikam/files/patch-CMakeLists.txt        |  11 ---
 graphics/digikam/files/patch-core_CMakeLists.txt   |  40 ++++----
 .../files/patch-core_cmake_modules_FindQtAV.cmake  |  20 ----
 ...ore_dplugins_generic_webservices_CMakeLists.txt |  15 ---
 ..._metadataengine_engine_metaengine__comments.cpp |  11 ---
 ...s_metadataengine_engine_metaengine__data__p.cpp |  11 ---
 ...libs_metadataengine_engine_metaengine__exif.cpp |  98 -------------------
 ...libs_metadataengine_engine_metaengine__iptc.cpp |  29 ------
 ...libs_metadataengine_engine_metaengine__item.cpp |  65 -------------
 ...re_libs_metadataengine_engine_metaengine__p.cpp |  11 ---
 ...core_libs_metadataengine_engine_metaengine__p.h |  22 -----
 ..._libs_metadataengine_engine_metaengine__xmp.cpp |  20 ----
 graphics/digikam/pkg-plist                         |  41 +++++++-
 15 files changed, 141 insertions(+), 378 deletions(-)

diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index 6309bb4fce25..ade4f13c9ee9 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -1,11 +1,17 @@
 PORTNAME=	digikam
-DISTVERSION=	7.10.0
-PORTREVISION=	7
+DISTVERSION=	8.1.0
 CATEGORIES=	graphics kde
-MASTER_SITES=	KDE/stable/${PORTNAME}/${PORTVERSION}
-DIST_SUBDIR=	KDE/${PORTNAME}/${PORTVERSION}
+MASTER_SITES=	KDE/stable/${PORTNAME}/${PORTVERSION} \
+		https://files.kde.org/digikam/%SUBDIR%/:aesthetic,face,shape \
+		https://kde-applicationdata.mirrors.omnilance.com/digikam/%SUBDIR%/:aesthetic,face,shape \
+		https://mirrors.ocf.berkeley.edu/kde-applicationdata/digikam/%SUBDIR%/:aesthetic,face,shape
+MASTER_SITE_SUBDIR=	aestheticdetector/:aesthetic \
+			facesengine/dnnface/:face \
+			facesengine/shape-predictor/:shape
 # One bit changed in the naming convention ..
 DISTFILES=	digiKam-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}${EXTRACT_SUFX}
+DIST_SUBDIR=	KDE/${PORTNAME}/${PORTVERSION}
+EXTRACT_ONLY=	digiKam-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}${EXTRACT_SUFX}
 
 MAINTAINER=	kde@FreeBSD.org
 COMMENT=	KDE digital photo management application
@@ -31,8 +37,9 @@ LIB_DEPENDS=	libKF5Sane.so:graphics/libksane \
 		libtiff.so:graphics/tiff \
 		libx265.so:multimedia/x265
 
-USES=		bison cmake compiler:c++11-lib desktop-file-utils eigen:3 gl \
-		gnome jpeg kde:5 magick pkgconfig qt:5 shebangfix tar:xz xorg
+USES=		bison cmake compiler:c++17-lang desktop-file-utils eigen:3 gl \
+		gnome jpeg kde:5 localbase:ldflags magick pkgconfig qt:5 \
+		shebangfix tar:xz xorg
 USE_GL=		gl glu
 USE_GNOME=	glib20 libxml2 libxslt
 USE_KDE=	archive auth bookmarks calendarcore codecs completion config \
@@ -41,9 +48,8 @@ USE_KDE=	archive auth bookmarks calendarcore codecs completion config \
 		kio marble libkipi notifications notifyconfig parts service \
 		solid sonnet textwidgets threadweaver unitconversion \
 		widgetsaddons windowsystem xmlgui
-USE_QT=		concurrent core dbus declarative gui location network opengl \
-		printsupport sql webchannel widgets x11extras xml xmlpatterns \
-		sql-sqlite3:run \
+USE_QT=		concurrent core dbus declarative gui location network networkauth \
+		opengl printsupport sql webchannel widgets x11extras xml xmlpatterns \
 		buildtools:build qmake:build
 USE_XORG=	ice sm x11 xext
 
@@ -52,51 +58,72 @@ SHEBANG_FILES=	core/data/scripts/digitaglinktree/digitaglinktree
 
 WITH_CCACHE_BUILD=	yes
 
-# Disable kipiplugins, as they are built in their own port: graphics/kipiplugins.
-# Remember to keep that port in sync with this one.
-CMAKE_ON=	BUILD_WITH_CCACHE DIGIKAMSC_COMPILE_DIGIKAM ENABLE_KFILEMETADATASUPPORT
-
-OPTIONS_DEFINE=		DOCS DOXYGEN KDEPIM KVKONTAKTE MEDIAPLAYER MYSQL NLS WEBENGINE
-OPTIONS_DEFAULT=	${OPTIONS_DEFINE:NWEBENGINE:NMEDIAPLAYER}
+CMAKE_ON=	BUILD_WITH_CCACHE DIGIKAMSC_COMPILE_DIGIKAM ENABLE_KFILEMETADATASUPPORT \
+		CMAKE_DISABLE_FIND_PACKAGE_VAAPI
+
+OPTIONS_DEFINE=		FACEDETECT KDEPIM MEDIAPLAYER NLS WEBENGINE
+OPTIONS_GROUP=		MP
+MP_DESC=		Media player options
+OPTIONS_GROUP_MP=	OPENAL PORTAUDIO PULSEAUDIO
+OPTIONS_MULTI=		DB
+DB_DESC=		Database options
+OPTIONS_MULTI_DB=	MYSQL MYSQL_INTERNAL SQLITE3
+OPTIONS_DEFAULT=	${OPTIONS_DEFINE:NFACEDETECT} \
+			${OPTIONS_GROUP_MP:NPORTAUDIO:NPULSEAUDIO} \
+			${OPTIONS_MULTI_DB:NMYSQL_INTERNAL}
 OPTIONS_SUB=		yes
 
-DOCS_DESC=		Digikam documentation
-DOCS_CMAKE_BOOL=	DIGIKAMSC_COMPILE_DOC
-DOCS_USES=		gettext
-DOCS_USE=		KDE=doctools
-
-DOXYGEN_BUILD_DEPENDS=	doxygen:devel/doxygen
-DOXYGEN_IMPLIES=	DOCS
+FACEDETECT_DESC=	Install data required for face detection (~420MB)
+FACEDETECT_DISTFILES=	weights_inceptionv3_299.pb:aesthetic \
+			deploy.prototxt:face \
+			openface_nn4.small2.v1.t7:face \
+			res10_300x300_ssd_iter_140000_fp16.caffemodel:face \
+			yolov3-face.cfg:face \
+			yolov3-wider_16000.weights:face \
+			shapepredictor.dat:shape
 
 KDEPIM_DESC=		KDEPim Addressbook support
 KDEPIM_USE=		KDE=akonadi,akonadicontacts,contacts,grantleetheme
 KDEPIM_USES=		grantlee:5
 KDEPIM_CMAKE_BOOL=	ENABLE_AKONADICONTACTSUPPORT
-KDEPIM_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_KF5AkonadiContact
 
-MEDIAPLAYER_DESC=	Enable mediaplayer
-MEDIAPLAYER_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
-				libQtAV.so:multimedia/QtAV
+MEDIAPLAYER_DESC=		Enable media player
+MEDIAPLAYER_LIB_DEPENDS=	libass.so:multimedia/libass \
+				libavcodec.so:multimedia/ffmpeg
+MEDIAPLAYER_USE=		XORG=xv
 MEDIAPLAYER_CMAKE_BOOL=		ENABLE_MEDIAPLAYER
-MEDIAPLAYER_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_FFmpeg \
-				CMAKE_DISABLE_FIND_PACKAGE_QtAV
+MEDIAPLAYER_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_FFmpeg
 
-MYSQL_USES=		mysql:server
 MYSQL_USE=		QT=sql-mysql:run
-MYSQL_CMAKE_BOOL=	ENABLE_INTERNALMYSQL \
-			ENABLE_MYSQLSUPPORT
-MYSQL_CMAKE_ON=		-DMYSQLD_PATH:PATH=${LOCALBASE}/libexec \
-			-DMYSQL_TOOLS_PATH:PATH=${LOCALBASE}/bin
+MYSQL_CMAKE_BOOL=	ENABLE_MYSQLSUPPORT
 
-KVKONTAKTE_DESC=	vk.com Plugin
-KVKONTAKTE_LIB_DEPENDS=	libKF5Vkontakte.so:net/libkvkontakte
-KVKONTAKTE_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_KF5Vkontakte
+MYSQL_INTERNAL_DESC=		Use a dedicated MySQL instance (requires MariaDB)
+MYSQL_INTERNAL_USES=		mysql:server
+MYSQL_INTERNAL_CMAKE_BOOL=	ENABLE_INTERNALMYSQL
+# Only works with MariaDB. Try to keep this in sync with supported MySQL
+# versions and add any version not ending with 'm' to the IGNORE list.
+MYSQL_INTERNAL_VARS=		IGNORE_WITH_MYSQL="57 80 57p 57w"
+MYSQL_INTERNAL_IMPLIES=		MYSQL
 
 NLS_DESC=		Digikam i18n translations
 NLS_CMAKE_BOOL=		DIGIKAMSC_COMPILE_PO
 NLS_USES=		gettext
 NLS_USE=		KDE=i18n
 
+OPENAL_USES=		openal
+OPENAL_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_OpenAL
+OPENAL_IMPLIES=		MEDIAPLAYER
+
+PORTAUDIO_LIB_DEPENDS=		libportaudio.so:audio/portaudio
+PORTAUDIO_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_Portaudio
+PORTAUDIO_IMPLIES=		MEDIAPLAYER
+
+PULSEAUDIO_LIB_DEPENDS=		libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_PulseAudio
+PULSEAUDIO_IMPLIES=		MEDIAPLAYER
+
+SQLITE3_USE=		QT=sql-sqlite3:run
+
 WEBENGINE_DESC=		Use Qt WebEngine instead of WebKit
 WEBENGINE_USE=		QT=webengine
 WEBENGINE_USE_OFF=	QT=webkit
@@ -104,4 +131,10 @@ WEBENGINE_CMAKE_BOOL=	ENABLE_QWEBENGINE
 
 PLIST_SUB=		SHLIB_VER=${DISTVERSION}
 
+post-install-FACEDETECT-on:
+	@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
+.for f in ${FACEDETECT_DISTFILES:C/:.*//}
+	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
+.endfor
+
 .include <bsd.port.mk>
diff --git a/graphics/digikam/distinfo b/graphics/digikam/distinfo
index 2ebf0b14a5f7..248ea48691c7 100644
--- a/graphics/digikam/distinfo
+++ b/graphics/digikam/distinfo
@@ -1,3 +1,17 @@
-TIMESTAMP = 1678775445
-SHA256 (KDE/digikam/7.10.0/digiKam-7.10.0.tar.xz) = a3f30f01b7d1b6d585822bcd5ebf8df69e0ff024563a72462ebf8069dbda22e1
-SIZE (KDE/digikam/7.10.0/digiKam-7.10.0.tar.xz) = 349238192
+TIMESTAMP = 1689392235
+SHA256 (KDE/digikam/8.1.0/digiKam-8.1.0.tar.xz) = 0503c034e445ff424f18a6715c0a7a79be4a5e0c82b3ebc461a21cec3745a5b3
+SIZE (KDE/digikam/8.1.0/digiKam-8.1.0.tar.xz) = 35712348
+SHA256 (KDE/digikam/8.1.0/weights_inceptionv3_299.pb) = 8923e3daff71c07533b9023ef32c69d8c058d1e0931d76d8b81241a201138538
+SIZE (KDE/digikam/8.1.0/weights_inceptionv3_299.pb) = 88007527
+SHA256 (KDE/digikam/8.1.0/deploy.prototxt) = f62621cac923d6f37bd669298c428bb7ee72233b5f8c3389bb893e35ebbcf795
+SIZE (KDE/digikam/8.1.0/deploy.prototxt) = 28092
+SHA256 (KDE/digikam/8.1.0/openface_nn4.small2.v1.t7) = 9b72d54aeb24a64a8135dca8e792f7cc675c99a884a6940350a6cedcf7b7ba08
+SIZE (KDE/digikam/8.1.0/openface_nn4.small2.v1.t7) = 31510785
+SHA256 (KDE/digikam/8.1.0/res10_300x300_ssd_iter_140000_fp16.caffemodel) = 510ffd2471bd81e3fcc88a5beb4eae4fb445ccf8333ebc54e7302b83f4158a76
+SIZE (KDE/digikam/8.1.0/res10_300x300_ssd_iter_140000_fp16.caffemodel) = 5351047
+SHA256 (KDE/digikam/8.1.0/yolov3-face.cfg) = f6563bd6923fd6500d2c2d6025f32ebdba916a85e5c9798351d916909f62aaf5
+SIZE (KDE/digikam/8.1.0/yolov3-face.cfg) = 8334
+SHA256 (KDE/digikam/8.1.0/yolov3-wider_16000.weights) = a88f3b3882e3cce1e553a81d42beef6202cb9afc3db88e7944f9ffbcc369e7df
+SIZE (KDE/digikam/8.1.0/yolov3-wider_16000.weights) = 246305388
+SHA256 (KDE/digikam/8.1.0/shapepredictor.dat) = 6f3d2a59dc30c7c9166983224dcf5732b25de734fff1e36ff1f3047ef90ed82b
+SIZE (KDE/digikam/8.1.0/shapepredictor.dat) = 67740572
diff --git a/graphics/digikam/files/patch-CMakeLists.txt b/graphics/digikam/files/patch-CMakeLists.txt
deleted file mode 100644
index cd2f07e9b296..000000000000
--- a/graphics/digikam/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig	2020-04-23 11:51:20 UTC
-+++ CMakeLists.txt
-@@ -9,6 +9,8 @@ set(ECM_MIN_VERSION     "1.7.0")
- 
- cmake_minimum_required(VERSION ${CMAKE_MIN_VERSION})
- 
-+cmake_policy(SET CMP0063 OLD) # Suppress visibility warnings
-+
- execute_process(COMMAND ${CMAKE_COMMAND} --version OUTPUT_VARIABLE VERSION_CMAKE_INFO)
- message(STATUS "CMake version: ${VERSION_CMAKE_INFO}")
- 
diff --git a/graphics/digikam/files/patch-core_CMakeLists.txt b/graphics/digikam/files/patch-core_CMakeLists.txt
index 03bbfb53f083..bb5c7fe82555 100644
--- a/graphics/digikam/files/patch-core_CMakeLists.txt
+++ b/graphics/digikam/files/patch-core_CMakeLists.txt
@@ -1,33 +1,25 @@
---- core/CMakeLists.txt.orig	2023-03-12 13:19:01 UTC
+core/cmake/modules/FindLQR-1.cmake fails to find LQR in the linking test
+because the path to the library is not passed to the linker. This could
+be addressed by running what pkg_check_modules() finds through find_library()
+first or rewriting the module to avoid using pkgconf all together.
+
+The local workaround is to set USES+=localbase:ldflags to avoid extra patches.
+
+--- core/CMakeLists.txt.orig	2023-07-14 21:16:22 UTC
 +++ core/CMakeLists.txt
-@@ -10,6 +10,7 @@ APPLY_COMMON_POLICIES()
- 
- # ==============================================================================
- 
-+cmake_policy(SET CMP0063 OLD) # Suppress visibility warnings
- message(STATUS "----------------------------------------------------------------------------------")
- message(STATUS "Check dependencies for ${PROJECT_NAME} version ${DIGIKAM_VERSION_STRING}")
- message(STATUS "")
-@@ -132,6 +133,7 @@ if(ENABLE_AKONADICONTACTSUPPORT)
- 
-     find_package(KF5 ${AKONADI_MIN_VERSION} QUIET
-                  OPTIONAL_COMPONENTS
-+                 Akonadi                # We need to search for Akonadi explicitly so that the KF5::AkonadiCore target is defined after KDE PIM 23.04
-                  AkonadiContact         # For KDE Mail Contacts support.
-                  Contacts               # API for contacts/address book data.
-     )
-@@ -379,8 +381,13 @@ endif()
+@@ -142,13 +142,13 @@ find_package(Doxygen)
  
  find_package(Doxygen)
  
 -if(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
 +#if(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
-     find_package(Lqr-1)
+ 
+     # Lqr-1 packaging and detection under FreeBSD is problematic since a very long time and break the Gitlab CI
+ 
+     find_package(LQR-1)
+ 
+-endif()
 +#endif()
-+if(LQR-1_FOUND)
-+    include_directories(${LQR-1_INCLUDE_DIRS})
-+    set(liblqr_LIBS ${LQR-1_LIBRARIES})
-+    link_directories(${LQR-1_LIBDIR})
- endif()
  
  if(BUILD_WITH_CCACHE)
+ 
diff --git a/graphics/digikam/files/patch-core_cmake_modules_FindQtAV.cmake b/graphics/digikam/files/patch-core_cmake_modules_FindQtAV.cmake
deleted file mode 100644
index c8109722b04a..000000000000
--- a/graphics/digikam/files/patch-core_cmake_modules_FindQtAV.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-Add PATH_SUFFIXES to properly find the QtAV library.
-
---- core/cmake/modules/FindQtAV.cmake.orig	2020-04-23 11:51:20 UTC
-+++ core/cmake/modules/FindQtAV.cmake
-@@ -52,6 +52,7 @@ if (NOT APPLE)
-                        libQtAV
-                        libQtAV1
-                  HINTS ${_qt5_install_prefix}/../
-+                 PATH_SUFFIXES qt5
-     )
- 
-     find_library(QTAV_WIDGETS_LIBRARY
-@@ -60,6 +61,7 @@ if (NOT APPLE)
-                        libQtAVWidgets
-                        libQtAVWidgets1
-                  HINTS ${_qt5_install_prefix}/../
-+                 PATH_SUFFIXES qt5
-     )
- 
-     set(QTAV_INCLUDE_DIRS "${QTAV_CORE_INCLUDE_DIR} ${QTAV_WIDGETS_INCLUDE_DIR}")
diff --git a/graphics/digikam/files/patch-core_dplugins_generic_webservices_CMakeLists.txt b/graphics/digikam/files/patch-core_dplugins_generic_webservices_CMakeLists.txt
deleted file mode 100644
index 3b3a9f1798e6..000000000000
--- a/graphics/digikam/files/patch-core_dplugins_generic_webservices_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
---- core/dplugins/generic/webservices/CMakeLists.txt.orig	2022-06-22 11:35:53 UTC
-+++ core/dplugins/generic/webservices/CMakeLists.txt
-@@ -33,10 +33,10 @@ add_subdirectory(twitter)
- 
- add_subdirectory(smugmug)
- add_subdirectory(twitter)
--#add_subdirectory(yandexfotki)
-+add_subdirectory(yandexfotki)
- 
- if(KF5KIO_FOUND)
--#    add_subdirectory(vkontakte)
-+    add_subdirectory(vkontakte)
-     add_subdirectory(filetransfer)
- endif()
- 
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__comments.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__comments.cpp
deleted file mode 100644
index ea033e9b1ef8..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__comments.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_comments.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_comments.cpp
-@@ -64,7 +64,7 @@ bool MetaEngine::canWriteComment(const QString& filePa
-     catch (Exiv2::AnyError& e)
-     {
-         qCCritical(DIGIKAM_METAENGINE_LOG) << "Cannot check Comment access mode with Exiv2 (Error #"
--                                           << e.code() << ": " << QString::fromStdString(e.what()) << ")";
-+                                           << static_cast<int>(e.code()) << ": " << QString::fromStdString(e.what()) << ")";
-     }
-     catch (...)
-     {
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__data__p.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__data__p.cpp
deleted file mode 100644
index 0131c92db68c..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__data__p.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_data_p.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_data_p.cpp
-@@ -52,7 +52,7 @@ void MetaEngineData::Private::clear()
-     catch (Exiv2::AnyError& e)
-     {
-         qCCritical(DIGIKAM_METAENGINE_LOG) << "Cannot clear data container with Exiv2 "
--                                           << "(Error #" << e.code() << ": "
-+                                           << "(Error #" << static_cast<int>(e.code()) << ": "
-                                            << QString::fromStdString(e.what())
-                                            << ")";
-     }
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__exif.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__exif.cpp
deleted file mode 100644
index 4bf3eb5d4c7f..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__exif.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_exif.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_exif.cpp
-@@ -80,7 +80,7 @@ bool MetaEngine::canWriteExif(const QString& filePath)
-     catch (Exiv2::AnyError& e)
-     {
-         qCCritical(DIGIKAM_METAENGINE_LOG) << "Cannot check Exif access mode with Exiv2:(Error #"
--                                           << e.code() << ": " << QString::fromStdString(e.what()) << ")";
-+                                           << static_cast<int>(e.code()) << ": " << QString::fromStdString(e.what()) << ")";
-     }
-     catch (...)
-     {
-@@ -739,7 +739,7 @@ bool MetaEngine::getExifTagLong(const char* exifTagNam
- 
-         if ((it != exifData.end()) && (it->count() > 0))
-         {
--            val = it->toLong(component);
-+            val = it->toInt64(component);
- 
-             return true;
-         }
-@@ -812,7 +812,7 @@ QVariant MetaEngine::getExifTagVariant(const char* exi
-                 {
-                     if ((int)it->count() > component)
-                     {
--                        return QVariant((int)it->toLong(component));
-+                        return QVariant((int)it->toInt64(component));
-                     }
-                     else
-                     {
-@@ -915,7 +915,7 @@ QString MetaEngine::getExifTagString(const char* exifT
-             QString tagValue;
-             QString key = QLatin1String(it->key().c_str());
- 
--            if ((key == QLatin1String("Exif.CanonCs.LensType")) && (it->toLong() == 65535))
-+            if ((key == QLatin1String("Exif.CanonCs.LensType")) && (it->toInt64() == 65535))
-             {
-                 // FIXME: workaround for a possible crash in Exiv2 pretty-print function for the Exif.CanonCs.LensType.
- 
-@@ -987,12 +987,12 @@ QImage MetaEngine::getExifThumbnail(bool fixOrientatio
-         Exiv2::ExifThumbC thumb(d->exifMetadata());
-         Exiv2::DataBuf const c1 = thumb.copy();
- 
--        if (c1.size_ == 0)
-+        if (c1.size() == 0)
-         {
-             return thumbnail;
-         }
- 
--        thumbnail.loadFromData(c1.pData_, c1.size_);
-+        thumbnail.loadFromData(c1.c_data(), c1.size());
- 
-         if (!thumbnail.isNull())
-         {
-@@ -1010,7 +1010,7 @@ QImage MetaEngine::getExifThumbnail(bool fixOrientatio
- 
-                 if (it != exifData.end() && it->count())
-                 {
--                    long orientation = it->toLong();
-+                    long orientation = it->toInt64();
- 
-                     //qCDebug(DIGIKAM_METAENGINE_LOG) << "Exif Thumbnail Orientation: " << (int)orientation;
- 
-@@ -1092,12 +1092,12 @@ bool MetaEngine::setTiffThumbnail(const QImage& thumbI
- 
-         Exiv2::ExifData::const_iterator pos = d->exifMetadata().findKey(Exiv2::ExifKey("Exif.Image.NewSubfileType"));
- 
--        if ((pos == d->exifMetadata().end()) || (pos->count() != 1) || (pos->toLong() != 0))
-+        if ((pos == d->exifMetadata().end()) || (pos->count() != 1) || (pos->toInt64() != 0))
-         {
- 
- #if EXIV2_TEST_VERSION(0,27,0)
- 
--            throw Exiv2::Error(Exiv2::kerErrorMessage, "Exif.Image.NewSubfileType missing or not set as main image");
-+            throw Exiv2::Error(Exiv2::ErrorCode::kerErrorMessage, "Exif.Image.NewSubfileType missing or not set as main image");
- 
- #else
- 
-@@ -1136,9 +1136,9 @@ bool MetaEngine::setTiffThumbnail(const QImage& thumbI
-             Exiv2::DataBuf buf((Exiv2::byte*)data.data(), data.size());
-             Exiv2::ULongValue val;
-             val.read("0");
--            val.setDataArea(buf.pData_, buf.size_);
-+            val.setDataArea(buf.c_data(), buf.size());
-             d->exifMetadata()["Exif.SubImage1.JPEGInterchangeFormat"]       = val;
--            d->exifMetadata()["Exif.SubImage1.JPEGInterchangeFormatLength"] = uint32_t(buf.size_);
-+            d->exifMetadata()["Exif.SubImage1.JPEGInterchangeFormatLength"] = uint32_t(buf.size());
-             d->exifMetadata()["Exif.SubImage1.Compression"]                 = uint16_t(6);          // JPEG (old-style)
-             d->exifMetadata()["Exif.SubImage1.NewSubfileType"]              = uint32_t(1);          // Thumbnail image
- 
-@@ -1261,7 +1261,7 @@ MetaEngine::MetaDataMap MetaEngine::getExifTagsDataLis
-             {
-                 tagValue = QString::number(md->value().size());
-             }
--            else if (key == QLatin1String("Exif.CanonCs.LensType") && md->toLong() == 65535)
-+            else if (key == QLatin1String("Exif.CanonCs.LensType") && md->toInt64() == 65535)
-             {
-                 // FIXME: workaround for a possible crash in Exiv2 pretty-print function for the Exif.CanonCs.LensType.
- 
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__iptc.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__iptc.cpp
deleted file mode 100644
index 2d3ccae32866..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__iptc.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_iptc.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_iptc.cpp
-@@ -29,6 +29,8 @@
- #include "digikam_debug.h"
- #include "digikam_config.h"
- 
-+#include <exiv2/photoshop.hpp>
-+
- #if defined(Q_CC_CLANG)
- #   pragma clang diagnostic push
- #   pragma clang diagnostic ignored "-Wdeprecated-declarations"
-@@ -65,7 +67,7 @@ bool MetaEngine::canWriteIptc(const QString& filePath)
-     catch (Exiv2::AnyError& e)
-     {
-         qCCritical(DIGIKAM_METAENGINE_LOG) << "Cannot check Iptc access mode with Exiv2:(Error #"
--                                           << e.code() << ": " << QString::fromStdString(e.what()) << ")";
-+                                           << static_cast<int>(e.code()) << ": " << QString::fromStdString(e.what()) << ")";
-     }
-     catch (...)
-     {
-@@ -121,7 +123,7 @@ QByteArray MetaEngine::getIptc(bool addIrbHeader) cons
-                 c2 = Exiv2::IptcParser::encode(d->iptcMetadata());
-             }
- 
--            QByteArray data((const char*)c2.pData_, c2.size_);
-+            QByteArray data(reinterpret_cast<const char *>(c2.c_data()), c2.size());
- 
-             return data;
-         }
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__item.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__item.cpp
deleted file mode 100644
index b28099023389..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__item.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_item.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_item.cpp
-@@ -127,7 +127,7 @@ QSize MetaEngine::getItemDimensions() const
- 
-         if ((it != exifData.end()) && it->count())
-         {
--            width = it->toLong();
-+            width = it->toInt64();
-         }
- 
-         Exiv2::ExifKey key2("Exif.Photo.PixelYDimension");
-@@ -135,7 +135,7 @@ QSize MetaEngine::getItemDimensions() const
- 
-         if ((it2 != exifData.end()) && it2->count())
-         {
--            height = it2->toLong();
-+            height = it2->toInt64();
-         }
- 
-         if ((width != -1) && (height != -1))
-@@ -153,7 +153,7 @@ QSize MetaEngine::getItemDimensions() const
- 
-         if ((it3 != exifData.end()) && it3->count())
-         {
--            width = it3->toLong();
-+            width = it3->toInt64();
-         }
- 
-         Exiv2::ExifKey key4("Exif.Image.ImageLength");
-@@ -161,7 +161,7 @@ QSize MetaEngine::getItemDimensions() const
- 
-         if ((it4 != exifData.end()) && it4->count())
-         {
--            height = it4->toLong();
-+            height = it4->toInt64();
-         }
- 
-         if ((width != -1) && (height != -1))
-@@ -320,7 +320,7 @@ MetaEngine::ImageOrientation MetaEngine::getItemOrient
- 
-         if ((it != exifData.end()) && it->count())
-         {
--            orientation = it->toLong();
-+            orientation = it->toInt64();
- 
-             //qCDebug(DIGIKAM_METAENGINE_LOG) << "Orientation => Exif.MinoltaCs7D.Rotation =>" << (int)orientation;
- 
-@@ -347,7 +347,7 @@ MetaEngine::ImageOrientation MetaEngine::getItemOrient
- 
-         if ((it != exifData.end()) && it->count())
-         {
--            orientation = it->toLong();
-+            orientation = it->toInt64();
- 
-             //qCDebug(DIGIKAM_METAENGINE_LOG) << "Orientation => Exif.MinoltaCs5D.Rotation =>" << (int)orientation;
- 
-@@ -376,7 +376,7 @@ MetaEngine::ImageOrientation MetaEngine::getItemOrient
- 
-         if ((it != exifData.end()) && it->count())
-         {
--            orientation = it->toLong();
-+            orientation = it->toInt64();
- 
-             //qCDebug(DIGIKAM_METAENGINE_LOG) << "Orientation => Exif.Image.Orientation =>" << (int)orientation;
- 
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__p.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__p.cpp
deleted file mode 100644
index 722990b80fc4..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__p.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_p.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_p.cpp
-@@ -542,7 +542,7 @@ bool MetaEngine::Private::saveOperations(const QFileIn
- void MetaEngine::Private::printExiv2ExceptionError(const QString& msg, Exiv2::AnyError& e)
- {
-     qCCritical(DIGIKAM_METAENGINE_LOG) << msg.toLatin1().constData()
--                                       << " (Error #" << e.code() << ": " << QString::fromStdString(e.what());
-+                                       << " (Error #" << static_cast<int>(e.code()) << ": " << QString::fromStdString(e.what());
- }
- 
- void MetaEngine::Private::printExiv2MessageHandler(int lvl, const char* msg)
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__p.h b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__p.h
deleted file mode 100644
index a32ff29c2b30..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__p.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_p.h.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_p.h
-@@ -90,6 +90,10 @@
-          ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
- #endif
- 
-+#if EXIV2_TEST_VERSION(0,28,0)
-+#   define AnyError Error
-+#endif
-+
- #if EXIV2_TEST_VERSION(0,27,99)
- #   define AutoPtr UniquePtr
- #endif
-@@ -182,7 +186,7 @@ class Q_DECL_HIDDEN MetaEngine::Private (public)
-      * Generic method to print the Exiv2 C++ Exception error message from 'e'.
-      * 'msg' string is printed using qDebug rules.
-      */
--    static void printExiv2ExceptionError(const QString& msg, Exiv2::AnyError& e);
-+    static void printExiv2ExceptionError(const QString& msg, Exiv2::Error& e);
- 
-     /**
-      * Generic method to print debug message from Exiv2.
diff --git a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__xmp.cpp b/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__xmp.cpp
deleted file mode 100644
index 285ef0ed2e5a..000000000000
--- a/graphics/digikam/files/patch-core_libs_metadataengine_engine_metaengine__xmp.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- core/libs/metadataengine/engine/metaengine_xmp.cpp.orig	2023-03-12 13:19:02 UTC
-+++ core/libs/metadataengine/engine/metaengine_xmp.cpp
-@@ -67,7 +67,7 @@ bool MetaEngine::canWriteXmp(const QString& filePath)
-     catch (Exiv2::AnyError& e)
-     {
-         qCCritical(DIGIKAM_METAENGINE_LOG) << "Cannot check Xmp access mode with Exiv2:(Error #"
--                                           << e.code() << ": " << QString::fromStdString(e.what()) << ")";
-+                                           << static_cast<int>(e.code()) << ": " << QString::fromStdString(e.what()) << ")";
-     }
-     catch (...)
-     {
-@@ -1014,7 +1014,7 @@ QVariant MetaEngine::getXmpTagVariant(const char* xmpT
-                 case Exiv2::signedShort:
-                 case Exiv2::signedLong:
-                 {
--                    return QVariant((int)it->toLong());
-+                    return QVariant((int)it->toInt64());
-                 }
- 
-                 case Exiv2::unsignedRational:
diff --git a/graphics/digikam/pkg-plist b/graphics/digikam/pkg-plist
index 04268a08f7cf..42d6c1a03a25 100644
--- a/graphics/digikam/pkg-plist
+++ b/graphics/digikam/pkg-plist
@@ -4,6 +4,7 @@ bin/digitaglinktree
 bin/showfoto
 include/digikam/batchtool.h
 include/digikam/bcgcontainer.h
+include/digikam/captionvalues.h
 include/digikam/coredbaccess.h
 include/digikam/coredbalbuminfo.h
 include/digikam/coredbconstants.h
@@ -32,7 +33,9 @@ include/digikam/digikam_gui_export.h
 include/digikam/digikam_version.h
 include/digikam/dimg.h
 include/digikam/dimgbuiltinfilter.h
+include/digikam/dimgloader.h
 include/digikam/dimgloaderobserver.h
+include/digikam/dimgloadersettings.h
 include/digikam/dimgpreviewitem.h
 include/digikam/dimgthreadedanalyser.h
 include/digikam/dimgthreadedfilter.h
@@ -46,6 +49,7 @@ include/digikam/dpluginaction.h
 include/digikam/dpluginauthor.h
 include/digikam/dpluginbqm.h
 include/digikam/dplugindialog.h
+include/digikam/dplugindimg.h
 include/digikam/dplugineditor.h
 include/digikam/dplugingeneric.h
 include/digikam/dpluginloader.h
@@ -83,6 +87,7 @@ include/digikam/iteminfolist.h
 include/digikam/loadingdescription.h
 include/digikam/loadsavethread.h
 include/digikam/managedloadsavethread.h
+include/digikam/metadatainfo.h
 include/digikam/metaengine.h
 include/digikam/metaengine_data.h
 include/digikam/photoinfocontainer.h
@@ -118,7 +123,9 @@ lib/libdigikamdatabase.so.%%SHLIB_VER%%
 lib/libdigikamgui.so
 lib/libdigikamgui.so.%%SHLIB_VER%%
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_AntiVignetting_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AssignLabels_Plugin.so
 %%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_BWconvert_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_BcgCorrection_Plugin.so
@@ -129,13 +136,16 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ColorFX_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Convert16To8_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Convert8To16_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToAVIF_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToDNG_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToHEIF_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToJP2lugin_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToJPEG_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToJXL_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToPGF_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToPNG_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToTIFF_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_ConvertToWEBP_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Crop_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_CurvesAdjust_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_FilmGrain_Plugin.so
@@ -147,6 +157,7 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_LensAutoFix_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_LocalContrast_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_NoiseReduction_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_QualitySort_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_RedEyeCorrection_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_RemoveMetadata_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Resize_Plugin.so
@@ -155,6 +166,7 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Sharpen_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_Texture_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_TimeAdjust_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_Translate_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_UserScript_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_WaterMark_Plugin.so
 %%QT_PLUGINDIR%%/digikam/bqm/Bqm_WhiteBalance_Plugin.so
@@ -241,13 +253,13 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
 %%QT_PLUGINDIR%%/digikam/generic/Generic_SendByMail_Plugin.so
 %%QT_PLUGINDIR%%/digikam/generic/Generic_SlideShow_Plugin.so
 %%QT_PLUGINDIR%%/digikam/generic/Generic_SmugMug_Plugin.so
+%%QT_PLUGINDIR%%/digikam/generic/Generic_TextConverter_Plugin.so
 %%QT_PLUGINDIR%%/digikam/generic/Generic_TimeAdjust_Plugin.so
 %%QT_PLUGINDIR%%/digikam/generic/Generic_Twitter_Plugin.so
-%%KVKONTAKTE%%%%QT_PLUGINDIR%%/digikam/generic/Generic_VKontakte_Plugin.so
 %%MEDIAPLAYER%%%%QT_PLUGINDIR%%/digikam/generic/Generic_VideoSlideShow_Plugin.so
 %%QT_PLUGINDIR%%/digikam/generic/Generic_Wallpaper_Plugin.so
-%%QT_PLUGINDIR%%/digikam/generic/Generic_YandexFotki_Plugin.so
 %%QT_PLUGINDIR%%/digikam/generic/Generic_iNaturalist_Plugin.so
+%%QT_PLUGINDIR%%/digikam/rawimport/RawImport_ART_Plugin.so
 %%QT_PLUGINDIR%%/digikam/rawimport/RawImport_DarkTable_Plugin.so
 %%QT_PLUGINDIR%%/digikam/rawimport/RawImport_Native_Plugin.so
 %%QT_PLUGINDIR%%/digikam/rawimport/RawImport_RawTherapee_Plugin.so
@@ -358,6 +370,13 @@ share/applications/org.kde.showfoto.desktop
 %%DATADIR%%/data/wood-pattern.png
 %%DATADIR%%/database/dbconfig.xml
 %%DATADIR%%/database/mysql-global.conf
+%%FACEDETECT%%%%DATADIR%%/facesengine/deploy.prototxt
+%%FACEDETECT%%%%DATADIR%%/facesengine/openface_nn4.small2.v1.t7
+%%FACEDETECT%%%%DATADIR%%/facesengine/res10_300x300_ssd_iter_140000_fp16.caffemodel
+%%FACEDETECT%%%%DATADIR%%/facesengine/shapepredictor.dat
+%%FACEDETECT%%%%DATADIR%%/facesengine/weights_inceptionv3_299.pb
+%%FACEDETECT%%%%DATADIR%%/facesengine/yolov3-face.cfg
+%%FACEDETECT%%%%DATADIR%%/facesengine/yolov3-wider_16000.weights
 %%DATADIR%%/geoiface/backend-googlemaps-js.js
 %%DATADIR%%/geoiface/backend-googlemaps.html
 %%DATADIR%%/geoiface/cluster-circle-00ff00-selected.png
@@ -394,6 +413,8 @@ share/applications/org.kde.showfoto.desktop
 %%DATADIR%%/geolocationedit/bookmarks-marker.png
 %%DATADIR%%/geolocationedit/searchmarker-normal.png
 %%DATADIR%%/geolocationedit/searchmarker-selected.png
+%%DATADIR%%/metadata/darktable.dkamp
+%%DATADIR%%/metadata/digikam.dkamp
 %%DATADIR%%/metadata/topicset.iptc-subjectcode.xml
 %%DATADIR%%/profiles/compatibleWithAdobeRGB1998.icc
 %%DATADIR%%/profiles/prophoto.icm
@@ -402,13 +423,17 @@ share/applications/org.kde.showfoto.desktop
 %%DATADIR%%/templates/1_photo_10.5x14.8cm.desktop
 %%DATADIR%%/templates/1_photo_10x15cm.desktop
 %%DATADIR%%/templates/1_photo_20x25cm.desktop
+%%DATADIR%%/templates/1_photo_4x6_2_photos_2x3.desktop
+%%DATADIR%%/templates/1_photo_5x7_corner.desktop
 %%DATADIR%%/templates/1_photo_8x10.desktop
 %%DATADIR%%/templates/1_photo_9x13cm.desktop
 %%DATADIR%%/templates/2_photos_13x18cm.desktop
+%%DATADIR%%/templates/2_photos_4x6.desktop
 %%DATADIR%%/templates/2_photos_5x7.desktop
 %%DATADIR%%/templates/3_photos_10x15cm.desktop
 %%DATADIR%%/templates/3_photos_4x6.desktop
 %%DATADIR%%/templates/4_photos_10x13.33cm.desktop
+%%DATADIR%%/templates/4_photos_2.5x3.5.desktop
 %%DATADIR%%/templates/4_photos_3.5x5.desktop
 %%DATADIR%%/templates/4_photos_4.5x5cm.desktop
 %%DATADIR%%/templates/4_photos_9x13cm.desktop
@@ -634,10 +659,12 @@ share/applications/org.kde.showfoto.desktop
 %%DATADIR%%/themes/vanilla/template.xsl
 %%DATADIR%%/themes/vanilla/vanilla.desktop
 %%DATADIR%%/utils/digikam-camera
+share/icons/hicolor/128x128/apps/avplayer.png
 share/icons/hicolor/128x128/apps/digikam.png
 share/icons/hicolor/128x128/apps/expoblending.png
 share/icons/hicolor/128x128/apps/panorama.png
 share/icons/hicolor/128x128/apps/showfoto.png
+share/icons/hicolor/16x16/apps/avplayer.png
 share/icons/hicolor/16x16/apps/digikam.png
 share/icons/hicolor/16x16/apps/dk-box.png
 share/icons/hicolor/16x16/apps/dk-dropbox.png
@@ -656,6 +683,7 @@ share/icons/hicolor/16x16/apps/dk-smugmug.png
 share/icons/hicolor/16x16/apps/expoblending.png
 share/icons/hicolor/16x16/apps/panorama.png
 share/icons/hicolor/16x16/apps/showfoto.png
+share/icons/hicolor/22x22/apps/avplayer.png
 share/icons/hicolor/22x22/apps/digikam.png
 share/icons/hicolor/22x22/apps/dk-box.png
 share/icons/hicolor/22x22/apps/dk-dropbox.png
@@ -674,6 +702,7 @@ share/icons/hicolor/22x22/apps/dk-smugmug.png
 share/icons/hicolor/22x22/apps/expoblending.png
 share/icons/hicolor/22x22/apps/panorama.png
 share/icons/hicolor/22x22/apps/showfoto.png
+share/icons/hicolor/256x256/apps/avplayer.png
 share/icons/hicolor/256x256/apps/digikam.png
 share/icons/hicolor/256x256/apps/showfoto.png
 share/icons/hicolor/32x32/actions/albumfolder-importdir.png
@@ -694,6 +723,7 @@ share/icons/hicolor/32x32/actions/tag-recents.png
 share/icons/hicolor/32x32/actions/tag-reset.png
 share/icons/hicolor/32x32/actions/tag.png
 share/icons/hicolor/32x32/actions/underexposure.png
+share/icons/hicolor/32x32/apps/avplayer.png
 share/icons/hicolor/32x32/apps/digikam.png
 share/icons/hicolor/32x32/apps/dk-box.png
 share/icons/hicolor/32x32/apps/dk-dropbox.png
@@ -712,6 +742,7 @@ share/icons/hicolor/32x32/apps/dk-smugmug.png
 share/icons/hicolor/32x32/apps/expoblending.png
 share/icons/hicolor/32x32/apps/panorama.png
 share/icons/hicolor/32x32/apps/showfoto.png
+share/icons/hicolor/48x48/apps/avplayer.png
 share/icons/hicolor/48x48/apps/digikam.png
 share/icons/hicolor/48x48/apps/dk-box.png
 share/icons/hicolor/48x48/apps/dk-dropbox.png
@@ -730,10 +761,12 @@ share/icons/hicolor/48x48/apps/dk-smugmug.png
 share/icons/hicolor/48x48/apps/expoblending.png
 share/icons/hicolor/48x48/apps/panorama.png
 share/icons/hicolor/48x48/apps/showfoto.png
+share/icons/hicolor/64x64/apps/avplayer.png
 share/icons/hicolor/64x64/apps/digikam.png
 share/icons/hicolor/64x64/apps/showfoto.png
 share/icons/hicolor/96x96/apps/expoblending.png
 share/icons/hicolor/96x96/apps/panorama.png
+share/icons/hicolor/scalable/apps/avplayer.svgz
 share/icons/hicolor/scalable/apps/digikam.svgz
 share/icons/hicolor/scalable/apps/dk-flickr.svgz
 share/icons/hicolor/scalable/apps/dk-googlephoto.svgz
@@ -772,6 +805,7 @@ share/kxmlgui5/showfoto/showfotoui5.rc
 %%NLS%%share/locale/gl/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/he/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/hi/LC_MESSAGES/digikam.mo
+%%NLS%%share/locale/hne/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/hr/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/hu/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/id/LC_MESSAGES/digikam.mo
@@ -783,6 +817,8 @@ share/kxmlgui5/showfoto/showfotoui5.rc
 %%NLS%%share/locale/ko/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/lt/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/lv/LC_MESSAGES/digikam.mo
+%%NLS%%share/locale/mai/LC_MESSAGES/digikam.mo
+%%NLS%%share/locale/mr/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/ms/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/nb/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/nds/LC_MESSAGES/digikam.mo
@@ -803,6 +839,7 @@ share/kxmlgui5/showfoto/showfotoui5.rc
 %%NLS%%share/locale/sv/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/th/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/tr/LC_MESSAGES/digikam.mo
+%%NLS%%share/locale/ug/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/uk/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/vi/LC_MESSAGES/digikam.mo
 %%NLS%%share/locale/zh_CN/LC_MESSAGES/digikam.mo