digikam: revbump for exiv2-0.28.1.
This commit is contained in:
parent
bffcd17078
commit
895a4bac35
422
srcpkgs/digikam/patches/fix-build-with-exiv2-0.28.1.patch
Normal file
422
srcpkgs/digikam/patches/fix-build-with-exiv2-0.28.1.patch
Normal file
@ -0,0 +1,422 @@
|
||||
From a76a561b20e7300510b29edc97afab01e381c0ec Mon Sep 17 00:00:00 2001
|
||||
From: Maik Qualmann <metzpinguin@gmail.com>
|
||||
Date: Wed, 8 Nov 2023 23:13:26 +0100
|
||||
Subject: [PATCH 1/5] fix compile with Exiv2-0.28.1 It should still compile
|
||||
even with smaller Exiv2 versions.
|
||||
|
||||
---
|
||||
core/CMakeLists.txt | 4 ++--
|
||||
core/app/DigikamCoreTarget.cmake | 2 +-
|
||||
core/cmake/rules/RulesLibExiv2.cmake | 8 ++++----
|
||||
core/libs/metadataengine/CMakeLists.txt | 4 ++--
|
||||
4 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
|
||||
index c694c4b176..d5dc2f0dd8 100644
|
||||
--- a/core/CMakeLists.txt
|
||||
+++ b/core/CMakeLists.txt
|
||||
@@ -255,7 +255,7 @@ PRINT_COMPONENT_COMPILE_STATUS("Media Player Support" ENAB
|
||||
# ==============================================================================
|
||||
|
||||
PRINT_LIBRARY_STATUS("libboostgraph" "https://github.com/boostorg/boost" "(version >= 1.43.0)" Boost_FOUND)
|
||||
-PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" exiv2_FOUND)
|
||||
+PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" LibExiv2_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://invent.kde.org/frameworks/" "(version >= ${KF5_MIN_VERSION})" KF5_FOUND)
|
||||
@@ -306,7 +306,7 @@ endif()
|
||||
# ==============================================================================
|
||||
|
||||
if(Boost_FOUND AND
|
||||
- exiv2_FOUND AND
|
||||
+ LibExiv2_FOUND AND
|
||||
EXPAT_FOUND AND
|
||||
JPEG_FOUND AND
|
||||
KF5_FOUND AND
|
||||
diff --git a/core/app/DigikamCoreTarget.cmake b/core/app/DigikamCoreTarget.cmake
|
||||
index 83fda1b35f..8221a2d632 100644
|
||||
--- a/core/app/DigikamCoreTarget.cmake
|
||||
+++ b/core/app/DigikamCoreTarget.cmake
|
||||
@@ -151,7 +151,7 @@ target_link_libraries(digikamcore
|
||||
${TIFF_LIBRARIES}
|
||||
PNG::PNG
|
||||
${JPEG_LIBRARIES}
|
||||
- exiv2lib
|
||||
+ ${LibExiv2_LIBRARIES}
|
||||
|
||||
${OPENMP_LDFLAGS}
|
||||
|
||||
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
index c8b37d307c..a8ca259432 100644
|
||||
--- a/core/cmake/rules/RulesLibExiv2.cmake
|
||||
+++ b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
@@ -4,7 +4,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
-find_package(exiv2 REQUIRED)
|
||||
+find_package(LibExiv2 REQUIRED)
|
||||
|
||||
set_package_properties("exiv2" PROPERTIES
|
||||
DESCRIPTION "Required to build digiKam"
|
||||
@@ -13,13 +13,13 @@ set_package_properties("exiv2" PROPERTIES
|
||||
PURPOSE "Library to manage image metadata"
|
||||
)
|
||||
|
||||
-if("${exiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
|
||||
+if("${LibExiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
|
||||
|
||||
- message(FATAL_ERROR "Exiv2 version is too old (${exiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
|
||||
+ message(FATAL_ERROR "Exiv2 version is too old (${LibExiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
|
||||
|
||||
endif()
|
||||
|
||||
-if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
+if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
|
||||
set(EXIV2_CXX_STANDARD 11)
|
||||
|
||||
diff --git a/core/libs/metadataengine/CMakeLists.txt b/core/libs/metadataengine/CMakeLists.txt
|
||||
index 47aa889d5e..bd4dba0bbd 100644
|
||||
--- a/core/libs/metadataengine/CMakeLists.txt
|
||||
+++ b/core/libs/metadataengine/CMakeLists.txt
|
||||
@@ -18,7 +18,7 @@ endif()
|
||||
|
||||
# Exiv2 version < 0.28 use auto_ptr instead unique_ptr which is deprecated.
|
||||
|
||||
-if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
+if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
|
||||
DISABLE_GCC_COMPILER_WARNINGS("5.99.99" "-Wno-deprecated")
|
||||
|
||||
@@ -112,7 +112,7 @@ include_directories(
|
||||
$<TARGET_PROPERTY:KF5::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:KF5::I18n,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
|
||||
- $<TARGET_PROPERTY:exiv2lib,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
+ $<TARGET_PROPERTY:LibExiv2_INCLUDE_DIRS>
|
||||
)
|
||||
|
||||
# Used by digikamcore
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From ee487a753a652c588b88fa18aeb885105c17368d Mon Sep 17 00:00:00 2001
|
||||
From: Maik Qualmann <metzpinguin@gmail.com>
|
||||
Date: Thu, 9 Nov 2023 18:49:18 +0100
|
||||
Subject: [PATCH 2/5] recognize both Exiv2 CMake variants
|
||||
|
||||
---
|
||||
core/CMakeLists.txt | 14 ++++++--
|
||||
core/app/DigikamCoreTarget.cmake | 17 ++++++++-
|
||||
core/cmake/rules/RulesLibExiv2.cmake | 46 +++++++++++++++++++++----
|
||||
core/libs/metadataengine/CMakeLists.txt | 12 +++++--
|
||||
4 files changed, 77 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
|
||||
index d5dc2f0dd8..855fdcf185 100644
|
||||
--- a/core/CMakeLists.txt
|
||||
+++ b/core/CMakeLists.txt
|
||||
@@ -255,7 +255,17 @@ PRINT_COMPONENT_COMPILE_STATUS("Media Player Support" ENAB
|
||||
# ==============================================================================
|
||||
|
||||
PRINT_LIBRARY_STATUS("libboostgraph" "https://github.com/boostorg/boost" "(version >= 1.43.0)" Boost_FOUND)
|
||||
-PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" LibExiv2_FOUND)
|
||||
+
|
||||
+if(LibExiv2_FOUND)
|
||||
+
|
||||
+ PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" LibExiv2_FOUND)
|
||||
+
|
||||
+else()
|
||||
+
|
||||
+ PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" exiv2_FOUND)
|
||||
+
|
||||
+endif()
|
||||
+
|
||||
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://invent.kde.org/frameworks/" "(version >= ${KF5_MIN_VERSION})" KF5_FOUND)
|
||||
@@ -306,7 +316,7 @@ endif()
|
||||
# ==============================================================================
|
||||
|
||||
if(Boost_FOUND AND
|
||||
- LibExiv2_FOUND AND
|
||||
+ (LibExiv2_FOUND OR 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 8221a2d632..80bd153caa 100644
|
||||
--- a/core/app/DigikamCoreTarget.cmake
|
||||
+++ b/core/app/DigikamCoreTarget.cmake
|
||||
@@ -151,7 +151,6 @@ target_link_libraries(digikamcore
|
||||
${TIFF_LIBRARIES}
|
||||
PNG::PNG
|
||||
${JPEG_LIBRARIES}
|
||||
- ${LibExiv2_LIBRARIES}
|
||||
|
||||
${OPENMP_LDFLAGS}
|
||||
|
||||
@@ -164,6 +163,22 @@ target_link_libraries(digikamcore
|
||||
opencv_flann
|
||||
)
|
||||
|
||||
+if(LibExiv2_FOUND)
|
||||
+
|
||||
+ target_link_libraries(digikamcore
|
||||
+ PRIVATE
|
||||
+ ${LibExiv2_LIBRARIES}
|
||||
+ )
|
||||
+
|
||||
+else()
|
||||
+
|
||||
+ target_link_libraries(digikamcore
|
||||
+ PRIVATE
|
||||
+ exiv2lib
|
||||
+ )
|
||||
+
|
||||
+endif()
|
||||
+
|
||||
if(Qt6_FOUND)
|
||||
target_link_libraries(digikamcore
|
||||
PRIVATE
|
||||
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
index a8ca259432..e568644ca4 100644
|
||||
--- a/core/cmake/rules/RulesLibExiv2.cmake
|
||||
+++ b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
@@ -4,7 +4,17 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
-find_package(LibExiv2 REQUIRED)
|
||||
+find_package(LibExiv2 OPTIONAL_COMPONENTS)
|
||||
+
|
||||
+if(LibExiv2_FOUND)
|
||||
+
|
||||
+ find_package(LibExiv2 REQUIRED)
|
||||
+
|
||||
+else()
|
||||
+
|
||||
+ find_package(exiv2 REQUIRED)
|
||||
+
|
||||
+endif()
|
||||
|
||||
set_package_properties("exiv2" PROPERTIES
|
||||
DESCRIPTION "Required to build digiKam"
|
||||
@@ -13,18 +23,40 @@ set_package_properties("exiv2" PROPERTIES
|
||||
PURPOSE "Library to manage image metadata"
|
||||
)
|
||||
|
||||
-if("${LibExiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
|
||||
+if(LibExiv2_FOUND)
|
||||
|
||||
- message(FATAL_ERROR "Exiv2 version is too old (${LibExiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
|
||||
+ if("${LibExiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
|
||||
|
||||
-endif()
|
||||
+ message(FATAL_ERROR "Exiv2 version is too old (${LibExiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
|
||||
+
|
||||
+ endif()
|
||||
+
|
||||
+ if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
|
||||
-if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
+ set(EXIV2_CXX_STANDARD 11)
|
||||
|
||||
- set(EXIV2_CXX_STANDARD 11)
|
||||
+ else()
|
||||
+
|
||||
+ set(EXIV2_CXX_STANDARD 17)
|
||||
+
|
||||
+ endif()
|
||||
|
||||
else()
|
||||
|
||||
- set(EXIV2_CXX_STANDARD 17)
|
||||
+ 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()
|
||||
+
|
||||
+ if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
+
|
||||
+ set(EXIV2_CXX_STANDARD 11)
|
||||
+
|
||||
+ else()
|
||||
+
|
||||
+ set(EXIV2_CXX_STANDARD 17)
|
||||
+
|
||||
+ endif()
|
||||
|
||||
endif()
|
||||
diff --git a/core/libs/metadataengine/CMakeLists.txt b/core/libs/metadataengine/CMakeLists.txt
|
||||
index bd4dba0bbd..a4124d17e0 100644
|
||||
--- a/core/libs/metadataengine/CMakeLists.txt
|
||||
+++ b/core/libs/metadataengine/CMakeLists.txt
|
||||
@@ -111,10 +111,18 @@ include_directories(
|
||||
|
||||
$<TARGET_PROPERTY:KF5::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:KF5::I18n,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
-
|
||||
- $<TARGET_PROPERTY:LibExiv2_INCLUDE_DIRS>
|
||||
)
|
||||
|
||||
+if(LibExiv2_FOUND)
|
||||
+
|
||||
+ include_directories($<TARGET_PROPERTY:LibExiv2_INCLUDE_DIRS>)
|
||||
+
|
||||
+else()
|
||||
+
|
||||
+ include_directories($<TARGET_PROPERTY:exiv2lib,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
+
|
||||
+endif()
|
||||
+
|
||||
# Used by digikamcore
|
||||
add_library(core_dmetadata_obj OBJECT ${libdmetadata_SRCS})
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From af221dd7700fbf1e6e3b5245184381d2b74ec781 Mon Sep 17 00:00:00 2001
|
||||
From: Maik Qualmann <metzpinguin@gmail.com>
|
||||
Date: Thu, 9 Nov 2023 19:12:44 +0100
|
||||
Subject: [PATCH 3/5] check version und clear LibExiv2_FOUND
|
||||
|
||||
---
|
||||
core/cmake/rules/RulesLibExiv2.cmake | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
index e568644ca4..de5ea80ec6 100644
|
||||
--- a/core/cmake/rules/RulesLibExiv2.cmake
|
||||
+++ b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
@@ -6,12 +6,13 @@
|
||||
|
||||
find_package(LibExiv2 OPTIONAL_COMPONENTS)
|
||||
|
||||
-if(LibExiv2_FOUND)
|
||||
+if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.28.0"))
|
||||
|
||||
find_package(LibExiv2 REQUIRED)
|
||||
|
||||
else()
|
||||
|
||||
+ set (LibExiv2_FOUND FALSE)
|
||||
find_package(exiv2 REQUIRED)
|
||||
|
||||
endif()
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From fda83a6f7e03e4088f3a5903d036c1425d6303b9 Mon Sep 17 00:00:00 2001
|
||||
From: Maik Qualmann <metzpinguin@gmail.com>
|
||||
Date: Thu, 9 Nov 2023 19:15:41 +0100
|
||||
Subject: [PATCH 4/5] adjust Exiv2 version
|
||||
|
||||
---
|
||||
core/cmake/rules/RulesLibExiv2.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
index de5ea80ec6..3db233cad2 100644
|
||||
--- a/core/cmake/rules/RulesLibExiv2.cmake
|
||||
+++ b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
find_package(LibExiv2 OPTIONAL_COMPONENTS)
|
||||
|
||||
-if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.28.0"))
|
||||
+if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.27.99"))
|
||||
|
||||
find_package(LibExiv2 REQUIRED)
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 921ee9945f8c438f23b83add58d5737b539cd312 Mon Sep 17 00:00:00 2001
|
||||
From: Maik Qualmann <metzpinguin@gmail.com>
|
||||
Date: Thu, 9 Nov 2023 21:35:09 +0100
|
||||
Subject: [PATCH 5/5] set correct exiv2 package name and less duplicate CMake
|
||||
code
|
||||
|
||||
---
|
||||
core/cmake/rules/RulesLibExiv2.cmake | 34 +++++++++++-----------------
|
||||
1 file changed, 13 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
index 3db233cad2..e3e667d946 100644
|
||||
--- a/core/cmake/rules/RulesLibExiv2.cmake
|
||||
+++ b/core/cmake/rules/RulesLibExiv2.cmake
|
||||
@@ -9,19 +9,21 @@ find_package(LibExiv2 OPTIONAL_COMPONENTS)
|
||||
if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.27.99"))
|
||||
|
||||
find_package(LibExiv2 REQUIRED)
|
||||
+ set(EXIV2_PACKAGE_NAME "LibExiv2")
|
||||
|
||||
else()
|
||||
|
||||
- set (LibExiv2_FOUND FALSE)
|
||||
+ set(LibExiv2_FOUND FALSE)
|
||||
find_package(exiv2 REQUIRED)
|
||||
+ set(EXIV2_PACKAGE_NAME "exiv2")
|
||||
|
||||
endif()
|
||||
|
||||
-set_package_properties("exiv2" PROPERTIES
|
||||
- DESCRIPTION "Required to build digiKam"
|
||||
- URL "https://www.exiv2.org"
|
||||
- TYPE RECOMMENDED
|
||||
- PURPOSE "Library to manage image metadata"
|
||||
+set_package_properties(${EXIV2_PACKAGE_NAME} PROPERTIES
|
||||
+ DESCRIPTION "Required to build digiKam"
|
||||
+ URL "https://www.exiv2.org"
|
||||
+ TYPE RECOMMENDED
|
||||
+ PURPOSE "Library to manage image metadata"
|
||||
)
|
||||
|
||||
if(LibExiv2_FOUND)
|
||||
@@ -32,16 +34,6 @@ if(LibExiv2_FOUND)
|
||||
|
||||
endif()
|
||||
|
||||
- if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
-
|
||||
- set(EXIV2_CXX_STANDARD 11)
|
||||
-
|
||||
- else()
|
||||
-
|
||||
- set(EXIV2_CXX_STANDARD 17)
|
||||
-
|
||||
- endif()
|
||||
-
|
||||
else()
|
||||
|
||||
if("${exiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
|
||||
@@ -50,14 +42,14 @@ else()
|
||||
|
||||
endif()
|
||||
|
||||
- if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
|
||||
+endif()
|
||||
|
||||
- set(EXIV2_CXX_STANDARD 11)
|
||||
+if(("${exiv2_VERSION}" VERSION_GREATER "0.27.99") OR ("${LibExiv2_VERSION}" VERSION_GREATER "0.27.99"))
|
||||
|
||||
- else()
|
||||
+ set(EXIV2_CXX_STANDARD 17)
|
||||
|
||||
- set(EXIV2_CXX_STANDARD 17)
|
||||
+else()
|
||||
|
||||
- endif()
|
||||
+ set(EXIV2_CXX_STANDARD 11)
|
||||
|
||||
endif()
|
||||
--
|
||||
2.42.0
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Template file for 'digikam'
|
||||
pkgname=digikam
|
||||
version=8.1.0
|
||||
revision=1
|
||||
revision=2
|
||||
build_style=cmake
|
||||
configure_args="-DBUILD_TESTING=OFF"
|
||||
hostmakedepends="extra-cmake-modules gettext pkg-config bison flex qt5-qmake
|
||||
|
Loading…
x
Reference in New Issue
Block a user