summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2023-06-08 14:16:52 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2023-06-08 14:16:52 +0000
commit78ebcfdceddb99e5113f083f52aa709f189fc6d0 (patch)
treeb7fd0297ec0cacfad59327abfa89ecb9e652763c
parent2023-06-08 14:02:03 UTC (diff)
parentmedia-gfx/darktable: Fix build with >=exiv2-0.28 (diff)
downloadgentoo-78ebcfdceddb99e5113f083f52aa709f189fc6d0.tar.gz
gentoo-78ebcfdceddb99e5113f083f52aa709f189fc6d0.tar.bz2
gentoo-78ebcfdceddb99e5113f083f52aa709f189fc6d0.zip
Merge updates from master
-rw-r--r--dev-libs/libqtolm/Manifest1
-rw-r--r--dev-libs/libqtolm/files/libqtolm-3.0.1-cmake.patch64
-rw-r--r--dev-libs/libqtolm/libqtolm-3.0.1.ebuild32
-rw-r--r--dev-libs/libqtolm/metadata.xml16
-rw-r--r--dev-libs/olm/olm-3.2.15.ebuild2
-rw-r--r--media-gfx/darktable/darktable-4.2.1.ebuild2
-rw-r--r--media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch215
-rw-r--r--media-gfx/krita/Manifest1
-rw-r--r--media-gfx/krita/krita-5.1.5.ebuild8
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-exiv2-0.28.patch143
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild6
-rw-r--r--net-libs/libquotient/libquotient-0.7.2-r3.ebuild (renamed from net-libs/libquotient/libquotient-0.7.2-r2.ebuild)3
12 files changed, 372 insertions, 121 deletions
diff --git a/dev-libs/libqtolm/Manifest b/dev-libs/libqtolm/Manifest
deleted file mode 100644
index f17165a491cc..000000000000
--- a/dev-libs/libqtolm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libqtolm-v3.0.1.tar.bz2 21322 BLAKE2B 25bc3f2abda8ad753e8a5b748aa3aad17c65dfa9530b9145ce0ae8293df55b786d9712bf01d63d7ffb03a3e861d3a898e0fca02a108dd5079483dcb79cdb2e33 SHA512 cbf1245f90c22c6d2c480a841e96ae964353d69e7feec2d2ecb397b5bc5d8881ac081432ba289193e9fb96af556147a08d8d313b3d65a7e5ce068fa319270c83
diff --git a/dev-libs/libqtolm/files/libqtolm-3.0.1-cmake.patch b/dev-libs/libqtolm/files/libqtolm-3.0.1-cmake.patch
deleted file mode 100644
index fc3d6cb3d581..000000000000
--- a/dev-libs/libqtolm/files/libqtolm-3.0.1-cmake.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From b1ab7541d30764273e0353921b654f779937c910 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Thu, 8 Jun 2023 12:00:12 +0200
-Subject: [PATCH] Use CTest module and standard BUILD_TESTING switch
-
-Enables downstream package testing integration.
-
-See also:
-https://cmake.org/cmake/help/latest/command/enable_testing.html
-https://cmake.org/cmake/help/latest/module/CTest.html#module:CTest
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 5 ++++-
- tests/CMakeLists.txt | 10 ++--------
- 2 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index eb0b244..afd4f82 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.1)
- set(API_VERSION "3.0")
- project(qtolm VERSION "${API_VERSION}.1" LANGUAGES CXX)
-
-+include(CTest)
- include(CheckCXXCompilerFlag)
- if (WIN32)
- if (NOT CMAKE_INSTALL_LIBDIR)
-@@ -97,7 +98,9 @@ target_link_libraries(QtOlm Olm::Olm Qt5::Core)
-
- configure_file(QtOlm.pc.in ${CMAKE_CURRENT_BINARY_DIR}/QtOlm.pc @ONLY NEWLINE_STYLE UNIX)
-
--add_subdirectory(tests)
-+if(BUILD_TESTING)
-+ add_subdirectory(tests)
-+endif()
-
- # Installation
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index 091efcd..5cb2b55 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -6,14 +6,8 @@ set(SOURCE_FILES
- main.cpp
- )
-
--set(INCLUDE_DIRS
-- .
--)
--
--set(ALL_FILES ${HEADERS_FILES} ${SOURCE_FILES})
--
--add_executable(${PROJECT_NAME} ${ALL_FILES})
-+add_executable(${PROJECT_NAME} ${SOURCE_FILES})
-
- target_link_libraries(${PROJECT_NAME} Qt5::Core QtOlm)
-
--target_include_directories(${PROJECT_NAME} PRIVATE ${INCLUDE_DIRS})
-+add_test(main ${PROJECT_NAME})
---
-2.41.0
-
diff --git a/dev-libs/libqtolm/libqtolm-3.0.1.ebuild b/dev-libs/libqtolm/libqtolm-3.0.1.ebuild
deleted file mode 100644
index 442fc4df70de..000000000000
--- a/dev-libs/libqtolm/libqtolm-3.0.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Qt wrapper for libolm"
-HOMEPAGE="https://gitlab.com/b0-matrix/libqtolm"
-SRC_URI="https://gitlab.com/b0-matrix/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
-S="${WORKDIR}/${PN}-v${PV}"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) # TODO: upstream
-
-DEPEND="
- dev-libs/olm
- dev-qt/qtcore:5
-"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libqtolm/metadata.xml b/dev-libs/libqtolm/metadata.xml
deleted file mode 100644
index 63d6ed80405a..000000000000
--- a/dev-libs/libqtolm/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <name>Gavin D. Howard</name>
- <email>gavin@gavinhoward.com</email>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <bugs-to>https://gitlab.com/b0-matrix/libqtolm</bugs-to>
- <remote-id type="gitlab">b0-matrix/libqtolm</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/olm/olm-3.2.15.ebuild b/dev-libs/olm/olm-3.2.15.ebuild
index 51730d54f75a..1146f6c87aa9 100644
--- a/dev-libs/olm/olm-3.2.15.ebuild
+++ b/dev-libs/olm/olm-3.2.15.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="Implementation of the Double Ratchet cryptographic ratchet in C++"
HOMEPAGE="https://gitlab.matrix.org/matrix-org/olm"
SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2"
-LICENSE="GPL-3"
+LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
diff --git a/media-gfx/darktable/darktable-4.2.1.ebuild b/media-gfx/darktable/darktable-4.2.1.ebuild
index 48162abb7759..bcd74d9a9e34 100644
--- a/media-gfx/darktable/darktable-4.2.1.ebuild
+++ b/media-gfx/darktable/darktable-4.2.1.ebuild
@@ -99,6 +99,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
"${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
"${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
+ # patch by ArchLinux
+ "${FILESDIR}"/${P}-exiv2-0.28.patch
)
S="${WORKDIR}/${P/_/~}"
diff --git a/media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch b/media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch
new file mode 100644
index 000000000000..1be8577ae369
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch
@@ -0,0 +1,215 @@
+diff --git a/src/common/exif.cc b/src/common/exif.cc
+index 484ebf2207..91ea8e64d0 100644
+--- a/src/common/exif.cc
++++ b/src/common/exif.cc
+@@ -80,6 +80,11 @@ extern "C" {
+
+ #define DT_XMP_EXIF_VERSION 5
+
++#if EXIV2_TEST_VERSION(0,28,0)
++#define AnyError Error
++#define toLong toInt64
++#endif
++
+ // persistent list of exiv2 tags. set up in dt_init()
+ static GList *exiv2_taglist = NULL;
+
+@@ -2658,39 +2663,39 @@ static GList *read_history_v2(Exiv2::XmpData &xmpData, const char *filename)
+ if(g_str_has_prefix(key_iter, "darktable:operation"))
+ {
+ current_entry->have_operation = TRUE;
+- current_entry->operation = g_strdup(history->value().toString().c_str());
++ current_entry->operation = g_strdup(history->toString().c_str());
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:num"))
+ {
+- current_entry->num = history->value().toLong();
++ current_entry->num = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:enabled"))
+ {
+- current_entry->enabled = history->value().toLong() == 1;
++ current_entry->enabled = history->toLong() == 1;
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:modversion"))
+ {
+ current_entry->have_modversion = TRUE;
+- current_entry->modversion = history->value().toLong();
++ current_entry->modversion = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:params"))
+ {
+ current_entry->have_params = TRUE;
+- current_entry->params = dt_exif_xmp_decode(history->value().toString().c_str(), history->value().size(),
++ current_entry->params = dt_exif_xmp_decode(history->toString().c_str(), history->size(),
+ &current_entry->params_len);
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:multi_name"))
+ {
+- current_entry->multi_name = g_strdup(history->value().toString().c_str());
++ current_entry->multi_name = g_strdup(history->toString().c_str());
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:multi_priority"))
+ {
+- current_entry->multi_priority = history->value().toLong();
++ current_entry->multi_priority = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:iop_order"))
+ {
+ // we ensure reading the iop_order as a high precision float
+- string str = g_strdup(history->value().toString().c_str());
++ string str = g_strdup(history->toString().c_str());
+ static const std::locale& c_locale = std::locale("C");
+ std::istringstream istring(str);
+ istring.imbue(c_locale);
+@@ -2698,12 +2703,12 @@ static GList *read_history_v2(Exiv2::XmpData &xmpData, const char *filename)
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:blendop_version"))
+ {
+- current_entry->blendop_version = history->value().toLong();
++ current_entry->blendop_version = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:blendop_params"))
+ {
+- current_entry->blendop_params = dt_exif_xmp_decode(history->value().toString().c_str(),
+- history->value().size(),
++ current_entry->blendop_params = dt_exif_xmp_decode(history->toString().c_str(),
++ history->size(),
+ &current_entry->blendop_params_len);
+ }
+ }
+@@ -2858,35 +2863,35 @@ static GList *read_masks_v3(Exiv2::XmpData &xmpData, const char *filename, const
+ // go on reading things into current_entry
+ if(g_str_has_prefix(key_iter, "darktable:mask_num"))
+ {
+- current_entry->mask_num = history->value().toLong();
++ current_entry->mask_num = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_id"))
+ {
+- current_entry->mask_id = history->value().toLong();
++ current_entry->mask_id = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_type"))
+ {
+- current_entry->mask_type = history->value().toLong();
++ current_entry->mask_type = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_name"))
+ {
+- current_entry->mask_name = g_strdup(history->value().toString().c_str());
++ current_entry->mask_name = g_strdup(history->toString().c_str());
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_version"))
+ {
+- current_entry->mask_version = history->value().toLong();
++ current_entry->mask_version = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_points"))
+ {
+- current_entry->mask_points = dt_exif_xmp_decode(history->value().toString().c_str(), history->value().size(), &current_entry->mask_points_len);
++ current_entry->mask_points = dt_exif_xmp_decode(history->toString().c_str(), history->size(), &current_entry->mask_points_len);
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_nb"))
+ {
+- current_entry->mask_nb = history->value().toLong();
++ current_entry->mask_nb = history->toLong();
+ }
+ else if(g_str_has_prefix(key_iter, "darktable:mask_src"))
+ {
+- current_entry->mask_src = dt_exif_xmp_decode(history->value().toString().c_str(), history->value().size(), &current_entry->mask_src_len);
++ current_entry->mask_src = dt_exif_xmp_decode(history->toString().c_str(), history->size(), &current_entry->mask_src_len);
+ }
+
+ }
+@@ -4060,7 +4065,11 @@ char *dt_exif_xmp_read_string(const int imgid)
+ std::string xmpPacket;
+
+ Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(input_filename));
++#if EXIV2_TEST_VERSION(0,28,0)
++ xmpPacket.assign(buf.c_str(), buf.size());
++#else
+ xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
++#endif
+ Exiv2::XmpParser::decode(xmpData, xmpPacket);
+ // because XmpSeq or XmpBag are added to the list, we first have
+ // to remove these so that we don't end up with a string of duplicates
+@@ -4076,7 +4085,11 @@ char *dt_exif_xmp_read_string(const int imgid)
+ std::string xmpPacket;
+
+ Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(input_filename));
++#if EXIV2_TEST_VERSION(0,28,0)
++ xmpPacket.assign(buf.c_str(), buf.size());
++#else
+ xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
++#endif
+ Exiv2::XmpParser::decode(sidecarXmpData, xmpPacket);
+
+ for(Exiv2::XmpData::const_iterator it = sidecarXmpData.begin(); it != sidecarXmpData.end(); ++it)
+@@ -4204,7 +4217,11 @@ int dt_exif_xmp_attach_export(const int imgid, const char *filename, void *metad
+ std::string xmpPacket;
+
+ Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(input_filename));
++#if EXIV2_TEST_VERSION(0,28,0)
++ xmpPacket.assign(buf.c_str(), buf.size());
++#else
+ xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
++#endif
+ Exiv2::XmpParser::decode(sidecarXmpData, xmpPacket);
+
+ for(Exiv2::XmpData::const_iterator it = sidecarXmpData.begin(); it != sidecarXmpData.end(); ++it)
+@@ -4371,7 +4388,7 @@ int dt_exif_xmp_attach_export(const int imgid, const char *filename, void *metad
+ catch(Exiv2::AnyError &e)
+ {
+ #if EXIV2_TEST_VERSION(0,27,0)
+- if(e.code() == Exiv2::kerTooLargeJpegSegment)
++ if(e.code() == Exiv2::ErrorCode::kerTooLargeJpegSegment)
+ #else
+ if(e.code() == 37)
+ #endif
+@@ -4437,7 +4454,11 @@ int dt_exif_xmp_write(const int imgid, const char *filename)
+ }
+
+ Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(filename));
++#if EXIV2_TEST_VERSION(0,28,0)
++ xmpPacket.assign(buf.c_str(), buf.size());
++#else
+ xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
++#endif
+ Exiv2::XmpParser::decode(xmpData, xmpPacket);
+ // because XmpSeq or XmpBag are added to the list, we first have
+ // to remove these so that we don't end up with a string of duplicates
+diff --git a/tools/basecurve/exif-wrapper.cpp b/tools/basecurve/exif-wrapper.cpp
+index f4d4d46e12..41bb021012 100644
+--- a/tools/basecurve/exif-wrapper.cpp
++++ b/tools/basecurve/exif-wrapper.cpp
+@@ -19,6 +19,7 @@
+ #include <exiv2/exif.hpp>
+ #include <exiv2/error.hpp>
+ #include <exiv2/image.hpp>
++#include <exiv2/version.hpp>
+
+ #include <cstdio>
+ #include <cassert>
+@@ -36,13 +37,21 @@ exif_get_ascii_datafield(
+
+ try
+ {
++#if EXIV2_TEST_VERSION(0,28,0)
++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
++#else
+ Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++#endif
+ assert(image.get() != 0);
+ image->readMetadata();
+
+ Exiv2::ExifData &exifData = image->exifData();
+
++#if EXIV2_TEST_VERSION(0,28,0)
++ Exiv2::Value::UniquePtr val = exifData[key].getValue();
++#else
+ Exiv2::Value::AutoPtr val = exifData[key].getValue();
++#endif
+
+ if (val->typeId() != Exiv2::asciiString)
+ {
diff --git a/media-gfx/krita/Manifest b/media-gfx/krita/Manifest
index 5bc573c625ab..a0de04766714 100644
--- a/media-gfx/krita/Manifest
+++ b/media-gfx/krita/Manifest
@@ -1 +1,2 @@
+DIST krita-5.1.5-exiv2-0.28.patch.xz 4664 BLAKE2B e364325be3d8e40e293a7d268136be3737ce5d2b9b5607f140b30ba3e687dc8d86545f4463348587711150f1652b521f87efc859a1bf2bc3b5ed704cf3236781 SHA512 130ba9cce7d6c0138f7ef6dab1445816c2e29752aa16643c32a7d9c00d7a156ac88f01afdb782ab03fc1e0822660a070f74c02e7cde4dfbcec30baaf3c3dba7f
DIST krita-5.1.5.tar.xz 184981952 BLAKE2B 3d8d26849d8508dc040fb3ac5ab4d0ce724f670bf7d5782b37702b55afe5063543e6aa564a1c9326c90fb16f7905941e3f1ffd4296efd6f8a1c7cb34c0b41716 SHA512 b745eb9f51bb08df0948d6b97b85aee6a74b496df3e8423fb9107d79551daadb21960b4bb5c438348f662c67d0ec5b2fa6da18cfa5feb418659881cddd24d8f1
diff --git a/media-gfx/krita/krita-5.1.5.ebuild b/media-gfx/krita/krita-5.1.5.ebuild
index c7ffd26bfae8..c8945c944730 100644
--- a/media-gfx/krita/krita-5.1.5.ebuild
+++ b/media-gfx/krita/krita-5.1.5.ebuild
@@ -11,7 +11,8 @@ VIRTUALX_REQUIRED="test"
inherit ecm kde.org python-single-r1
if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${P}-exiv2-0.28.patch.xz"
KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
fi
@@ -85,7 +86,10 @@ BDEPEND="
sys-devel/gettext
"
-PATCHES=( "${FILESDIR}"/${PN}-4.3.1-tests-optional.patch )
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.1-tests-optional.patch"
+ "${WORKDIR}/${P}-exiv2-0.28.patch" # bug 906472
+)
pkg_setup() {
python-single-r1_pkg_setup
diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-exiv2-0.28.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-exiv2-0.28.patch
new file mode 100644
index 000000000000..704b768c005b
--- /dev/null
+++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-exiv2-0.28.patch
@@ -0,0 +1,143 @@
+diff --git a/src/Exif/ExifOperations.cpp b/src/Exif/ExifOperations.cpp
+index dd3d22a6..4cfe6b70 100644
+--- a/src/Exif/ExifOperations.cpp
++++ b/src/Exif/ExifOperations.cpp
+@@ -108,7 +108,11 @@ void copyExifData(const std::string &from, const std::string &to,
+ #endif
+
+ try {
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ Exiv2::Image::UniquePtr sourceImage;
++#else
+ Exiv2::Image::AutoPtr sourceImage;
++#endif
+ Exiv2::ExifData srcExifData;
+
+ if (!from.empty()) {
+@@ -128,7 +132,11 @@ void copyExifData(const std::string &from, const std::string &to,
+ }
+
+ // get destination exif data
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ Exiv2::Image::UniquePtr destinationImage = Exiv2::ImageFactory::open(to);
++#else
+ Exiv2::Image::AutoPtr destinationImage = Exiv2::ImageFactory::open(to);
++#endif
+
+ if (dontOverwrite) {
+ // doesn't throw anything if it is empty
+@@ -212,7 +220,11 @@ void copyExifData(const std::string &from, const std::string &to,
+ destinationImage->setExifData(srcExifData);
+ }
+ destinationImage->writeMetadata();
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ } catch (Exiv2::Error &e) {
++#else
+ } catch (Exiv2::AnyError &e) {
++#endif
+ #ifndef NDEBUG
+ qDebug() << e.what();
+ #endif
+@@ -338,7 +350,11 @@ allowed for ev computation purposes.
+
+ float getExposureTime(const std::string &filename) {
+ try {
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
++#else
+ Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++#endif
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+ if (exifData.empty()) return -1;
+@@ -374,14 +390,22 @@ float getExposureTime(const std::string &filename) {
+ } else {
+ return -1;
+ }
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ } catch (Exiv2::Error &e) {
++#else
+ } catch (Exiv2::AnyError &e) {
++#endif
+ return -1;
+ }
+ }
+
+ float getAverageLuminance(const std::string &filename) {
+ try {
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
++#else
+ Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++#endif
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+
+@@ -403,7 +427,11 @@ float getAverageLuminance(const std::string &filename) {
+ << std::endl;
+
+ return -1.0;
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ } catch (Exiv2::Error &e) {
++#else
+ } catch (Exiv2::AnyError &e) {
++#endif
+ return -1.0;
+ }
+ }
+diff --git a/src/Libpfs/exif/exifdata.cpp b/src/Libpfs/exif/exifdata.cpp
+index 38472eff..79085e43 100644
+--- a/src/Libpfs/exif/exifdata.cpp
++++ b/src/Libpfs/exif/exifdata.cpp
+@@ -52,7 +52,11 @@ ExifData::ExifData(const std::string &filename) { fromFile(filename); }
+ void ExifData::fromFile(const std::string &filename) {
+ reset();
+ try {
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ ::Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
++#else
+ ::Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++#endif
+ image->readMetadata();
+ ::Exiv2::ExifData &exifData = image->exifData();
+
+@@ -121,7 +125,11 @@ void ExifData::fromFile(const std::string &filename) {
+ */
+ if ((it = exifData.findKey(Exiv2::ExifKey("Exif.Image.Orientation"))) !=
+ exifData.end()) {
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ long rotation = it->toUint32();
++#else
+ long rotation = it->toLong();
++#endif
+ switch (rotation) {
+ case 3:
+ m_orientation = 180;
+@@ -134,7 +142,11 @@ void ExifData::fromFile(const std::string &filename) {
+ break;
+ }
+ }
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ } catch (Exiv2::Error &e) {
++#else
+ } catch (Exiv2::AnyError &e) {
++#endif
+ return;
+ }
+ }
+diff --git a/src/TransplantExif/TransplantExifDialog.cpp b/src/TransplantExif/TransplantExifDialog.cpp
+index 8364b595..a7683703 100644
+--- a/src/TransplantExif/TransplantExifDialog.cpp
++++ b/src/TransplantExif/TransplantExifDialog.cpp
+@@ -347,7 +347,11 @@ void TransplantExifDialog::transplant_requested() {
+ QFile::encodeName((*i_dest)).constData(),
+ m_Ui->checkBox_dont_overwrite->isChecked());
+ m_Ui->rightlist->item(index)->setBackground(QBrush("#a0ff87"));
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ } catch (Exiv2::Error &e) {
++#else
+ } catch (Exiv2::AnyError &e) {
++#endif
+ add_log_message("ERROR:" + QString::fromStdString(e.what()));
+ m_Ui->rightlist->item(index)->setBackground(QBrush("#ff743d"));
+ }
diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
index 1b286cc00976..ab363c98a273 100644
--- a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
+++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
@@ -15,9 +15,6 @@ KEYWORDS="amd64 ~x86"
IUSE="cpu_flags_x86_sse2 fits openmp test"
RESTRICT="!test? ( test )"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
RDEPEND="
dev-libs/boost:=
dev-qt/qtconcurrent:5
@@ -46,6 +43,7 @@ DEPEND="${RDEPEND}
dev-cpp/eigen:3
test? ( dev-cpp/gtest )
"
+BDEPEND="dev-qt/linguist-tools:5"
PATCHES=(
"${FILESDIR}"/${P}-openexr3.patch
@@ -54,6 +52,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.6.0-no-git.patch
"${FILESDIR}"/${PN}-2.6.0-docs.patch
"${FILESDIR}"/${PN}-2.5.1-openmp-automagic.patch
+ # patch by ArchLinux
+ "${FILESDIR}"/${P}-exiv2-0.28.patch
)
pkg_pretend() {
diff --git a/net-libs/libquotient/libquotient-0.7.2-r2.ebuild b/net-libs/libquotient/libquotient-0.7.2-r3.ebuild
index 3d1736b98370..eb5357d1bd06 100644
--- a/net-libs/libquotient/libquotient-0.7.2-r2.ebuild
+++ b/net-libs/libquotient/libquotient-0.7.2-r3.ebuild
@@ -17,9 +17,8 @@ IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
- dev-libs/libqtolm
- dev-libs/openssl:=
dev-libs/olm
+ dev-libs/openssl:=
dev-libs/qtkeychain:=[qt5(+)]
dev-qt/qtcore:5
dev-qt/qtgui:5