Add minimal patch for OpenEXR/Imath 3.
This commit is contained in:
parent
0bd0352ff4
commit
7ce3297cf1
|
@ -0,0 +1,244 @@
|
||||||
|
Index: Field3D-1.7.3/export/StdMathLib.h
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/export/StdMathLib.h
|
||||||
|
+++ Field3D-1.7.3/export/StdMathLib.h
|
||||||
|
@@ -38,18 +38,41 @@
|
||||||
|
#ifndef _INCLUDED_Field3D_StdMathLib_H_
|
||||||
|
#define _INCLUDED_Field3D_StdMathLib_H_
|
||||||
|
|
||||||
|
-#include <OpenEXR/ImathBox.h>
|
||||||
|
-#include <OpenEXR/ImathBoxAlgo.h>
|
||||||
|
-#include <OpenEXR/ImathColor.h>
|
||||||
|
-#include <OpenEXR/ImathHalfLimits.h>
|
||||||
|
-#include <OpenEXR/ImathMatrix.h>
|
||||||
|
-#include <OpenEXR/ImathMatrixAlgo.h>
|
||||||
|
-#include <OpenEXR/ImathPlane.h>
|
||||||
|
-#include <OpenEXR/ImathRandom.h>
|
||||||
|
-#include <OpenEXR/ImathRoots.h>
|
||||||
|
-#include <OpenEXR/ImathVec.h>
|
||||||
|
-#include <OpenEXR/half.h>
|
||||||
|
+// The version can reliably be found in this header file from OpenEXR,
|
||||||
|
+// for both 2.x and 3.x:
|
||||||
|
+#include <OpenEXR/OpenEXRConfig.h>
|
||||||
|
+#define COMBINED_OPENEXR_VERSION ((10000*OPENEXR_VERSION_MAJOR) + \
|
||||||
|
+ (100*OPENEXR_VERSION_MINOR) + \
|
||||||
|
+ OPENEXR_VERSION_PATCH)
|
||||||
|
|
||||||
|
+// There's just no easy way to have an `#include` that works in both
|
||||||
|
+// cases, so we use the version to switch which set of include files we
|
||||||
|
+// use.
|
||||||
|
+#if COMBINED_OPENEXR_VERSION >= 20599 /* 2.5.99: pre-3.0 */
|
||||||
|
+# include <Imath/ImathBox.h>
|
||||||
|
+# include <Imath/ImathBoxAlgo.h>
|
||||||
|
+# include <Imath/ImathColor.h>
|
||||||
|
+# include <Imath/ImathMatrix.h>
|
||||||
|
+# include <Imath/ImathMatrixAlgo.h>
|
||||||
|
+# include <Imath/ImathPlane.h>
|
||||||
|
+# include <Imath/ImathRandom.h>
|
||||||
|
+# include <Imath/ImathRoots.h>
|
||||||
|
+# include <Imath/ImathVec.h>
|
||||||
|
+# include <Imath/half.h>
|
||||||
|
+#else
|
||||||
|
+ // OpenEXR 2.x, use the old locations
|
||||||
|
+# include <OpenEXR/ImathBox.h>
|
||||||
|
+# include <OpenEXR/ImathBoxAlgo.h>
|
||||||
|
+# include <OpenEXR/ImathColor.h>
|
||||||
|
+# include <OpenEXR/ImathHalfLimits.h>
|
||||||
|
+# include <OpenEXR/ImathMatrix.h>
|
||||||
|
+# include <OpenEXR/ImathMatrixAlgo.h>
|
||||||
|
+# include <OpenEXR/ImathPlane.h>
|
||||||
|
+# include <OpenEXR/ImathRandom.h>
|
||||||
|
+# include <OpenEXR/ImathRoots.h>
|
||||||
|
+# include <OpenEXR/ImathVec.h>
|
||||||
|
+# include <OpenEXR/half.h>
|
||||||
|
+#endif
|
||||||
|
//----------------------------------------------------------------------------//
|
||||||
|
|
||||||
|
#include "ns.h"
|
||||||
|
Index: Field3D-1.7.3/export/Curve.h
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/export/Curve.h
|
||||||
|
+++ Field3D-1.7.3/export/Curve.h
|
||||||
|
@@ -53,8 +53,25 @@
|
||||||
|
|
||||||
|
#include <boost/lexical_cast.hpp>
|
||||||
|
|
||||||
|
-#include <OpenEXR/ImathFun.h>
|
||||||
|
-#include <OpenEXR/ImathMatrix.h>
|
||||||
|
+// The version can reliably be found in this header file from OpenEXR,
|
||||||
|
+// for both 2.x and 3.x:
|
||||||
|
+#include <OpenEXR/OpenEXRConfig.h>
|
||||||
|
+#define COMBINED_OPENEXR_VERSION ((10000*OPENEXR_VERSION_MAJOR) + \
|
||||||
|
+ (100*OPENEXR_VERSION_MINOR) + \
|
||||||
|
+ OPENEXR_VERSION_PATCH)
|
||||||
|
+
|
||||||
|
+// There's just no easy way to have an `#include` that works in both
|
||||||
|
+// cases, so we use the version to switch which set of include files we
|
||||||
|
+// use.
|
||||||
|
+#if COMBINED_OPENEXR_VERSION >= 20599 /* 2.5.99: pre-3.0 */
|
||||||
|
+# include <Imath/ImathFun.h>
|
||||||
|
+# include <Imath/ImathMatrix.h>
|
||||||
|
+#else
|
||||||
|
+ // OpenEXR 2.x, use the old locations
|
||||||
|
+# include <OpenEXR/ImathFun.h>
|
||||||
|
+# include <OpenEXR/ImathMatrix.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------//
|
||||||
|
|
||||||
|
Index: Field3D-1.7.3/include/OgUtil.h
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/include/OgUtil.h
|
||||||
|
+++ Field3D-1.7.3/include/OgUtil.h
|
||||||
|
@@ -10,7 +10,22 @@
|
||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
-#include <OpenEXR/ImathVec.h>
|
||||||
|
+// The version can reliably be found in this header file from OpenEXR,
|
||||||
|
+// for both 2.x and 3.x:
|
||||||
|
+#include <OpenEXR/OpenEXRConfig.h>
|
||||||
|
+#define COMBINED_OPENEXR_VERSION ((10000*OPENEXR_VERSION_MAJOR) + \
|
||||||
|
+ (100*OPENEXR_VERSION_MINOR) + \
|
||||||
|
+ OPENEXR_VERSION_PATCH)
|
||||||
|
+
|
||||||
|
+// There's just no easy way to have an `#include` that works in both
|
||||||
|
+// cases, so we use the version to switch which set of include files we
|
||||||
|
+// use.
|
||||||
|
+#if COMBINED_OPENEXR_VERSION >= 20599 /* 2.5.99: pre-3.0 */
|
||||||
|
+# include <Imath/ImathVec.h>
|
||||||
|
+#else
|
||||||
|
+ // OpenEXR 2.x, use the old locations
|
||||||
|
+# include <OpenEXR/ImathVec.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "All.h"
|
||||||
|
#include "UtilFoundation.h"
|
||||||
|
Index: Field3D-1.7.3/include/UtilFoundation.h
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/include/UtilFoundation.h
|
||||||
|
+++ Field3D-1.7.3/include/UtilFoundation.h
|
||||||
|
@@ -68,7 +68,22 @@
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
-#include <half.h>
|
||||||
|
+// The version can reliably be found in this header file from OpenEXR,
|
||||||
|
+// for both 2.x and 3.x:
|
||||||
|
+#include <OpenEXR/OpenEXRConfig.h>
|
||||||
|
+#define COMBINED_OPENEXR_VERSION ((10000*OPENEXR_VERSION_MAJOR) + \
|
||||||
|
+ (100*OPENEXR_VERSION_MINOR) + \
|
||||||
|
+ OPENEXR_VERSION_PATCH)
|
||||||
|
+
|
||||||
|
+// There's just no easy way to have an `#include` that works in both
|
||||||
|
+// cases, so we use the version to switch which set of include files we
|
||||||
|
+// use.
|
||||||
|
+#if COMBINED_OPENEXR_VERSION >= 20599 /* 2.5.99: pre-3.0 */
|
||||||
|
+# include <Imath/half.h>
|
||||||
|
+#else
|
||||||
|
+ // OpenEXR 2.x, use the old locations
|
||||||
|
+# include <OpenEXR/half.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include <iomanip>
|
||||||
|
#include <iostream>
|
||||||
|
Index: Field3D-1.7.3/include/OgIAttribute.h
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/include/OgIAttribute.h
|
||||||
|
+++ Field3D-1.7.3/include/OgIAttribute.h
|
||||||
|
@@ -9,7 +9,22 @@
|
||||||
|
|
||||||
|
#include "OgUtil.h"
|
||||||
|
|
||||||
|
-#include <OpenEXR/ImathMatrix.h>
|
||||||
|
+// The version can reliably be found in this header file from OpenEXR,
|
||||||
|
+// for both 2.x and 3.x:
|
||||||
|
+#include <OpenEXR/OpenEXRConfig.h>
|
||||||
|
+#define COMBINED_OPENEXR_VERSION ((10000*OPENEXR_VERSION_MAJOR) + \
|
||||||
|
+ (100*OPENEXR_VERSION_MINOR) + \
|
||||||
|
+ OPENEXR_VERSION_PATCH)
|
||||||
|
+
|
||||||
|
+// There's just no easy way to have an `#include` that works in both
|
||||||
|
+// cases, so we use the version to switch which set of include files we
|
||||||
|
+// use.
|
||||||
|
+#if COMBINED_OPENEXR_VERSION >= 20599 /* 2.5.99: pre-3.0 */
|
||||||
|
+# include <Imath/ImathMatrix.h>
|
||||||
|
+#else
|
||||||
|
+ // OpenEXR 2.x, use the old locations
|
||||||
|
+# include <OpenEXR/ImathMatrix.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------//
|
||||||
|
|
||||||
|
Index: Field3D-1.7.3/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/CMakeLists.txt
|
||||||
|
+++ Field3D-1.7.3/CMakeLists.txt
|
||||||
|
@@ -49,7 +49,13 @@ FIND_PACKAGE (Boost COMPONENTS regex thr
|
||||||
|
FIND_PACKAGE (MPI)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
-FIND_PACKAGE (ILMBase)
|
||||||
|
+# First, try to find just the right config files
|
||||||
|
+find_package(Imath CONFIG)
|
||||||
|
+if (NOT TARGET Imath::Imath)
|
||||||
|
+ # Couldn't find Imath::Imath, maybe it's older and has IlmBase?
|
||||||
|
+ find_package(IlmBase CONFIG)
|
||||||
|
+endif ()
|
||||||
|
+find_package(OpenEXR CONFIG)
|
||||||
|
|
||||||
|
# Allow the developer to select if Dynamic or Static libraries are built
|
||||||
|
OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
|
||||||
|
@@ -146,9 +152,20 @@ IF ( CMAKE_HOST_UNIX )
|
||||||
|
LIST ( APPEND Field3D_Libraries_Shared
|
||||||
|
${MPI_LIBRARIES} )
|
||||||
|
ENDIF ( MPI_FOUND )
|
||||||
|
- LIST ( APPEND Field3D_Libraries_Shared
|
||||||
|
- Iex Half IlmThread Imath
|
||||||
|
- pthread dl z )
|
||||||
|
+ if(TARGET Imath::Imath)
|
||||||
|
+ list(APPEND Field3D_Libraries_Shared
|
||||||
|
+ # For OpenEXR/Imath 3.x:
|
||||||
|
+ $<$<TARGET_EXISTS:OpenEXR::OpenEXR>:OpenEXR::OpenEXR>
|
||||||
|
+ $<$<TARGET_EXISTS:Imath::Imath>:Imath::Imath>
|
||||||
|
+ $<$<TARGET_EXISTS:Imath::Half>:Imath::Half>
|
||||||
|
+ pthread
|
||||||
|
+ dl
|
||||||
|
+ z)
|
||||||
|
+ else()
|
||||||
|
+ LIST ( APPEND Field3D_Libraries_Shared
|
||||||
|
+ Iex Half IlmThread Imath
|
||||||
|
+ pthread dl z )
|
||||||
|
+ endif()
|
||||||
|
SET ( Field3D_DSO_Libraries ${Field3D_Libraries_Shared} )
|
||||||
|
SET ( Field3D_BIN_Libraries Field3D ${Field3D_Libraries_Shared}
|
||||||
|
${Boost_LIBRARIES} )
|
||||||
|
Index: Field3D-1.7.3/test/unit_tests/UnitTest.cpp
|
||||||
|
===================================================================
|
||||||
|
--- Field3D-1.7.3.orig/test/unit_tests/UnitTest.cpp
|
||||||
|
+++ Field3D-1.7.3/test/unit_tests/UnitTest.cpp
|
||||||
|
@@ -44,7 +44,22 @@
|
||||||
|
#include <boost/thread/thread.hpp>
|
||||||
|
#include <boost/thread/mutex.hpp>
|
||||||
|
|
||||||
|
-#include <OpenEXR/ImathFrustum.h>
|
||||||
|
+// The version can reliably be found in this header file from OpenEXR,
|
||||||
|
+// for both 2.x and 3.x:
|
||||||
|
+#include <OpenEXR/OpenEXRConfig.h>
|
||||||
|
+#define COMBINED_OPENEXR_VERSION ((10000*OPENEXR_VERSION_MAJOR) + \
|
||||||
|
+ (100*OPENEXR_VERSION_MINOR) + \
|
||||||
|
+ OPENEXR_VERSION_PATCH)
|
||||||
|
+
|
||||||
|
+// There's just no easy way to have an `#include` that works in both
|
||||||
|
+// cases, so we use the version to switch which set of include files we
|
||||||
|
+// use.
|
||||||
|
+#if COMBINED_OPENEXR_VERSION >= 20599 /* 2.5.99: pre-3.0 */
|
||||||
|
+# include <Imath/ImathFrustum.h>
|
||||||
|
+#else
|
||||||
|
+ // OpenEXR 2.x, use the old locations
|
||||||
|
+# include <OpenEXR/ImathFrustum.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "Field3D/DenseField.h"
|
||||||
|
#include "Field3D/EmptyField.h"
|
12
Field3D.spec
12
Field3D.spec
|
@ -1,6 +1,6 @@
|
||||||
Name: Field3D
|
Name: Field3D
|
||||||
Version: 1.7.3
|
Version: 1.7.3
|
||||||
Release: 11%{?dist}
|
Release: 12%{?dist}
|
||||||
Summary: Library for storing voxel data
|
Summary: Library for storing voxel data
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
|
@ -8,11 +8,18 @@ URL: https://sites.google.com/site/field3d/
|
||||||
|
|
||||||
Source0: https://github.com/imageworks/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: https://github.com/imageworks/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0: Field3D-openexr.patch
|
||||||
|
|
||||||
BuildRequires: cmake gcc-c++ doxygen
|
BuildRequires: cmake gcc-c++ doxygen
|
||||||
BuildRequires: hdf5-devel
|
BuildRequires: hdf5-devel
|
||||||
BuildRequires: boost-devel
|
BuildRequires: boost-devel
|
||||||
|
%if 0%{?fedora} > 34
|
||||||
|
BuildRequires: cmake(OpenEXR)
|
||||||
|
BuildRequires: cmake(Imath)
|
||||||
|
%else
|
||||||
BuildRequires: ilmbase-devel
|
BuildRequires: ilmbase-devel
|
||||||
BuildRequires: openexr-devel
|
BuildRequires: openexr-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
Requires: hdf5 = %{_hdf5_version}
|
Requires: hdf5 = %{_hdf5_version}
|
||||||
|
|
||||||
|
@ -67,6 +74,9 @@ pushd %{_vpath_builddir}
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jul 31 2021 Richard Shaw <hobbes1069@gmail.com> - 1.7.3-12
|
||||||
|
- Add minimal patch for OpenEXR/Imath 3.
|
||||||
|
|
||||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-11
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-11
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue