Accepting request 1074923 from KDE:Extra

- Add upstream change:
  * 0001-fix-compile-DNG-SDK-with-GCC13.patch

- Update to 7.10.0:
  * https://www.digikam.org/news/2023-03-13-7.10.0_release_announcement/
- Drop patch, no longer needed:
  * 0001-Revert-Exiv2-is-now-released-with-exported-targets-u.patch

OBS-URL: https://build.opensuse.org/request/show/1074923
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/digikam?expand=0&rev=210
This commit is contained in:
Dominique Leuenberger 2023-03-28 15:51:07 +00:00 committed by Git OBS Bridge
commit 119526dc6b
8 changed files with 89 additions and 341 deletions

View File

@ -1,285 +0,0 @@
From bb399cd140e1b22f46b019f9b0bc14e62b270ab7 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Tue, 14 Dec 2021 17:02:22 +0100
Subject: [PATCH] Revert "Exiv2 is now released with exported targets using
cmake rules. No need to have a dedicated find exiv2 cmake script. Bump
minimal version to 0.27.1"
This reverts commit 06e77271d72fe5e4abeb38641f3addc2cfbff126.
Also, it replaces the use of `Exiv2::XmpData::eraseFamily()` (new in
exiv2-0.27) with inline code copied from exiv2-0.27.5.
Fixes build on Leap 15.x which only have exiv2 0.26.
---
core/CMakeLists.txt | 14 +--
core/app/DigikamCoreTarget.cmake | 2 +-
core/cmake/modules/FindExiv2.cmake | 116 ++++++++++++++++++
core/libs/metadataengine/CMakeLists.txt | 10 +-
.../metadataengine/engine/metaengine_xmp.cpp | 23 +++-
5 files changed, 148 insertions(+), 17 deletions(-)
create mode 100644 core/cmake/modules/FindExiv2.cmake
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index 16bba83335..174dc3c683 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -16,7 +16,7 @@ message(STATUS "")
set(KF5_MIN_VERSION "5.5.0")
set(QT_MIN_VERSION "5.9.0")
-set(EXIV2_MIN_VERSION "0.27.0")
+set(EXIV2_MIN_VERSION "0.26")
set(OPENCV_MIN_VERSION "3.3.0")
set(LENSFUN_MIN_VERSION "0.2.6.0") # For Lens auto-correction plugin
set(QTAV_MIN_VERSION "1.12.0") # For video support.
@@ -188,7 +188,7 @@
endif()
-find_package(exiv2 REQUIRED)
+find_package(Exiv2 ${EXIV2_MIN_VERSION} REQUIRED)
set_package_properties("exiv2" PROPERTIES
DESCRIPTION "Required to build digiKam"
@@ -197,10 +197,6 @@
PURPOSE "Library to manage image metadata"
)
-if("${exiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
- message(FATAL_ERROR "Exiv2 version is too old (${exiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
-endif()
-
# -- check Media player --------------------------------------------------------
find_package(FFmpeg COMPONENTS AVCODEC AVDEVICE AVFILTER AVFORMAT AVUTIL SWSCALE)
@@ -579,7 +575,7 @@ PRINT_COMPONENT_COMPILE_STATUS("QWebEngine Support" ENABLE_QWEBENGINE)
# ==============================================================================
PRINT_LIBRARY_STATUS("libboostgraph" "https://www.boost.org/doc/libs" "(version >= 1.43.0)" Boost_FOUND)
-PRINT_LIBRARY_STATUS("libexiv2" "https://www.exiv2.org" "(version >= ${EXIV2_MIN_VERSION}" exiv2_FOUND)
+PRINT_LIBRARY_STATUS("libexiv2" "https://www.exiv2.org" "(version >= ${EXIV2_MIN_VERSION}" Exiv2_FOUND)
PRINT_LIBRARY_STATUS("libexpat" "https://libexpat.github.io" "(version >= 2.0.0)" EXPAT_FOUND)
PRINT_LIBRARY_STATUS("libjpeg" "https://github.com/libjpeg-turbo/libjpeg-turbo" "(version >= 6b)" JPEG_FOUND)
PRINT_LIBRARY_STATUS("libkde" "https://www.kde.org" "(version >= ${KF5_MIN_VERSION})" KF5_FOUND)
@@ -622,7 +618,7 @@ PRINT_OPTIONAL_LIBRARY_STATUS("libqtxmlpatterns" "https://www.qt.io"
# ==============================================================================
if(Boost_FOUND AND
- exiv2_FOUND AND
+ Exiv2_FOUND AND
EXPAT_FOUND AND
JPEG_FOUND AND
KF5_FOUND AND
diff --git a/core/app/DigikamCoreTarget.cmake b/core/app/DigikamCoreTarget.cmake
index b9ec794684..d11ebc9120 100644
--- a/core/app/DigikamCoreTarget.cmake
+++ b/core/app/DigikamCoreTarget.cmake
@@ -145,7 +145,7 @@ target_link_libraries(digikamcore
${TIFF_LIBRARIES}
PNG::PNG
${JPEG_LIBRARIES}
- exiv2lib
+ ${EXIV2_LIBRARIES}
${FFMPEG_LIBRARIES}
diff --git a/core/cmake/modules/FindExiv2.cmake b/core/cmake/modules/FindExiv2.cmake
new file mode 100644
index 0000000000..912ffaee0c
--- /dev/null
+++ b/core/cmake/modules/FindExiv2.cmake
@@ -0,0 +1,116 @@
+# - Try to find the Exiv2 library
+#
+# EXIV2_MIN_VERSION - You can set this variable to the minimum version you need
+# before doing FIND_PACKAGE(Exiv2). The default is 0.26.
+#
+# Once done this will define
+#
+# EXIV2_FOUND - system has libexiv2
+# EXIV2_VERSION - the version of libexiv2
+# EXIV2_INCLUDE_DIR - the libexiv2 include directory
+# EXIV2_LIBRARIES - Link these to use libexiv2
+# EXIV2_DEFINITIONS - Compiler switches required for using libexiv2
+#
+# The minimum required version of Exiv2 can be specified using the
+# standard syntax, e.g. find_package(Exiv2 0.26)
+#
+# For compatibility, also the variable EXIV2_MIN_VERSION can be set to the minimum version
+# you need before doing FIND_PACKAGE(Exiv2). The default is 0.26.
+#
+# Copyright (c) 2010, Alexander Neundorf, <neundorf at kde dot org>
+# Copyright (c) 2008-2019, Gilles Caulier, <caulier dot gilles at gmail dot com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+# Support EXIV2_MIN_VERSION for compatibility:
+
+if(NOT Exiv2_FIND_VERSION)
+
+ set(Exiv2_FIND_VERSION "${EXIV2_MIN_VERSION}")
+
+endif()
+
+# The minimum version of exiv2 we require
+if(NOT Exiv2_FIND_VERSION)
+
+ set(Exiv2_FIND_VERSION "0.26")
+
+endif()
+
+if(NOT WIN32)
+
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ pkg_check_modules(PC_EXIV2 QUIET exiv2)
+ set(EXIV2_DEFINITIONS ${PC_EXIV2_CFLAGS_OTHER})
+
+endif()
+
+find_path(EXIV2_INCLUDE_DIR NAMES exiv2/exif.hpp
+ HINTS
+ ${PC_EXIV2_INCLUDEDIR}
+ ${PC_EXIV2_INCLUDE_DIRS}
+ )
+
+find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2 exiv2lib
+ HINTS
+ ${PC_EXIV2_LIBDIR}
+ ${PC_EXIV2_LIBRARY_DIRS}
+ )
+
+if (EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION)
+
+ # For Exiv2 <= 0.26, get the version number from exiv2/version.hpp and store it in the cache:
+
+ file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
+ string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
+
+ if(NOT "${EXIV2_VERSION_MAJOR}" STREQUAL "" AND
+ NOT "${EXIV2_VERSION_MINOR}" STREQUAL "" AND
+ NOT "${EXIV2_VERSION_PATCH}" STREQUAL "")
+
+ set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}"
+ CACHE STRING "Version number of Exiv2" FORCE)
+ else()
+
+ # For Exiv2 >= 0.27, get the version number from exiv2/exv_conf.h and store it in the cache:
+
+ file(READ ${EXIV2_INCLUDE_DIR}/exiv2/exv_conf.h EXIV2_VERSION_CONTENT)
+ string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}")
+ set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
+
+ set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}"
+ CACHE STRING "Version number of Exiv2" FORCE)
+
+ endif()
+
+endif()
+
+set(EXIV2_LIBRARIES "${EXIV2_LIBRARY}")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Exiv2 REQUIRED_VARS EXIV2_LIBRARY EXIV2_INCLUDE_DIR
+ VERSION_VAR EXIV2_VERSION)
+
+MESSAGE(STATUS "EXIV2_FOUND = ${EXIV2_FOUND}")
+MESSAGE(STATUS "EXIV2_VERSION = ${EXIV2_VERSION}")
+MESSAGE(STATUS "EXIV2_INCLUDE_DIR = ${EXIV2_INCLUDE_DIR}")
+MESSAGE(STATUS "EXIV2_LIBRARY = ${EXIV2_LIBRARY}")
+MESSAGE(STATUS "EXIV2_DEFINITIONS = ${EXIV2_DEFINITIONS}")
+
+mark_as_advanced(EXIV2_INCLUDE_DIR EXIV2_LIBRARY)
diff --git a/core/libs/metadataengine/CMakeLists.txt b/core/libs/metadataengine/CMakeLists.txt
index 9e3a026035..596c701516 100644
--- a/core/libs/metadataengine/CMakeLists.txt
+++ b/core/libs/metadataengine/CMakeLists.txt
@@ -9,16 +9,15 @@ APPLY_COMMON_POLICIES()
kde_enable_exceptions()
-# TODO: How to extract exiv2lib definitions properties with cmake import interface?
-#add_definitions($<TARGET_PROPERTY:exiv2lib,INTERFACE_COMPILE_DEFINITIONS>)
+add_definitions(${EXIV2_DEFINITIONS})
if(WIN32)
- add_definitions(-DEXV_HAVE_DLL)
+ add_definitions( -DEXV_HAVE_DLL )
endif()
# Exiv2 version < 0.28 use auto_ptr instead unique_ptr which is deprecated.
-if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
+if("${EXIV2_VERSION}" VERSION_LESS "0.27.99")
DISABLE_GCC_COMPILER_WARNINGS("5.99.99" "-Wno-deprecated")
@@ -99,14 +99,13 @@
endif()
include_directories(
+ ${EXIV2_INCLUDE_DIR}
$<TARGET_PROPERTY:Qt5::Gui,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Qt5::Core,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:Qt5::Xml,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:KF5::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:KF5::I18n,INTERFACE_INCLUDE_DIRECTORIES>
-
- $<TARGET_PROPERTY:exiv2lib,INTERFACE_INCLUDE_DIRECTORIES>
)
# Used by digikamcore
diff --git a/core/libs/metadataengine/engine/metaengine_xmp.cpp b/core/libs/metadataengine/engine/metaengine_xmp.cpp
index f5d694dfc9..ff7771001a 100644
--- a/core/libs/metadataengine/engine/metaengine_xmp.cpp
+++ b/core/libs/metadataengine/engine/metaengine_xmp.cpp
@@ -1234,7 +1234,28 @@ bool MetaEngine::removeXmpTag(const char* xmpTagName, bool family) const
}
else
{
- d->xmpMetadata().eraseFamily(it);
+ // https://github.com/Exiv2/exiv2/issues/521
+ // delete 'children' of XMP composites (XmpSeq and XmpBag)
+
+ // I build a StringVector of keys to remove
+ // Then I remove them with erase(....)
+ // erase() has nasty side effects on its argument
+ // The side effects are avoided by the two-step approach
+ // https://github.com/Exiv2/exiv2/issues/560
+ std::string key(it->key());
+ Exiv2::StringVector keys;
+ while ( it != d->xmpMetadata().end() ) {
+ if ( it->key().find(key)==0 ) {
+ keys.push_back(it->key());
+ it++;
+ } else {
+ break;
+ }
+ }
+ // now erase the family!
+ for ( Exiv2::StringVector_i i = keys.begin() ; i != keys.end() ; i++ ) {
+ d->xmpMetadata().erase(d->xmpMetadata().findKey(Exiv2::XmpKey(*i)));
+ }
}
return true;
--
2.31.1

