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); }