[packages/luminance-hdr] - updates for boost up to 1.87, OpenEXR 3.4, exiv2 0.28
qboosh
qboosh at pld-linux.org
Sun Jul 5 22:16:05 CEST 2026
commit 7a7bb29899ff404de1fd360a2241235c5b5843a6
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Jul 5 22:15:59 2026 +0200
- updates for boost up to 1.87, OpenEXR 3.4, exiv2 0.28
luminance-hdr-OpenEXR.patch | 25 +++++++++
luminance-hdr-boost.patch | 34 ++++++++++++
luminance-hdr-exiv2.patch | 122 ++++++++++++++++++++++++++++++++++++++++++++
luminance-hdr.spec | 19 +++++--
4 files changed, 195 insertions(+), 5 deletions(-)
---
diff --git a/luminance-hdr.spec b/luminance-hdr.spec
index 4140bac..0f8b832 100644
--- a/luminance-hdr.spec
+++ b/luminance-hdr.spec
@@ -22,9 +22,13 @@ Source0: https://downloads.sourceforge.net/qtpfsgui/%{name}-%{version}.tar.bz2
Patch0: buildtype.patch
Patch1: sse_header.patch
Patch2: std-header.patch
+Patch3: %{name}-boost.patch
+Patch4: %{name}-OpenEXR.patch
+Patch5: %{name}-exiv2.patch
URL: http://qtpfsgui.sourceforge.net/
BuildRequires: CCfits-devel
-BuildRequires: OpenEXR-devel >= 2.0.1
+BuildRequires: Imath-devel
+BuildRequires: OpenEXR-devel >= 3.0
BuildRequires: Qt5Concurrent-devel >= 5
BuildRequires: Qt5Core-devel >= 5
BuildRequires: Qt5Declarative-devel >= 5
@@ -41,7 +45,7 @@ BuildRequires: boost-devel
BuildRequires: cfitsio-devel
BuildRequires: cmake >= 3.3
BuildRequires: eigen3
-BuildRequires: exiv2-devel >= 0.21
+BuildRequires: exiv2-devel >= 0.28
BuildRequires: fftw3-single-devel >= 3
BuildRequires: gcc-c++ >= 6:4.3
BuildRequires: gsl-devel
@@ -59,10 +63,10 @@ BuildRequires: rpmbuild(macros) >= 1.605
BuildRequires: sed >= 4.0
%{!?with_qtwebengine:BuildConflicts: Qt5WebEngine-devel}
Requires(post,postun): gtk-update-icon-cache
-Requires: OpenEXR >= 2.0.1
+Requires: OpenEXR >= 3.0
Requires: Qt5Gui-platform-xcb
Requires: Qt5Sql-sqldriver-sqlite3
-Requires: exiv2-libs >= 0.21
+Requires: exiv2-libs >= 0.28
Requires: hicolor-icon-theme
Obsoletes: qtpfsgui < 2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -78,6 +82,9 @@ Luminance HDR - narzędzie do składania obrazów HDR.
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
+%patch -P3 -p1
+%patch -P4 -p1
+%patch -P5 -p1
%build
install -d build
@@ -85,8 +92,10 @@ cd build
%if %{with sse2}
CXXFLAGS="%{rpmcxxflags} -msse2 -DLUMINANCE_USE_SSE=1"
%endif
+CPPFLAGS="%{rpmcppflags} -I/usr/include/Imath"
%cmake .. \
- -DBUILD_SHARED_LIBS:BOOL=OFF
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DOPENEXR_VERSION=3.0
%{__make}
diff --git a/luminance-hdr-OpenEXR.patch b/luminance-hdr-OpenEXR.patch
new file mode 100644
index 0000000..5fbaf0c
--- /dev/null
+++ b/luminance-hdr-OpenEXR.patch
@@ -0,0 +1,25 @@
+--- luminance-hdr-2.6.1.1/build_files/Modules/FindOpenEXR.cmake.orig 2026-07-05 20:36:45.624507480 +0200
++++ luminance-hdr-2.6.1.1/build_files/Modules/FindOpenEXR.cmake 2026-07-05 20:36:49.371153849 +0200
+@@ -45,7 +45,7 @@ if (${OPENEXR_VERSION} VERSION_LESS "2.1
+ IlmThread
+ Imath
+ )
+-else ()
++elseif (${OPENEXR_VERSION} VERSION_LESS "3.0")
+ string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
+ SET(_openexr_FIND_COMPONENTS
+ Half
+@@ -54,6 +54,13 @@ else ()
+ IlmThread-${_openexr_libs_ver}
+ Imath-${_openexr_libs_ver}
+ )
++else ()
++ SET(_openexr_FIND_COMPONENTS
++ OpenEXR OpenEXRUtil OpenEXRCore
++ Iex
++ IlmThread
++ Imath
++ )
+ endif ()
+
+ SET(_openexr_SEARCH_DIRS
diff --git a/luminance-hdr-boost.patch b/luminance-hdr-boost.patch
new file mode 100644
index 0000000..90e26da
--- /dev/null
+++ b/luminance-hdr-boost.patch
@@ -0,0 +1,34 @@
+--- luminance-hdr-2.6.1.1/CMakeLists.txt.orig 2026-07-05 17:56:08.613382319 +0200
++++ luminance-hdr-2.6.1.1/CMakeLists.txt 2026-07-05 17:56:20.886649162 +0200
+@@ -177,7 +177,6 @@ IF(WIN32)
+ SET(Boost_USE_STATIC_LIBS ON)
+ ENDIF()
+ FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options thread chrono system date_time)
+-INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ FIND_PACKAGE(Exiv2 REQUIRED)
+ INCLUDE_DIRECTORIES(${EXIV2_INCLUDE_DIR} "${EXIV2_INCLUDE_DIR}/exiv2")
+--- luminance-hdr-2.6.1.1/build_files/Modules/CompilerSettings.cmake.orig 2026-07-05 20:44:22.202033987 +0200
++++ luminance-hdr-2.6.1.1/build_files/Modules/CompilerSettings.cmake 2026-07-05 20:44:59.498498602 +0200
+@@ -13,7 +13,10 @@ ENDIF()
+ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+ add_definitions(-DBRANCH_PREDICTION)
+ execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+- if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
++ if (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0)
++ set(CMAKE_CXX_STANDARD 14)
++ add_definitions(-DLHDR_CXX11_ENABLED)
++ elseif (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
+ message(STATUS "C++11 activated for GCC ${GCC_VERSION}")
+ set(CMAKE_CXX_STANDARD 11)
+ add_definitions(-DLHDR_CXX11_ENABLED)
+--- luminance-hdr-2.6.1.1/src/Libpfs/manip/resize.hxx.orig 2026-07-05 20:48:38.143980764 +0200
++++ luminance-hdr-2.6.1.1/src/Libpfs/manip/resize.hxx 2026-07-05 20:51:03.896524488 +0200
+@@ -23,6 +23,7 @@
+ #define PFS_RESIZE_HXX
+
+ #include <boost/math/constants/constants.hpp>
++#include <boost/numeric/conversion/bounds.hpp>
+ #include "copy.h"
+ #include "resize.h"
+ #include "../../sleef.c"
diff --git a/luminance-hdr-exiv2.patch b/luminance-hdr-exiv2.patch
new file mode 100644
index 0000000..529ac58
--- /dev/null
+++ b/luminance-hdr-exiv2.patch
@@ -0,0 +1,122 @@
+--- luminance-hdr-2.6.1.1/src/Libpfs/exif/exifdata.cpp.orig 2026-07-05 20:52:22.272766554 +0200
++++ luminance-hdr-2.6.1.1/src/Libpfs/exif/exifdata.cpp 2026-07-05 20:55:09.725192720 +0200
+@@ -52,7 +52,7 @@ ExifData::ExifData(const std::string &fi
+ void ExifData::fromFile(const std::string &filename) {
+ reset();
+ try {
+- ::Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++ ::Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
+ image->readMetadata();
+ ::Exiv2::ExifData &exifData = image->exifData();
+
+@@ -121,7 +121,7 @@ void ExifData::fromFile(const std::strin
+ */
+ if ((it = exifData.findKey(Exiv2::ExifKey("Exif.Image.Orientation"))) !=
+ exifData.end()) {
+- long rotation = it->toLong();
++ int64_t rotation = it->toInt64();
+ switch (rotation) {
+ case 3:
+ m_orientation = 180;
+@@ -134,7 +134,7 @@ void ExifData::fromFile(const std::strin
+ break;
+ }
+ }
+- } catch (Exiv2::AnyError &e) {
++ } catch (Exiv2::Error &e) {
+ return;
+ }
+ }
+--- luminance-hdr-2.6.1.1/src/Exif/ExifOperations.cpp.orig 2026-07-05 21:02:32.382794638 +0200
++++ luminance-hdr-2.6.1.1/src/Exif/ExifOperations.cpp 2026-07-05 21:02:56.912661748 +0200
+@@ -108,7 +108,7 @@ void copyExifData(const std::string &fro
+ #endif
+
+ try {
+- Exiv2::Image::AutoPtr sourceImage;
++ Exiv2::Image::UniquePtr sourceImage;
+ Exiv2::ExifData srcExifData;
+
+ if (!from.empty()) {
+@@ -128,7 +128,7 @@ void copyExifData(const std::string &fro
+ }
+
+ // get destination exif data
+- Exiv2::Image::AutoPtr destinationImage = Exiv2::ImageFactory::open(to);
++ Exiv2::Image::UniquePtr destinationImage = Exiv2::ImageFactory::open(to);
+
+ if (dontOverwrite) {
+ // doesn't throw anything if it is empty
+@@ -212,7 +212,7 @@ void copyExifData(const std::string &fro
+ destinationImage->setExifData(srcExifData);
+ }
+ destinationImage->writeMetadata();
+- } catch (Exiv2::AnyError &e) {
++ } catch (Exiv2::Error &e) {
+ #ifndef NDEBUG
+ qDebug() << e.what();
+ #endif
+@@ -250,7 +250,7 @@ float obtain_avg_lum(const std::string&
+ {
+ try
+ {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+ if (exifData.empty())
+@@ -329,7 +329,7 @@ allowed for ev computation purposes.
+ return -1;
+ }
+ }
+- catch (Exiv2::AnyError& e)
++ catch (Exiv2::Error& e)
+ {
+ return -1;
+ }
+@@ -338,7 +338,7 @@ allowed for ev computation purposes.
+
+ float getExposureTime(const std::string &filename) {
+ try {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+ if (exifData.empty()) return -1;
+@@ -374,14 +374,14 @@ float getExposureTime(const std::string
+ } else {
+ return -1;
+ }
+- } catch (Exiv2::AnyError &e) {
++ } catch (Exiv2::Error &e) {
+ return -1;
+ }
+ }
+
+ float getAverageLuminance(const std::string &filename) {
+ try {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+
+@@ -403,7 +403,7 @@ float getAverageLuminance(const std::str
+ << std::endl;
+
+ return -1.0;
+- } catch (Exiv2::AnyError &e) {
++ } catch (Exiv2::Error &e) {
+ return -1.0;
+ }
+ }
+--- luminance-hdr-2.6.1.1/src/TransplantExif/TransplantExifDialog.cpp.orig 2026-07-05 21:31:43.599974146 +0200
++++ luminance-hdr-2.6.1.1/src/TransplantExif/TransplantExifDialog.cpp 2026-07-05 21:31:49.313276528 +0200
+@@ -347,7 +347,7 @@ void TransplantExifDialog::transplant_re
+ QFile::encodeName((*i_dest)).constData(),
+ m_Ui->checkBox_dont_overwrite->isChecked());
+ m_Ui->rightlist->item(index)->setBackground(QBrush("#a0ff87"));
+- } catch (Exiv2::AnyError &e) {
++ } catch (Exiv2::Error &e) {
+ add_log_message("ERROR:" + QString::fromStdString(e.what()));
+ m_Ui->rightlist->item(index)->setBackground(QBrush("#ff743d"));
+ }
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/luminance-hdr.git/commitdiff/7a7bb29899ff404de1fd360a2241235c5b5843a6
More information about the pld-cvs-commit
mailing list