View File

@ -0,0 +1,25 @@
From f7bad0e9c979a5d700aababa37eac3633d52816b Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Sun, 26 Mar 2023 13:19:40 +0200
Subject: [PATCH] fix compile DNG-SDK with GCC13
---
core/libs/dngwriter/extra/dng_sdk/dng_string.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/libs/dngwriter/extra/dng_sdk/dng_string.cpp b/core/libs/dngwriter/extra/dng_sdk/dng_string.cpp
index fa58711..dbd7e17 100644
--- a/core/libs/dngwriter/extra/dng_sdk/dng_string.cpp
+++ b/core/libs/dngwriter/extra/dng_sdk/dng_string.cpp
@@ -23,7 +23,7 @@
#include <windows.h>
#endif
-#if qiPhone || qAndroid
+#if qLinux || qiPhone || qAndroid
#include <ctype.h> // for isdigit
#endif
--
2.40.0

3
digiKam-7.10.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3f30f01b7d1b6d585822bcd5ebf8df69e0ff024563a72462ebf8069dbda22e1
size 349238192

16
digiKam-7.10.0.tar.xz.sig Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE0c8kRKeFjF8vsJW3Snd0e8I4blAFAmQOAmUACgkQSnd0e8I4
blCklRAAgmEO5aUb8waQVBY3BToh/z3T3QyYefjx60yamuNUJp+V8HrMQHFhE20u
p6LUn8ZZF9u9QM3+mnbitusoGj3bD7tbBlbAOFcfQU2/YADzbyCV6TY4vglxqWEl
XkBp9ztsBOYJVtTzcGmS0Prc16RGd23Hi/fsiYsb95RIuAD/RbF+fDnE/JwUolDj
NRhZI5/zOtwdOVvwM6d4ZmdWGEs93OU6fm4ne1Ip1pwmNR7aNqmz4LVdLTLaKBSQ
smtYybU7NJdyd13ZqgYe9tBP/UmCjmoKVejp0+lqR9vUjakhR10eEb4zn74qt3NU
WPMfUR4zcdyPS9urSFZqQUqELmJhl98oR6q3/P3+Yp1CeJyOFygjip+qoMCKf6gc
AbIJMEMhxwcpXNpZ4RZz9KcPpwSX1zsP65nt48xEIrJ91LlTzkuDXquLMZS72BN3
Q3Sfqn8rAlnK8hjDn+zYIiXGcc7QABC0BOXvF9Lq5ptticN7AKJ/05ptccS0xUCA
5eHUH4URfpbX7gUJsVEGqvQbfFCqCkEaVzFLTcfjIO3arS6Zpw2RmgddvUKUYKOG
zNXmQ2TE9c5g2lfa6jZg50YDeq1ewuuDhez9fyfTaauvTh6EoeLrlO9xSM9FBs09
iiT6jq8jOlkBleuGsrdpTbBwl7vEidv9YINI6wgkLdUC6IHT2nE=
=NI5L
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c3b80abc090da3cbbc42e67a403080d7f5fe0a7c98698735bda556c60314bab4
size 349286920

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE0c8kRKeFjF8vsJW3Snd0e8I4blAFAmOMO6sACgkQSnd0e8I4
blD9yw//QDfK886UufzAuNiWrYT8YFAgUO2Jdwzeq91qONCZKa9yRF4F/KvrBCjU
PoDHg29oMVlUuDo24ZYeZSXoygMZu8NJZZ8eLR36cKEncLgxLxkjq6dLd5qZ+zer
8fEeaCSUWupxgw2jZ+VEc4qSjKbwgUsQ2/C3lLePI+M8CsTbBN79CmMGDdz3g9Zb
CmzjfVNHjF+pcM68QK68gPQVkTSMuc7agwF/NeEIeCXYAttkpGJLTMcKjUfhKRxK
HNGAm9iuKN9l2YNO8A5x1HHrbp7otbGCFOim2LsF/do7qNZ3CenXz1p0nD41YRKU
JEjkPSpBUtQIcXEA/390J7BxbGupWJA7XIqo8uCwILWkIKZPSGefBDlKaS4h3BkD
IDNen+iPtaV80SpK2xmJ4ehwT2Rm5MyyI4PIFOpDRyjYbQjiKWd83LPPuh5dwLHN
lv511iSnr5UGrgV/ZAMPpxFSICSmHLmWT10W3yOBsJY3ClA8lPHFk7aNVQQg4P8f
vV1t/VaO/R8ka5kamCbnIUI6Y1kBSRPN0zNTDs+VOJXqm4ZeoXngYGg9PZ316oVL
8LaZQ7Yp49RW22Lw4F3sm+wWnJzusZrvV26Ezc6LIgLgEuO+dbH9rdPou4GWQJG/
r8s3M+/wK3vR6vkawxDkrmU39XULlTxwYG8xNwVS88JM+0lhOeA=
=Dtyb
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Tue Mar 28 08:43:33 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Add upstream change:
* 0001-fix-compile-DNG-SDK-with-GCC13.patch
-------------------------------------------------------------------
Mon Mar 20 15:39:39 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Update to 7.10.0:
* https://www.digikam.org/news/2023-03-13-7.10.0_release_announcement/
- Drop patch, no longer needed:
* 0001-Revert-Exiv2-is-now-released-with-exported-targets-u.patch
-------------------------------------------------------------------
Thu Dec 8 11:18:22 UTC 2022 - Paolo Stivanin <info@paolostivanin.com>

