diff --git a/.gitignore b/.gitignore index fa5c39f..2720fc2 100644 --- a/.gitignore +++ b/.gitignore @@ -18,9 +18,3 @@ /alembic-1.8.2.tar.gz /alembic-1.8.3.tar.gz /alembic-1.8.4.tar.gz -/alembic-1.8.5.tar.gz -/alembic-1.8.6.tar.gz -/alembic-1.8.7.tar.gz -/alembic-1.8.8.tar.gz -/alembic-1.8.9.tar.gz -/alembic-1.8.10.tar.gz diff --git a/alembic-1.7.11-0002-Find-IlmBase-by-setting-a-proper-ILMBASE_ROOT-value.patch b/alembic-1.7.11-0002-Find-IlmBase-by-setting-a-proper-ILMBASE_ROOT-value.patch new file mode 100644 index 0000000..c561e26 --- /dev/null +++ b/alembic-1.7.11-0002-Find-IlmBase-by-setting-a-proper-ILMBASE_ROOT-value.patch @@ -0,0 +1,72 @@ +From 60bbcde225f3c28a36d8643c451509d9deb09222 Mon Sep 17 00:00:00 2001 +From: Bernd Waibel +Date: Sat, 15 Jun 2019 13:34:09 +0200 +Subject: [PATCH 2/5] Find IlmBase by setting a proper ILMBASE_ROOT value and + by using pkg-config to determine the installed ilmbase version, instead of + using the cmake STRINGS command. + +Signed-off-by: Bernd Waibel +--- + cmake/Modules/FindIlmBase.cmake | 18 +++++++++++++++++- + cmake/Modules/FindPyIlmBase.cmake | 2 +- + 2 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake +index 679a02f..0fe2b1a 100644 +--- a/cmake/Modules/FindIlmBase.cmake ++++ b/cmake/Modules/FindIlmBase.cmake +@@ -52,7 +52,7 @@ IF(NOT DEFINED ILMBASE_ROOT) + SET( ALEMBIC_ILMBASE_ROOT NOTFOUND ) + ELSE() + # TODO: set to default install path when shipping out +- SET( ALEMBIC_ILMBASE_ROOT "/usr/local/ilmbase-1.0.1/" ) ++ SET( ALEMBIC_ILMBASE_ROOT "/usr" ) + ENDIF() + ELSE() + IF ( ${WINDOWS} ) +@@ -87,6 +87,21 @@ SET(_ilmbase_SEARCH_DIRS + /usr/freeware + ) + ++# use pkg-config to determine the correct version ++include(FindPkgConfig) ++IF(PKG_CONFIG_FOUND) ++ PKG_CHECK_MODULES(PC_ILMBASE QUIET IlmBase) ++ IF(PC_ILMBASE_FOUND) ++ SET(ILMBASE_VERSION ${PC_ILMBASE_VERSION}) ++ SET(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${PC_ILMBASE_INCLUDE_DIRS}) ++ STRING(REGEX MATCH "-lHalf" ALEMBIC_ILMBASE_HALF_LIB ${PC_ILMBASE_LDFLAGS}) ++ STRING(REGEX MATCH "-lIex" ALEMBIC_ILMBASE_IEX_LIB ${PC_ILMBASE_LDFLAGS}) ++ STRING(REGEX MATCH "-lIexMath" ALEMBIC_ILMBASE_IEXMATH_LIB ${PC_ILMBASE_LDFLAGS}) ++ STRING(REGEX MATCH "-lIlmThread" ALEMBIC_ILMBASE_ILMTHREAD_LIB ${PC_ILMBASE_LDFLAGS}) ++ String(REGEX MATCH "-lImath" ALEMBIC_ILMBASE_IMATH_LIB ${PC_ILMBASE_LDFLAGS}) ++ ENDIF() ++ELSE(PKG_CONFIG_FOUND) ++ + FIND_PATH(ILMBASE_INCLUDE_DIR + NAMES + IlmBaseConfig.h +@@ -179,6 +194,7 @@ IF ( ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY} STREQUAL "ALEMBIC_ILMBASE_INCLUDE_DIRE + MESSAGE( FATAL_ERROR "ilmbase header files not found, required: ALEMBIC_ILMBASE_ROOT: ${ALEMBIC_ILMBASE_ROOT}" ) + ENDIF() + ++ENDIF(PKG_CONFIG_FOUND) + + MESSAGE( STATUS "ILMBASE INCLUDE PATH: ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}" ) + MESSAGE( STATUS "HALF LIB: ${ALEMBIC_ILMBASE_HALF_LIB}" ) +diff --git a/cmake/Modules/FindPyIlmBase.cmake b/cmake/Modules/FindPyIlmBase.cmake +index d55f8d3..b5f3cb5 100644 +--- a/cmake/Modules/FindPyIlmBase.cmake ++++ b/cmake/Modules/FindPyIlmBase.cmake +@@ -44,7 +44,7 @@ ELSE() + SET(ALEMBIC_PYILMBASE_ROOT NOTFOUND) + ELSE() + # TODO: set to default install path when shipping out +- SET(ALEMBIC_PYILMBASE_ROOT "/usr/local/pyilmbase/") ++ SET(ALEMBIC_PYILMBASE_ROOT "/usr") + ENDIF() + ELSE() + IF (${WINDOWS}) +-- +2.22.0 + diff --git a/alembic.spec b/alembic.spec index 4f9b621..d2a21bb 100644 --- a/alembic.spec +++ b/alembic.spec @@ -5,18 +5,30 @@ # Python Module Name: alembic -Version: 1.8.10 +Version: 1.8.4 Release: %autorelease Summary: Open framework for storing and sharing scene data -License: BSD-3-Clause AND BSL-1.0 +License: BSD URL: http://alembic.io/ + Source0: https://github.com/%{name}/%{name}/archive/%{version}%{?prerelease}.tar.gz#/%{name}-%{version}%{?prerelease}.tar.gz +# Use patch from Gentoo fixing iblmbase root path +# https://gitweb.gentoo.org/repo/gentoo.git/tree/media-gfx/alembic/files/alembic-1.7.11-0002-Find-IlmBase-by-setting-a-proper-ILMBASE_ROOT-value.patch?id=953b3b21db55df987dd8006dcdec19e945294d98 +Patch0: alembic-1.7.11-0002-Find-IlmBase-by-setting-a-proper-ILMBASE_ROOT-value.patch BuildRequires: boost-devel BuildRequires: cmake >= 3.13 -BuildRequires: gcc-c++ +BuildRequires: gcc-c++ BuildRequires: hdf5-devel + +# Per https://github.com/alembic/alembic/blob/master/README.txt +# alembic actually needs ilmbase, not OpenEXR. +# As of OpenEXR 3.x Imath is now a standalone library. +%if 0%{?fedora} > 34 BuildRequires: cmake(Imath) +%else +BuildRequires: pkgconfig(IlmBase) +%endif BuildRequires: pkgconfig(zlib) %description @@ -38,9 +50,8 @@ rendered image data. %package devel Summary: Development files for %{name} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: cmake%{?_isa} -Requires: imath-devel%{?_isa} %description devel The %{name}-devel package contains libraries and header files for developing diff --git a/sources b/sources index c42304e..b549d5a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alembic-1.8.10.tar.gz) = 0be292e9d75560891d38129eb2672c55475b29b33f265dd51396dfa7b530c92ac6dfdb05a4432ad1b6919e2c151068560eb04efb8d9b0c2a14f77ab489d3542c +SHA512 (alembic-1.8.4.tar.gz) = 2473f4b9afe3fddbd2d0477bdc85d93697e413410253a7f7f0f030fba919dfb63dabd2d2d13829f59f3f901643ab842d230a9f08fb667e2c16cef0e751a8a687