Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libkexiv2 for openSUSE:Factory 
checked in at 2024-03-11 15:27:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkexiv2 (Old)
 and      /work/SRC/openSUSE:Factory/.libkexiv2.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkexiv2"

Mon Mar 11 15:27:02 2024 rev:163 rq:1151049 version:24.02.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkexiv2/libkexiv2.changes      2023-12-09 
22:52:33.850099368 +0100
+++ /work/SRC/openSUSE:Factory/.libkexiv2.new.1770/libkexiv2.changes    
2024-03-11 15:29:18.256191202 +0100
@@ -1,0 +2,14 @@
+Fri Feb 23 14:00:37 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.02.0
+  * New feature release
+- No code change since 24.01.95
+
+-------------------------------------------------------------------
+Fri Feb  9 16:09:45 UTC 2024 - Christophe Marin <christo...@krop.fr>
+
+- Update to 24.01.95
+  * https://kde.org/announcements/megarelease/6/rc2/
+- Qt6 build flavor added to libkexiv2
+
+-------------------------------------------------------------------

Old:
----
  libkexiv2-23.08.4.tar.xz
  libkexiv2-23.08.4.tar.xz.sig

New:
----
  _multibuild
  libkexiv2-24.02.0.tar.xz
  libkexiv2-24.02.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libkexiv2.spec ++++++
--- /var/tmp/diff_new_pack.pybYb5/_old  2024-03-11 15:29:18.904214985 +0100
+++ /var/tmp/diff_new_pack.pybYb5/_new  2024-03-11 15:29:18.908215131 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libkexiv2
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,69 +16,111 @@
 #
 
 
-%define _so     15_0_0
-%define lname   libKF5KExiv2
+%define rname  libkexiv2
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "qt6"
+%define qt6 1
+%define pkg_suffix -qt6
+%define kf6_version 5.246.0
+%define qt6_version 6.6.0
+%define library_name libKExiv2Qt6
+%define so_suffix -0
+%else
+%define qt5 1
+%define kf5_version 5.91.0
+%define qt5_version 5.15.0
+%define library_name libKF5KExiv2
+%define so_suffix -15_0_0
+%endif
 %bcond_without released
-Name:           libkexiv2
-Version:        23.08.4
+Name:           libkexiv2%{?pkg_suffix}
+Version:        24.02.0
 Release:        0
 Summary:        Library to manipulate picture meta data
 License:        GPL-2.0-or-later
 URL:            https://www.kde.org
-Source:         
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
+Source:         %{rname}-%{version}.tar.xz
 %if %{with released}
-Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
+Source1:        %{rname}-%{version}.tar.xz.sig
 Source2:        applications.keyring
 %endif
-BuildRequires:  extra-cmake-modules
-BuildRequires:  kf5-filesystem
 BuildRequires:  pkgconfig
-BuildRequires:  cmake(Qt5Core)
-BuildRequires:  cmake(Qt5Gui)
-Requires:       %{name}-%{_so} = %{version}
 BuildRequires:  pkgconfig(exiv2) >= 0.25
+%if 0%{?qt6}
+BuildRequires:  kf6-extra-cmake-modules >= %{kf6_version}
+BuildRequires:  cmake(Qt6Core) >= %{qt6_version}
+BuildRequires:  cmake(Qt6Core5Compat) >= %{qt6_version}
+BuildRequires:  cmake(Qt6Gui) >= %{qt6_version}
+%else
+BuildRequires:  extra-cmake-modules >= %{kf5_version}
+BuildRequires:  cmake(Qt5Core) >= %{qt5_version}
+BuildRequires:  cmake(Qt5Gui) >= %{qt5_version}
+%endif
 
 %description
 Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
 metadata.
 
-%package -n %{lname}-%{_so}
+%package -n %{library_name}%{so_suffix}
 Summary:        Library to manipulate picture meta data
+Requires:       %{name} >= %{version}
 
-%description -n %{lname}-%{_so}
+%description -n %{library_name}%{so_suffix}
 Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
 metadata.
 
 %package devel
-Summary:        Build environment for libkexiv2, a library to manipulate 
picture meta data
-Requires:       %{lname}-%{_so} = %{version}
-Obsoletes:      libkexiv2-kf5-devel < %{version}
+Summary:        Build environment for libkexiv2
+Requires:       %{library_name}%{so_suffix} = %{version}
+%if 0%{?qt5}
 Provides:       libkexiv2-kf5-devel = %{version}