View File

@ -16,45 +16,36 @@
#
%define soversion 7_9_0
%define soversion 7_10_0
%bcond_without released
%bcond_with apidocs
Name: digikam
Version: 7.9.0
Version: 7.10.0
Release: 0
Summary: A KDE Photo Manager
License: GPL-2.0-or-later
Group: Productivity/Graphics/Viewers
URL: https://www.digikam.org/
Source0: https://download.kde.org/stable/%{name}/%{version}/digiKam-%{version}.tar.xz
%if %{with released}
Source1: https://download.kde.org/stable/%{name}/%{version}/digiKam-%{version}.tar.xz.sig
Source2: %{name}.keyring
%endif
# PATCH-FIX-OPENSUSE -- Lower minimum exiv2 version to 0.26
Patch0: 0001-Revert-Exiv2-is-now-released-with-exported-targets-u.patch
# PATCH-FIX-UPSTREAM
Patch0: 0001-fix-compile-DNG-SDK-with-GCC13.patch
# QtWebEngine is not available on ppc and zSystems
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 %{mips} %{riscv}
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 %{riscv}
BuildRequires: QtAV-devel >= 1.12
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: hicolor-icon-theme
BuildRequires: lensfun
BuildRequires: lensfun-devel
BuildRequires: libboost_graph-devel
BuildRequires: libeigen3-devel
BuildRequires: libexiv2-devel >= 0.26
BuildRequires: libexpat-devel
BuildRequires: libjasper-devel
BuildRequires: libjpeg8-devel
BuildRequires: liblcms2-devel
BuildRequires: libexiv2-devel >= 0.27.1
BuildRequires: liblqr-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: opencv-devel >= 3.4.0
BuildRequires: opencv-devel >= 3.3.0
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
%if %{with apidocs}
@ -65,6 +56,7 @@ BuildRequires: cmake(KF5DocTools)
BuildRequires: cmake(KF5AkonadiContact)
BuildRequires: cmake(KF5CalendarCore)
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5Contacts)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5FileMetaData)
BuildRequires: cmake(KF5I18n)
@ -75,15 +67,16 @@ BuildRequires: cmake(KF5NotifyConfig)
BuildRequires: cmake(KF5Sane)
BuildRequires: cmake(KF5Service)
BuildRequires: cmake(KF5Solid)
BuildRequires: cmake(KF5ThreadWeaver) >= 5.5.0
BuildRequires: cmake(KF5ThreadWeaver)
BuildRequires: cmake(KF5WindowSystem)
BuildRequires: cmake(KF5XmlGui)
BuildRequires: cmake(Marble)
BuildRequires: cmake(Qt5Concurrent)
BuildRequires: cmake(Qt5Core) >= 5.9.0
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5DBus)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Network)
BuildRequires: cmake(Qt5NetworkAuth)
BuildRequires: cmake(Qt5OpenGL)
BuildRequires: cmake(Qt5PrintSupport)
BuildRequires: cmake(Qt5Sql)
@ -94,21 +87,30 @@ BuildRequires: cmake(Qt5Xml)
BuildRequires: cmake(Qt5XmlPatterns)
BuildRequires: cmake(libheif)
BuildRequires: pkgconfig(Magick++)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(lensfun)
BuildRequires: pkgconfig(libgphoto2) >= 2.4.0
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(zlib)
%if 0%{suse_version} >= 1550
BuildRequires: ffmpeg-4-libavcodec-devel
BuildRequires: ffmpeg-4-libavdevice-devel
BuildRequires: ffmpeg-4-libavfilter-devel
BuildRequires: ffmpeg-4-libavformat-devel
BuildRequires: ffmpeg-4-libavutil-devel
BuildRequires: ffmpeg-4-libswscale-devel
%else
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
%endif
BuildRequires: pkgconfig(libgphoto2) >= 2.4.0
BuildRequires: pkgconfig(libswscale)
%endif
Requires: %{name}-plugins
Requires: libQt5Sql5-sqlite
Recommends: marble
@ -139,7 +141,6 @@ delete your images, is provided.
%package plugins
Summary: DigiKam plugins
Group: Productivity/Graphics/Viewers
Recommends: enblend-enfuse
Recommends: hugin
@ -148,7 +149,6 @@ Additional plugins for digiKam.
%package devel
Summary: DigiKam development files
Group: Development/Libraries/KDE
Requires: libdigikamcore%{soversion} = %{version}
%description devel
@ -156,7 +156,6 @@ Development headers and libraries for digiKam.
%package -n showfoto
Summary: DigiKam: Showfoto
Group: Productivity/Graphics/Viewers
Supplements: %{name}
%description -n showfoto
@ -164,7 +163,6 @@ Additional program to browse and view photos
%package -n libdigikamcore%{soversion}
Summary: The main digikam libraries
Group: Development/Libraries/KDE
Recommends: %{name}-plugins
%description -n libdigikamcore%{soversion}
@ -173,10 +171,11 @@ The main digikam libraries that are being shared between showfoto and digikam
%lang_package
%prep
%setup -q
%if 0%{?suse_version} <= 1500
# Leap 15 only has exiv2 0.26
%patch0 -p1
%autosetup -p1
%if %{pkg_vcmp cmake(KF5AkonadiContact) >= 23.03.80}
# Digikam doesn't look explicitly for akonadi-server but relies on AkonadiContact dependencies
sed -i 's#KF5::AkonadiCore#KPim5::AkonadiCore#' core/utilities/extrasupport/addressbook/CMakeLists.txt
%endif
%build
@ -195,14 +194,11 @@ The main digikam libraries that are being shared between showfoto and digikam
%suse_update_desktop_file -r org.kde.showfoto Qt KDE Graphics Photography
%endif
%if %{with released}
%find_lang %{name} --without-kde
%endif
%fdupes %{buildroot}
%post -n libdigikamcore%{soversion} -p /sbin/ldconfig
%postun -n libdigikamcore%{soversion} -p /sbin/ldconfig
%ldconfig_scriptlets -n libdigikamcore%{soversion}
%files
%{_kf5_bindir}/digikam
@ -248,12 +244,10 @@ The main digikam libraries that are being shared between showfoto and digikam
%files -n libdigikamcore%{soversion}
%license COPYING*
%{_kf5_libdir}/libdigikamcore.so.7.9.0
%{_kf5_libdir}/libdigikamdatabase.so.7.9.0
%{_kf5_libdir}/libdigikamgui.so.7.9.0
%{_kf5_libdir}/libdigikamcore.so.7.10.0
%{_kf5_libdir}/libdigikamdatabase.so.7.10.0
%{_kf5_libdir}/libdigikamgui.so.7.10.0
%if %{with released}
%files lang -f %{name}.lang
%endif
%changelog