summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2023-06-08 15:44:08 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2023-06-08 16:05:03 +0200
commit45054d191a69f21406abb12f69f42e2836dc2efa (patch)
tree07d06834b9414ca28575b1b7618ed606eeff7f3e /media-gfx
parentmedia-gfx/krita: Fix build with >=exiv2-0.28 (diff)
downloadgentoo-45054d191a69f21406abb12f69f42e2836dc2efa.tar.gz
gentoo-45054d191a69f21406abb12f69f42e2836dc2efa.tar.bz2
gentoo-45054d191a69f21406abb12f69f42e2836dc2efa.zip
media-gfx/luminance-hdr: Fix build with >=exiv2-0.28
Closes: https://bugs.gentoo.org/906490 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-gfx')
-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
2 files changed, 146 insertions, 3 deletions
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() {