summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/krita/files/krita-4.1.7-exiv2-0.27.patch')
-rw-r--r--media-gfx/krita/files/krita-4.1.7-exiv2-0.27.patch354
1 files changed, 0 insertions, 354 deletions
diff --git a/media-gfx/krita/files/krita-4.1.7-exiv2-0.27.patch b/media-gfx/krita/files/krita-4.1.7-exiv2-0.27.patch
deleted file mode 100644
index 41b290852eb5..000000000000
--- a/media-gfx/krita/files/krita-4.1.7-exiv2-0.27.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From 6b6758bb37da4997be36a7e2a839b07278160559 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Thu, 27 Dec 2018 22:40:44 +0100
-Subject: [PATCH] Fix building against exiv2-0.27
-
-Summary:
-Copied FindLibExiv2.cmake from ECM 5.53.0 until we raise min version.
-
-Thanks-to: Boudewijn Rempt <boud@valdyas.org>
-for final fix to kis_xmp_io.cpp.
-
-CCBUG: 402566
-
-Test Plan: Built fine against exiv2-0.26 and exiv2-0.27.
-
-Reviewers: #krita, rempt
-
-Reviewed By: #krita, rempt
-
-Subscribers: pino
-
-Tags: #krita
-
-Differential Revision: https://phabricator.kde.org/D17810
----
- CMakeLists.txt | 6 +-
- cmake/modules/FindLibExiv2.cmake | 115 ++++++++++++++++++++++++++++++
- libs/ui/CMakeLists.txt | 3 +-
- libs/ui/kisexiv2/kis_exif_io.cpp | 14 ++--
- libs/ui/kisexiv2/kis_exiv2.h | 2 +-
- libs/ui/kisexiv2/kis_iptc_io.cpp | 4 +-
- libs/ui/kisexiv2/kis_xmp_io.cpp | 6 +-
- plugins/impex/jpeg/CMakeLists.txt | 5 +-
- 8 files changed, 130 insertions(+), 25 deletions(-)
- create mode 100644 cmake/modules/FindLibExiv2.cmake
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5558088200..b2d2cd497e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -607,11 +607,7 @@ set_package_properties(Eigen3 PROPERTIES
- ##
- ## Test for exiv2
- ##
--find_package(Exiv2 0.16 REQUIRED)
--set_package_properties(Exiv2 PROPERTIES
-- DESCRIPTION "Image metadata library and tools"
-- URL "http://www.exiv2.org"
-- PURPOSE "Required by Krita")
-+find_package(LibExiv2 0.16 REQUIRED)
-
- ##
- ## Test for lcms
-diff --git a/cmake/modules/FindLibExiv2.cmake b/cmake/modules/FindLibExiv2.cmake
-new file mode 100644
-index 0000000000..935cee2c55
---- /dev/null
-+++ b/cmake/modules/FindLibExiv2.cmake
-@@ -0,0 +1,115 @@
-+#.rst:
-+# FindLibExiv2
-+# ------------
-+#
-+# Try to find the Exiv2 library.
-+#
-+# This will define the following variables:
-+#
-+# ``LibExiv2_FOUND``
-+# System has LibExiv2.
-+#
-+# ``LibExiv2_VERSION``
-+# The version of LibExiv2.
-+#
-+# ``LibExiv2_INCLUDE_DIRS``
-+# This should be passed to target_include_directories() if
-+# the target is not used for linking.
-+#
-+# ``LibExiv2_LIBRARIES``
-+# The LibExiv2 library.
-+# This can be passed to target_link_libraries() instead of
-+# the ``LibExiv2::LibExiv2`` target
-+#
-+# If ``LibExiv2_FOUND`` is TRUE, the following imported target
-+# will be available:
-+#
-+# ``LibExiv2::LibExiv2``
-+# The Exiv2 library
-+#
-+# Since 5.53.0.
-+#
-+#=============================================================================
-+# Copyright (c) 2018, Christophe Giboudeaux, <christophe@krop.fr>
-+# Copyright (c) 2010, Alexander Neundorf, <neundorf@kde.org>
-+# Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com>
-+#
-+#
-+# Redistribution and use in source and binary forms, with or without
-+# modification, are permitted provided that the following conditions
-+# are met:
-+#
-+# 1. Redistributions of source code must retain the copyright
-+# notice, this list of conditions and the following disclaimer.
-+# 2. Redistributions in binary form must reproduce the copyright
-+# notice, this list of conditions and the following disclaimer in the
-+# documentation and/or other materials provided with the distribution.
-+# 3. The name of the author may not be used to endorse or promote products
-+# derived from this software without specific prior written permission.
-+#
-+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+#=============================================================================
-+
-+find_package(PkgConfig QUIET)
-+pkg_check_modules(PC_EXIV2 QUIET exiv2)
-+
-+find_path(LibExiv2_INCLUDE_DIRS NAMES exiv2/exif.hpp
-+ HINTS ${PC_EXIV2_INCLUDEDIR}
-+)
-+
-+find_library(LibExiv2_LIBRARIES NAMES exiv2 libexiv2
-+ HINTS ${PC_EXIV2_LIBRARY_DIRS}
-+)
-+
-+set(LibExiv2_VERSION ${PC_EXIV2_VERSION})
-+
-+if(NOT LibExiv2_VERSION AND DEFINED LibExiv2_INCLUDE_DIRS)
-+ # With exiv >= 0.27, the version #defines are in exv_conf.h instead of version.hpp
-+ foreach(_exiv2_version_file "version.hpp" "exv_conf.h")
-+ if(EXISTS "${LibExiv2_INCLUDE_DIRS}/exiv2/${_exiv2_version_file}")
-+ file(READ "${LibExiv2_INCLUDE_DIRS}/exiv2/${_exiv2_version_file}" _exiv_version_file_content)
-+ string(REGEX MATCH "#define EXIV2_MAJOR_VERSION[ ]+\\([0-9]+\\)" EXIV2_MAJOR_VERSION_MATCH ${_exiv_version_file_content})
-+ string(REGEX MATCH "#define EXIV2_MINOR_VERSION[ ]+\\([0-9]+\\)" EXIV2_MINOR_VERSION_MATCH ${_exiv_version_file_content})
-+ string(REGEX MATCH "#define EXIV2_PATCH_VERSION[ ]+\\([0-9]+\\)" EXIV2_PATCH_VERSION_MATCH ${_exiv_version_file_content})
-+ if(EXIV2_MAJOR_VERSION_MATCH)
-+ string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+\\((.*)\\)" "\\1" EXIV2_MAJOR_VERSION ${EXIV2_MAJOR_VERSION_MATCH})
-+ string(REGEX REPLACE ".*_MINOR_VERSION[ ]+\\((.*)\\)" "\\1" EXIV2_MINOR_VERSION ${EXIV2_MINOR_VERSION_MATCH})
-+ string(REGEX REPLACE ".*_PATCH_VERSION[ ]+\\((.*)\\)" "\\1" EXIV2_PATCH_VERSION ${EXIV2_PATCH_VERSION_MATCH})
-+ endif()
-+ endif()
-+ endforeach()
-+
-+ set(LibExiv2_VERSION "${EXIV2_MAJOR_VERSION}.${EXIV2_MINOR_VERSION}.${EXIV2_PATCH_VERSION}")
-+endif()
-+
-+include(FindPackageHandleStandardArgs)
-+find_package_handle_standard_args(LibExiv2
-+ FOUND_VAR LibExiv2_FOUND
-+ REQUIRED_VARS LibExiv2_LIBRARIES LibExiv2_INCLUDE_DIRS
-+ VERSION_VAR LibExiv2_VERSION
-+)
-+
-+mark_as_advanced(LibExiv2_INCLUDE_DIRS LibExiv2_LIBRARIES)
-+
-+if(LibExiv2_FOUND AND NOT TARGET LibExiv2::LibExiv2)
-+ add_library(LibExiv2::LibExiv2 UNKNOWN IMPORTED)
-+ set_target_properties(LibExiv2::LibExiv2 PROPERTIES
-+ IMPORTED_LOCATION "${LibExiv2_LIBRARIES}"
-+ INTERFACE_INCLUDE_DIRECTORIES "${LibExiv2_INCLUDE_DIRS}"
-+ )
-+endif()
-+
-+include(FeatureSummary)
-+set_package_properties(LibExiv2 PROPERTIES
-+ URL "http://www.exiv2.org"
-+ DESCRIPTION "Image metadata support"
-+)
-diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt
-index f14d3591bc..ff57f53158 100644
---- a/libs/ui/CMakeLists.txt
-+++ b/libs/ui/CMakeLists.txt
-@@ -1,6 +1,5 @@
- include_directories(
- ${CMAKE_CURRENT_SOURCE_DIR}/qtlockedfile
-- ${EXIV2_INCLUDE_DIR}
- )
-
- include_directories(SYSTEM
-@@ -544,7 +543,7 @@ add_library(kritaui SHARED ${kritaui_HEADERS_MOC} ${kritaui_LIB_SRCS} )
- generate_export_header(kritaui BASE_NAME kritaui)
-
- target_link_libraries(kritaui KF5::CoreAddons KF5::Completion KF5::I18n KF5::ItemViews Qt5::Network
-- kritaimpex kritacolor kritaimage kritalibbrush kritawidgets kritawidgetutils ${PNG_LIBRARIES} ${EXIV2_LIBRARIES}
-+ kritaimpex kritacolor kritaimage kritalibbrush kritawidgets kritawidgetutils ${PNG_LIBRARIES} LibExiv2::LibExiv2
- )
-
- if (HAVE_QT_MULTIMEDIA)
-diff --git a/libs/ui/kisexiv2/kis_exif_io.cpp b/libs/ui/kisexiv2/kis_exif_io.cpp
-index 1a01fedf33..4a7857aa9c 100644
---- a/libs/ui/kisexiv2/kis_exif_io.cpp
-+++ b/libs/ui/kisexiv2/kis_exif_io.cpp
-@@ -438,11 +438,10 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
- if (entry.value().asArray().size() > 0) {
- creator = entry.value().asArray()[0];
- }
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
-+#if !EXIV2_TEST_VERSION(0,21,0)
- v = kmdValueToExivValue(creator, Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
- #else
- v = kmdValueToExivValue(creator, exifKey.defaultTypeId());
--
- #endif
- } else if (exivKey == "Exif.Photo.OECF") {
- v = kmdOECFStructureToExifOECF(entry.value());
-@@ -456,13 +455,13 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
- Q_ASSERT(entry.value().type() == KisMetaData::Value::LangArray);
- QMap<QString, KisMetaData::Value> langArr = entry.value().asLangArray();
- if (langArr.contains("x-default")) {
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
-+#if !EXIV2_TEST_VERSION(0,21,0)
- v = kmdValueToExivValue(langArr.value("x-default"), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
- #else
- v = kmdValueToExivValue(langArr.value("x-default"), exifKey.defaultTypeId());
- #endif
- } else if (langArr.size() > 0) {
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
-+#if !EXIV2_TEST_VERSION(0,21,0)
- v = kmdValueToExivValue(langArr.begin().value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
- #else
- v = kmdValueToExivValue(langArr.begin().value(), exifKey.defaultTypeId());
-@@ -470,7 +469,7 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
- }
- } else {
- dbgMetaData << exifKey.tag();
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
-+#if !EXIV2_TEST_VERSION(0,21,0)
- v = kmdValueToExivValue(entry.value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
- #else
- v = kmdValueToExivValue(entry.value(), exifKey.defaultTypeId());
-@@ -487,7 +486,7 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
- dbgMetaData << "exiv error " << e.what();
- }
- }
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
-+#if !EXIV2_TEST_VERSION(0,18,0)
- Exiv2::DataBuf rawData = exifData.copy();
- ioDevice->write((const char*) rawData.pData_, rawData.size_);
- #else
-@@ -514,7 +513,7 @@ bool KisExifIO::loadFrom(KisMetaData::Store* store, QIODevice* ioDevice) const
- QByteArray arr = ioDevice->readAll();
- Exiv2::ExifData exifData;
- Exiv2::ByteOrder byteOrder;
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
-+#if !EXIV2_TEST_VERSION(0,18,0)
- exifData.load((const Exiv2::byte*)arr.data(), arr.size());
- byteOrder = exifData.byteOrder();
- #else
-@@ -529,7 +528,6 @@ bool KisExifIO::loadFrom(KisMetaData::Store* store, QIODevice* ioDevice) const
- dbgKrita << "Received unknown exception trying to parse exiv data";
- return false;
- }
--
- #endif
- dbgMetaData << "Byte order = " << byteOrder << ppVar(Exiv2::bigEndian) << ppVar(Exiv2::littleEndian);
- dbgMetaData << "There are" << exifData.count() << " entries in the exif section";
-diff --git a/libs/ui/kisexiv2/kis_exiv2.h b/libs/ui/kisexiv2/kis_exiv2.h
-index 9343265f1e..6b66aa7852 100644
---- a/libs/ui/kisexiv2/kis_exiv2.h
-+++ b/libs/ui/kisexiv2/kis_exiv2.h
-@@ -21,7 +21,7 @@
-
-
- #include <metadata/kis_meta_data_value.h>
--#include <exiv2/value.hpp>
-+#include <exiv2/exiv2.hpp>
- #include "kritaui_export.h"
-
- /// Convert an exiv value to a KisMetaData value
-diff --git a/libs/ui/kisexiv2/kis_iptc_io.cpp b/libs/ui/kisexiv2/kis_iptc_io.cpp
-index d2eb7c9b2f..0ac881f61b 100644
---- a/libs/ui/kisexiv2/kis_iptc_io.cpp
-+++ b/libs/ui/kisexiv2/kis_iptc_io.cpp
-@@ -126,7 +126,7 @@ bool KisIptcIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
- }
- }
- }
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
-+#if !EXIV2_TEST_VERSION(0,18,0)
- Exiv2::DataBuf rawData = iptcData.copy();
- #else
- Exiv2::DataBuf rawData = Exiv2::IptcParser::encode(iptcData);
-@@ -167,7 +167,7 @@ bool KisIptcIO::loadFrom(KisMetaData::Store* store, QIODevice* ioDevice) const
- ioDevice->open(QIODevice::ReadOnly);
- QByteArray arr = ioDevice->readAll();
- Exiv2::IptcData iptcData;
--#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
-+#if !EXIV2_TEST_VERSION(0,18,0)
- iptcData.load((const Exiv2::byte*)arr.data(), arr.size());
- #else
- Exiv2::IptcParser::decode(iptcData, (const Exiv2::byte*)arr.data(), arr.size());
-diff --git a/libs/ui/kisexiv2/kis_xmp_io.cpp b/libs/ui/kisexiv2/kis_xmp_io.cpp
-index c4663efe7d..72fa5c5d38 100644
---- a/libs/ui/kisexiv2/kis_xmp_io.cpp
-+++ b/libs/ui/kisexiv2/kis_xmp_io.cpp
-@@ -17,7 +17,6 @@
- #include "kis_xmp_io.h"
-
- #include <string>
--#include <exiv2/xmp.hpp>
-
- #include "kis_exiv2.h"
-
-@@ -277,9 +276,8 @@ bool KisXMPIO::loadFrom(KisMetaData::Store* store, QIODevice* ioDevice) const
- const Exiv2::XmpArrayValue* xav = dynamic_cast<const Exiv2::XmpArrayValue*>(value.get());
- Q_ASSERT(xav);
- QList<KisMetaData::Value> array;
-- for (std::vector< std::string >::const_iterator it = xav->value_.begin();
-- it != xav->value_.end(); ++it) {
-- QString value = it->c_str();
-+ for (int i = 0; i < xav->size(); ++i) {
-+ QString value = QString::fromStdString(xav->toString(i));
- if (parser) {
- array.push_back(parser->parse(value));
- } else {
-diff --git a/plugins/impex/jpeg/CMakeLists.txt b/plugins/impex/jpeg/CMakeLists.txt
-index 347e46dbe3..50edb05c96 100644
---- a/plugins/impex/jpeg/CMakeLists.txt
-+++ b/plugins/impex/jpeg/CMakeLists.txt
-@@ -4,7 +4,6 @@ set(ICCJPEG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lcms")
-
- include_directories(
- ${ICCJPEG_SOURCE_DIR}
-- ${EXIV2_INCLUDE_DIR}
- )
-
- include_directories(SYSTEM
-@@ -25,7 +24,7 @@ set(kritajpegimport_SOURCES
-
- add_library(kritajpegimport MODULE ${kritajpegimport_SOURCES})
-
--target_link_libraries(kritajpegimport kritaui ${JPEG_LIBRARIES} ${LCMS2_LIBRARIES} ${EXIV2_LIBRARIES} )
-+target_link_libraries(kritajpegimport kritaui ${JPEG_LIBRARIES} ${LCMS2_LIBRARIES} LibExiv2::LibExiv2 )
-
- install(TARGETS kritajpegimport DESTINATION ${KRITA_PLUGIN_INSTALL_DIR})
-
-@@ -38,7 +37,7 @@ ki18n_wrap_ui(kritajpegexport_SOURCES kis_wdg_options_jpeg.ui )
-
- add_library(kritajpegexport MODULE ${kritajpegexport_SOURCES})
-
--target_link_libraries(kritajpegexport kritaui kritaimpex ${JPEG_LIBRARIES} ${LCMS2_LIBRARIES} ${EXIV2_LIBRARIES} )
-+target_link_libraries(kritajpegexport kritaui kritaimpex ${JPEG_LIBRARIES} ${LCMS2_LIBRARIES} LibExiv2::LibExiv2 )
-
- install(TARGETS kritajpegexport DESTINATION ${KRITA_PLUGIN_INSTALL_DIR})
- install( PROGRAMS krita_jpeg.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
---
-2.20.1
-