+Obsoletes:      libkexiv2-kf5-devel < %{version}
+%endif
 
 %description devel
 Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
 metadata.
 
 %prep
-%autosetup -p1
+%autosetup -p1 -n %{rname}-%{version}
 
 %build
-  %cmake_kf5 -d build
-  %cmake_build
+%if 0%{?qt6}
+%cmake_kf6 -DBUILD_WITH_QT6:BOOL=TRUE
+%kf6_build
+%else
+%cmake_kf5 -d build
+%cmake_build
+%endif
 
 %install
-  %kf5_makeinstall -C build
+%if 0%{?qt6}
+%kf6_install
+%else
+%kf5_makeinstall -C build
+%endif
+
+%ldconfig_scriptlets -n %{library_name}%{so_suffix}
 
-%ldconfig_scriptlets -n %{lname}-%{_so}
+%files
+%if 0%{?qt6}
+%{_kf6_debugdir}/libkexiv2.categories
+%else
+%{_kf5_debugdir}/libkexiv2.categories
+%endif
 
-%files -n %{lname}-%{_so}
+%files -n %{library_name}%{so_suffix}
 %license LICENSES/*
 %doc README
-%{_kf5_debugdir}/libkexiv2.categories
-%{_kf5_libdir}/libKF5KExiv2.so.*
+%{_libdir}/%{library_name}.so.*
 
 %files devel
+%if 0%{?qt6}
+%{_kf6_cmakedir}/KExiv2Qt6/
+%{_includedir}/KExiv2Qt6/
+%else
 %{_kf5_cmakedir}/KF5KExiv2/
-%{_kf5_includedir}/
-%{_kf5_libdir}/libKF5KExiv2.so
+%{_kf5_includedir}/KExiv2/
+%endif
+%{_libdir}/%{library_name}.so
 

++++++ _multibuild ++++++
<multibuild>
  <flavor>qt6</flavor>
</multibuild>


++++++ applications.keyring ++++++
Binary files /var/tmp/diff_new_pack.pybYb5/_old and 
/var/tmp/diff_new_pack.pybYb5/_new differ

++++++ libkexiv2-23.08.4.tar.xz -> libkexiv2-24.02.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.08.4/.gitlab-ci.yml 
new/libkexiv2-24.02.0/.gitlab-ci.yml
--- old/libkexiv2-23.08.4/.gitlab-ci.yml        2023-07-06 06:36:01.000000000 
+0200
+++ new/libkexiv2-24.02.0/.gitlab-ci.yml        2023-11-30 18:45:59.000000000 
+0100
@@ -2,9 +2,11 @@
 # SPDX-License-Identifier: CC0-1.0
 
 include:
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd-qt6.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows-qt6.yml
+  - project: sysadmin/ci-utilities
+    file:
+      - /gitlab-templates/linux.yml
+      - /gitlab-templates/freebsd.yml
+      - /gitlab-templates/windows.yml
+      - /gitlab-templates/linux-qt6.yml
+      - /gitlab-templates/freebsd-qt6.yml
+      - /gitlab-templates/windows-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.08.4/CMakeLists.txt 
new/libkexiv2-24.02.0/CMakeLists.txt
--- old/libkexiv2-23.08.4/CMakeLists.txt        2023-07-06 06:36:01.000000000 
+0200
+++ new/libkexiv2-24.02.0/CMakeLists.txt        2023-11-30 18:45:59.000000000 
+0100
@@ -6,11 +6,11 @@
 
 cmake_minimum_required(VERSION 3.16)
 
-set(ECM_MIN_VERSION     "5.90.0")
+set(ECM_MIN_VERSION     "5.91.0")
 set(QT_MIN_VERSION      "5.15.0")
 set(EXIV2_MIN_VERSION   "0.25")
 
-project(libkexiv2 VERSION "5.0.0")
+project(libkexiv2 VERSION "5.1.0")
 
 set(CMAKE_CXX_STANDARD 14) # exiv is not compatible with C++ > 14 yet
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -48,6 +48,7 @@
 # 2.3.1 => 11.2.0                              - Add new method to set 
specific XMP tag string
 # 2.4.0 => 11.3.0                              - Add new method to access on 
text edit widget from AltLangStrEdit
 # 5.0.0 => 15.0.0    (Released with KDE 5.x)
+# 5.1.0 => 15.0.0    (Released with KDE Gear) - Add QTransform-varianst 
methods RotationMatrix
 
 # Library ABI version used by linker.
 # For details : 
https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
@@ -57,7 +58,7 @@
 # TODO Qt6 or next ABI break: the very SO version is usually a single number, 
not a triple.
 # The library non-SO version as decribed in the link above is a separate thing
 # (cmp. VVERSION & SOVERSION args of set_target_properties(KF5KExiv2)
-# You can start with 0 or 1 when KF6KExiv2 is created
+# See below (where QT_MAJOR_VERSION is available) for resetting 
LIBKEXIV2_SO_VERSION to 0 with Qt6 builds
 set(LIBKEXIV2_SO_VERSION  
"${KEXIV2_LIB_SO_CUR_VERSION}.${KEXIV2_LIB_SO_REV_VERSION}.${KEXIV2_LIB_SO_AGE_VERSION}")
 
 ############## ECM setup ######################
@@ -74,6 +75,7 @@
 include(ECMMarkNonGuiExecutable)
 include(ECMQtDeclareLoggingCategory)
 include(ECMGenerateExportHeader)
+include(ECMDeprecationSettings)
 include(CMakePackageConfigHelpers)
 include(FeatureSummary)
 
@@ -84,35 +86,36 @@
 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of 
deprecated API excluded from the build [default=0].")
 endif()
 
+if (QT_MAJOR_VERSION STREQUAL "6")
+    # starting with 0 for the new Qt6 series
+    set(LIBKEXIV2_SO_VERSION "0")
+endif()
+
 ############## Find Packages ###################
 
+if (QT_MAJOR_VERSION STREQUAL "6")
+    set(QT_MIN_VERSION "6.5.0")
+endif()
+
 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED NO_MODULE
     COMPONENTS
         Core
         Gui
 )
-if (QT_MAJOR_VERSION STREQUAL "6")
-    find_package(Qt6Core5Compat)
-endif()
 
 find_package(LibExiv2 ${EXIV2_MIN_VERSION} REQUIRED)
 
 ############## Targets #########################
 
-add_definitions(
-    -DQT_DEPRECATED_WARNINGS
-    -DQT_DISABLE_DEPRECATED_BEFORE=0x050E00
-    -DQT_DEPRECATED_WARNINGS_SINCE=0x060000
-    -DQT_USE_QSTRINGBUILDER
-    -DQT_NO_CAST_TO_ASCII
-    -DQT_NO_CAST_FROM_ASCII
-    -DQT_NO_CAST_FROM_BYTEARRAY
-    -DQT_NO_URL_CAST_FROM_STRING
-    -DQT_NO_KEYWORDS
-    -DQT_STRICT_ITERATORS
-    -DQT_NO_FOREACH
-    -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
-)
+if (QT_MAJOR_VERSION STREQUAL "6")
+    ecm_set_disabled_deprecation_versions(
+        QT 6.5
+    )
+else()
+    ecm_set_disabled_deprecation_versions(
+        QT 5.14 # QTransform::toAffine
+    )
+endif()
 
 add_subdirectory(src)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkexiv2-23.08.4/cmake/templates/KExiv2Config.cmake.in 
new/libkexiv2-24.02.0/cmake/templates/KExiv2Config.cmake.in
--- old/libkexiv2-23.08.4/cmake/templates/KExiv2Config.cmake.in 1970-01-01 
01:00:00.000000000 +0100
+++ new/libkexiv2-24.02.0/cmake/templates/KExiv2Config.cmake.in 2023-11-30 
18:45:59.000000000 +0100
@@ -0,0 +1,7 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(Qt@QT_MAJOR_VERSION@Core @QT_MIN_VERSION@)
+find_dependency(Qt@QT_MAJOR_VERSION@Gui @QT_MIN_VERSION@)
+
+include("${CMAKE_CURRENT_LIST_DIR}/@KEXIV2_CMAKECONFIG_NAME@Targets.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkexiv2-23.08.4/cmake/templates/KF5KExiv2Config.cmake.in 
new/libkexiv2-24.02.0/cmake/templates/KF5KExiv2Config.cmake.in
--- old/libkexiv2-23.08.4/cmake/templates/KF5KExiv2Config.cmake.in      
2023-07-06 06:36:01.000000000 +0200
+++ new/libkexiv2-24.02.0/cmake/templates/KF5KExiv2Config.cmake.in      
1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-# KExiv2Config.cmake provides information about the installed KExiv2 library.
-# It can be used directly from CMake via find_package(KExiv2 NO_MODULE)
-#
-# The following CMake variables are provided:
-#   KExiv2_VERSION_MAJOR - the major version number of KExiv2
-#   KExiv2_VERSION_MINOR - the minor version number of KExiv2
-#   KExiv2_VERSION_PATCH - the patch version number of KExiv2
-#   KExiv2_INCLUDE_DIRS  - the include directories to use
-#
-# Additionally, the following imported library targets are created, which may 
be used directly
-# with target_link_libraries():
-#   KF5::KExiv2 - the kexiv2 library
-
-@PACKAGE_INIT@
-
-include(CMakeFindDependencyMacro)
-find_dependency(Qt@QT_MAJOR_VERSION@Core @QT_MIN_VERSION@)
-find_dependency(Qt@QT_MAJOR_VERSION@Gui @QT_MIN_VERSION@)
-
-include("${CMAKE_CURRENT_LIST_DIR}/KF5KExiv2Targets.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkexiv2-23.08.4/cmake/templates/KF6KExiv2Config.cmake.in 
new/libkexiv2-24.02.0/cmake/templates/KF6KExiv2Config.cmake.in
--- old/libkexiv2-23.08.4/cmake/templates/KF6KExiv2Config.cmake.in      
2023-07-06 06:36:01.000000000 +0200
+++ new/libkexiv2-24.02.0/cmake/templates/KF6KExiv2Config.cmake.in      
1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-# KExiv2Config.cmake provides information about the installed KExiv2 library.
-# It can be used directly from CMake via find_package(KExiv2 NO_MODULE)
-#
-# The following CMake variables are provided:
-#   KExiv2_VERSION_MAJOR - the major version number of KExiv2
-#   KExiv2_VERSION_MINOR - the minor version number of KExiv2
-#   KExiv2_VERSION_PATCH - the patch version number of KExiv2
-#   KExiv2_INCLUDE_DIRS  - the include directories to use
-#
-# Additionally, the following imported library targets are created, which may 
be used directly
-# with target_link_libraries():
-#   KF6::KExiv2 - the kexiv2 library
-
-@PACKAGE_INIT@
-
-include(CMakeFindDependencyMacro)
-find_dependency(Qt@QT_MAJOR_VERSION@Core @QT_MIN_VERSION@)
-find_dependency(Qt@QT_MAJOR_VERSION@Gui @QT_MIN_VERSION@)
-
-include("${CMAKE_CURRENT_LIST_DIR}/KF6KExiv2Targets.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.08.4/src/CMakeLists.txt 
new/libkexiv2-24.02.0/src/CMakeLists.txt
--- old/libkexiv2-23.08.4/src/CMakeLists.txt    2023-07-06 06:36:01.000000000 
+0200
+++ new/libkexiv2-24.02.0/src/CMakeLists.txt    2023-11-30 18:45:59.000000000 
+0100
@@ -4,8 +4,19 @@
 # SPDX-License-Identifier: BSD-3-Clause
 #
 
-set(KEXIV2_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KExiv2")
-set(KEXIV2_CMAKECONFIG_NAME "KF${QT_MAJOR_VERSION}KExiv2")
+if (QT_MAJOR_VERSION STREQUAL "5")
+    set(KEXIV2_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KExiv2")
+    set(KEXIV2_CMAKECONFIG_NAME "KF${QT_MAJOR_VERSION}KExiv2")
+    set(LIBRARYFILE_NAME "KF5KExiv2")
+    set(TARGET_EXPORT_NAME "KExiv2")
+    set(NAMESPACE_NAME "KF5::")
+else()
+    set(KEXIV2_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KExiv2Qt6")
+    set(KEXIV2_CMAKECONFIG_NAME "KExiv2Qt6")
+    set(LIBRARYFILE_NAME "KExiv2Qt6")
+    set(TARGET_EXPORT_NAME "KExiv2Qt6")
+    set(NAMESPACE_NAME "")
+endif()
 
 ecm_setup_version(${libkexiv2_VERSION}
     VARIABLE_PREFIX      KEXIV2
@@ -22,6 +33,8 @@
     OUTPUT_NAME KF${QT_MAJOR_VERSION}KExiv2
     VERSION     ${KEXIV2_VERSION}
     SOVERSION   ${KEXIV2_SOVERSION}
+    OUTPUT_NAME ${LIBRARYFILE_NAME}
+    EXPORT_NAME ${TARGET_EXPORT_NAME}
 )
 
 if( WIN32 )
@@ -95,10 +108,6 @@
         LibExiv2::LibExiv2
 )
 
-if (TARGET Qt6::Core5Compat)
-    target_link_libraries(KExiv2 PRIVATE Qt6::Core5Compat) # QRegExp
-endif()
-
 if( WIN32 )
     target_link_libraries(KExiv2 ${EXPAT_LIBRARIES})
 endif()
@@ -137,7 +146,7 @@
 set(CMAKECONFIG_INSTALL_DIR 
"${KDE_INSTALL_CMAKEPACKAGEDIR}/${KEXIV2_CMAKECONFIG_NAME}")
 
 configure_package_config_file(
-    
"${CMAKE_SOURCE_DIR}/cmake/templates/${KEXIV2_CMAKECONFIG_NAME}Config.cmake.in"
+    "${CMAKE_SOURCE_DIR}/cmake/templates/KExiv2Config.cmake.in"
     "${CMAKE_CURRENT_BINARY_DIR}/${KEXIV2_CMAKECONFIG_NAME}Config.cmake"
     INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
 )
@@ -151,7 +160,7 @@
 
 install(EXPORT KExiv2Targets
     FILE        ${KEXIV2_CMAKECONFIG_NAME}Targets.cmake
-    NAMESPACE   KF${QT_MAJOR_VERSION}::
+    NAMESPACE   ${NAMESPACE_NAME}
     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
     COMPONENT   Devel
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.08.4/src/kexiv2_p.cpp 
new/libkexiv2-24.02.0/src/kexiv2_p.cpp
--- old/libkexiv2-23.08.4/src/kexiv2_p.cpp      2023-07-06 06:36:01.000000000 
+0200
+++ new/libkexiv2-24.02.0/src/kexiv2_p.cpp      2023-11-30 18:45:59.000000000 
+0100
@@ -21,8 +21,11 @@
 }
 
 // Qt includes
-
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#include <QStringDecoder>
+#else
 #include <QTextCodec>
+#endif
 
 // Local includes
 
@@ -409,8 +412,13 @@
         }
         else if (charset == "\"Jis\"")
         {
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+            QStringDecoder codec("JIS7");
+            return codec.decode(comment.c_str());
+#else
             QTextCodec* const codec = QTextCodec::codecForName("JIS7");
             return codec->toUnicode(comment.c_str());
+#endif
         }
         else if (charset == "\"Ascii\"")
         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.08.4/src/kexiv2exif.cpp 
new/libkexiv2-24.02.0/src/kexiv2exif.cpp
--- old/libkexiv2-23.08.4/src/kexiv2exif.cpp    2023-07-06 06:36:01.000000000 
+0200
+++ new/libkexiv2-24.02.0/src/kexiv2exif.cpp    2023-11-30 18:45:59.000000000 
+0100
@@ -494,16 +494,20 @@
 bool KExiv2::setExifTagVariant(const char* exifTagName, const QVariant& val,
                                bool rationalWantSmallDenominator, bool 
setProgramName) const
 {
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+    switch (val.metaType().id())
+#else
     switch (val.type())
+#endif
     {
-        case QVariant::Int:
-        case QVariant::UInt:
-        case QVariant::Bool:
-        case QVariant::LongLong:
-        case QVariant::ULongLong:
+        case QMetaType::Int:
+        case QMetaType::UInt:
+        case QMetaType::Bool:
+        case QMetaType::LongLong:
+        case QMetaType::ULongLong:
             return setExifTagLong(exifTagName, val.toInt(), setProgramName);
 
-        case QVariant::Double:
+        case QMetaType::Double:
         {
             long num, den;
 
@@ -514,7 +518,7 @@
 
             return setExifTagRational(exifTagName, num, den, setProgramName);
         }
-        case QVariant::List:
+        case QMetaType::QVariantList:
         {
             long num = 0, den = 1;
             QList<QVariant> list = val.toList();
@@ -528,8 +532,8 @@
             return setExifTagRational(exifTagName, num, den, setProgramName);
         }
 
-        case QVariant::Date:
-        case QVariant::DateTime:
+        case QMetaType::QDate:
+        case QMetaType::QDateTime:
         {
             QDateTime dateTime = val.toDateTime();
 
@@ -556,11 +560,11 @@
             return false;
         }
 
-        case QVariant::String:
-        case QVariant::Char:
+        case QMetaType::QString:
+        case QMetaType::QChar:
             return setExifTagString(exifTagName, val.toString(), 
setProgramName);
 
-        case QVariant::ByteArray:
+        case QMetaType::QByteArray:
             return setExifTagData(exifTagName, val.toByteArray(), 
setProgramName);
         default:
             break;
@@ -575,19 +579,23 @@
         Exiv2::ExifKey key(exifTagName);
         Exiv2::Exifdatum datum(key);
 
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+        switch (val.metaType().id())
+#else
         switch (val.type())
+#endif
         {
-            case QVariant::Int:
-            case QVariant::Bool:
-            case QVariant::LongLong:
-            case QVariant::ULongLong:
+            case QMetaType::Int:
+            case QMetaType::Bool:
+            case QMetaType::LongLong:
+            case QMetaType::ULongLong:
                 datum = (int32_t)val.toInt();
                 break;
-            case QVariant::UInt:
+            case QMetaType::UInt:
                 datum = (uint32_t)val.toUInt();
                 break;
 
-            case QVariant::Double:
+            case QMetaType::Double:
             {
                 long num, den;
                 convertToRationalSmallDenominator(val.toDouble(), &num, &den);
@@ -597,7 +605,7 @@
                 datum = rational;
                 break;
             }
-            case QVariant::List:
+            case QMetaType::QVariantList:
             {
                 long num = 0, den = 1;
                 QList<QVariant> list = val.toList();
@@ -612,8 +620,8 @@
                 break;
             }
 
-            case QVariant::Date:
-            case QVariant::DateTime:
+            case QMetaType::QDate:
+            case QMetaType::QDateTime:
             {
                 QDateTime dateTime = val.toDateTime();
                 if(!dateTime.isValid())
@@ -624,8 +632,8 @@
                 break;
             }
 
-            case QVariant::String:
-            case QVariant::Char:
+            case QMetaType::QString:
+            case QMetaType::QChar:
                 datum = (std::string)val.toString().toLatin1().constData();
                 break;
             default:
@@ -742,14 +750,22 @@
                         return QVariant((int)it->toLong(component));
 #endif
                     else
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+                        return QVariant(QMetaType(QMetaType::Int));
+#else
                         return QVariant(QVariant::Int);
+#endif
                 case Exiv2::unsignedRational:
                 case Exiv2::signedRational:
 
                     if (rationalAsListOfInts)
                     {
                         if (it->count() <= component)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+                            return 
QVariant(QMetaType(QMetaType::QVariantList));
+#else
                             return QVariant(QVariant::List);
+#endif
 
                         QList<QVariant> list;
                         list << (*it).toRational(component).first;
@@ -760,14 +776,22 @@
                     else
                     {
                         if (it->count() <= component)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+                            return QVariant(QMetaType(QMetaType::Double));
+#else
                             return QVariant(QVariant::Double);
+#endif
 
                         // prefer double precision
                         double num = (*it).toRational(component).first;
                         double den = (*it).toRational(component).second;
 
                         if (den == 0.0)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+                            return QVariant(QMetaType(QMetaType::Double));
+#else
                             return QVariant(QVariant::Double);
+#endif
 
                         return QVariant(num / den);
                     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.08.4/src/kexiv2xmp.cpp 
new/libkexiv2-24.02.0/src/kexiv2xmp.cpp
--- old/libkexiv2-23.08.4/src/kexiv2xmp.cpp     2023-07-06 06:36:01.000000000 
+0200
+++ new/libkexiv2-24.02.0/src/kexiv2xmp.cpp     2023-11-30 18:45:59.000000000 
+0100
@@ -980,7 +980,11 @@
                         double den = (*it).toRational().second;
 
                         if (den == 0.0)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+                            return QVariant(QMetaType(QMetaType::Double));
+#else
                             return QVariant(QVariant::Double);
+#endif
 
                         return QVariant(num / den);
                     }

Reply via email to