diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2023-06-08 15:44:08 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2023-06-08 16:05:03 +0200 |
commit | 45054d191a69f21406abb12f69f42e2836dc2efa (patch) | |
tree | 07d06834b9414ca28575b1b7618ed606eeff7f3e /media-gfx/luminance-hdr | |
parent | media-gfx/krita: Fix build with >=exiv2-0.28 (diff) | |
download | gentoo-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/luminance-hdr')
-rw-r--r-- | media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-exiv2-0.28.patch | 143 | ||||
-rw-r--r-- | media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild | 6 |
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() { |