From 4cbcc855382a06088e2f016f62cafdbcb7e40665 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 20 Mar 2022 00:40:44 +0000 Subject: gentoo resync : 20.03.2022 --- media-libs/Field3D/Field3D-1.7.2-r3.ebuild | 42 ++++ media-libs/Field3D/Manifest | 2 + .../files/Field3D-1.7.2-openexr-3-imath.patch | 233 +++++++++++++++++++++ 3 files changed, 277 insertions(+) create mode 100644 media-libs/Field3D/Field3D-1.7.2-r3.ebuild create mode 100644 media-libs/Field3D/files/Field3D-1.7.2-openexr-3-imath.patch (limited to 'media-libs/Field3D') diff --git a/media-libs/Field3D/Field3D-1.7.2-r3.ebuild b/media-libs/Field3D/Field3D-1.7.2-r3.ebuild new file mode 100644 index 000000000000..834067f5713b --- /dev/null +++ b/media-libs/Field3D/Field3D-1.7.2-r3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake flag-o-matic + +DESCRIPTION="A library for storing voxel data" +HOMEPAGE="http://opensource.imageworks.com/?p=field3d" +SRC_URI="https://github.com/imageworks/Field3D/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 x86" +IUSE="mpi" + +RDEPEND=" + >=dev-libs/boost-1.62:= + >=dev-libs/imath-3.1.4-r2:= + >=media-libs/openexr-3:0= + sci-libs/hdf5:= + mpi? ( virtual/mpi ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.2-openexr-3-imath.patch +) + +src_configure() { + # Needed for now ("fix" compatibility with >=sci-libs/hdf5-1.12) + # bug #808731 + append-cppflags -DH5_USE_110_API + + local mycmakeargs=( + -DINSTALL_DOCS=OFF # Docs are not finished yet. + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + $(cmake_use_find_package mpi MPI) + ) + + cmake_src_configure +} diff --git a/media-libs/Field3D/Manifest b/media-libs/Field3D/Manifest index fc61bb7c43f0..b11606a6493f 100644 --- a/media-libs/Field3D/Manifest +++ b/media-libs/Field3D/Manifest @@ -1,4 +1,6 @@ AUX Field3D-1.7.2-Use-PkgConfig-for-IlmBase.patch 5371 BLAKE2B c8a1360db04de4cfa18b739af024934469b9cf2a2314d3fb248ad2df371be902369989f120dc7c1adb86ea77cf01a7a5e0944b9a4a57e9a9e329a06c5d24c97d SHA512 167da6b57983e317266ccbb9670cc5ec03f041343e44af3cbedc14366e349edd1d5f2a0ac163fa919827b2dfdd9811525b81c446a0e32016b3bd51f84f202bcb +AUX Field3D-1.7.2-openexr-3-imath.patch 7968 BLAKE2B 8700dca8ee30b09b4e0d5e247377da9ec2032e91ef45af0c0f2a46a85ce1f00e402dce5317b7a371cbd56b0228183521ec27223b6a86ccabcd6b770b351d2439 SHA512 edbd7d0af80f74e5d9ac9e516cc1c2ed7c7f96a46eb4c390d2f2cdfbacb0eac0e5030f936012ba5fc50555f415599e4fefc359c4b16b5dff0d6bfb4384dc723e DIST Field3D-1.7.2.tar.gz 502481 BLAKE2B 8d5fbac915b52b36e66250f8fcd2beb5fff9d2446696ad1829e3edf05c9810b5d54928c6ab4f5aa99c1338da24cea446134434a59aa1d053f3da3500c2800f59 SHA512 e4ea51310105980f759dce48830db8ae3592ce32a02b246214d8aed9df7a7f5c500314f2daf92196b7a76d648f2909b18112df4c5c3c8949c0676d710dfbf1f2 +EBUILD Field3D-1.7.2-r3.ebuild 922 BLAKE2B f078ed2b059987b4bf0867c3d50acc83795aba8f34aa341f96d02986291d59bdf4aad3eddbebd89e83c4f86affa96d000662f5b3d0708db884da4a4e97f3780b SHA512 94c5752415aa41a83464a2ad38391ca2db3a813dfaf16f79b97cc735173f30e8b274136fed5b82f395ff93c1526b537e8f684271d83faa1b46be3e3bf9cdc019 EBUILD Field3D-1.7.2.ebuild 925 BLAKE2B e1b07186c1718294d5c0a35c93e81dae7ff2e9f210feeb51213b70a3bb500d04f6668709444d67f9b098867e847cbdfb91512b3d3f74c21cf3c8530874fa77a8 SHA512 5b31697dc8fba020e4e5346181c037f37efdedec85fc4ad24c809f32700e947702330bd87178296dff296495c1e86db62b214597fb8b845c9939e39b961cab1a MISC metadata.xml 739 BLAKE2B 7fe96438b4f2f78238a6cfb1818391840039d002daa574edaec6a0976141222647da4e8c5e91a5a15acc582dbaef7005e356925443f09f0046fc5ec5283518db SHA512 04fca4a4ac5c768c389455c3d2ce382f68d1905506058879ccb5cdb333627f26fdfbf2e6d977c381d9d4f025a7481f484c94f5a48fa06ac91a7927d93abd467f diff --git a/media-libs/Field3D/files/Field3D-1.7.2-openexr-3-imath.patch b/media-libs/Field3D/files/Field3D-1.7.2-openexr-3-imath.patch new file mode 100644 index 000000000000..a4155403d46c --- /dev/null +++ b/media-libs/Field3D/files/Field3D-1.7.2-openexr-3-imath.patch @@ -0,0 +1,233 @@ +https://src.fedoraproject.org/rpms/Field3D/raw/rawhide/f/Field3D-openexr.patch +https://github.com/imageworks/Field3D/issues/101 + +--- a/export/StdMathLib.h ++++ b/export/StdMathLib.h +@@ -38,18 +38,41 @@ + #ifndef _INCLUDED_Field3D_StdMathLib_H_ + #define _INCLUDED_Field3D_StdMathLib_H_ + +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++// The version can reliably be found in this header file from OpenEXR, ++// for both 2.x and 3.x: ++#include ++#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 ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++#else ++ // OpenEXR 2.x, use the old locations ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++#endif + //----------------------------------------------------------------------------// + + #include "ns.h" +--- a/export/Curve.h ++++ b/export/Curve.h +@@ -53,8 +53,25 @@ + + #include + +-#include +-#include ++// The version can reliably be found in this header file from OpenEXR, ++// for both 2.x and 3.x: ++#include ++#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 ++# include ++#else ++ // OpenEXR 2.x, use the old locations ++# include ++# include ++#endif ++ + + //----------------------------------------------------------------------------// + +--- a/include/OgUtil.h ++++ b/include/OgUtil.h +@@ -10,7 +10,22 @@ + #include + #include + +-#include ++// The version can reliably be found in this header file from OpenEXR, ++// for both 2.x and 3.x: ++#include ++#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 ++#else ++ // OpenEXR 2.x, use the old locations ++# include ++#endif + + #include "All.h" + #include "UtilFoundation.h" +--- a/include/UtilFoundation.h ++++ b/include/UtilFoundation.h +@@ -68,7 +68,22 @@ + + #include + +-#include ++// The version can reliably be found in this header file from OpenEXR, ++// for both 2.x and 3.x: ++#include ++#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 ++#else ++ // OpenEXR 2.x, use the old locations ++# include ++#endif + + #include + #include +--- a/include/OgIAttribute.h ++++ b/include/OgIAttribute.h +@@ -9,7 +9,22 @@ + + #include "OgUtil.h" + +-#include ++// The version can reliably be found in this header file from OpenEXR, ++// for both 2.x and 3.x: ++#include ++#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 ++#else ++ // OpenEXR 2.x, use the old locations ++# include ++#endif + + //----------------------------------------------------------------------------// + +--- a/CMakeLists.txt ++++ b/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: ++ $<$:OpenEXR::OpenEXR> ++ $<$:Imath::Imath> ++ $<$: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} ) +--- a/test/unit_tests/UnitTest.cpp ++++ b/test/unit_tests/UnitTest.cpp +@@ -44,7 +44,22 @@ + #include + #include + +-#include ++// The version can reliably be found in this header file from OpenEXR, ++// for both 2.x and 3.x: ++#include ++#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 ++#else ++ // OpenEXR 2.x, use the old locations ++# include ++#endif + + #include "Field3D/DenseField.h" + #include "Field3D/EmptyField.h" -- cgit v1.2.3