From be2314cc3e5bfa046fe695a873cf5cceae998986 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Mon, 14 Dec 2020 16:51:55 -0600 Subject: [PATCH] Initial import. --- .gitignore | 1 + openexr-gcc11.patch | 14 +++++ openexr.spec | 146 ++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 162 insertions(+) create mode 100644 .gitignore create mode 100644 openexr-gcc11.patch create mode 100644 openexr.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a46c9b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/openexr-2.5.3.tar.gz diff --git a/openexr-gcc11.patch b/openexr-gcc11.patch new file mode 100644 index 0000000..4f6e54b --- /dev/null +++ b/openexr-gcc11.patch @@ -0,0 +1,14 @@ +Index: openexr-2.5.3/OpenEXR/IlmImf/dwaLookups.cpp +=================================================================== +--- openexr-2.5.3.orig/OpenEXR/IlmImf/dwaLookups.cpp ++++ openexr-2.5.3/OpenEXR/IlmImf/dwaLookups.cpp +@@ -300,7 +300,8 @@ generateNoop() + unsigned short src = (unsigned short)i; + Xdr::write (tmp, src); + +- printf("0x%04x, ", dst); ++ // DST is a short, so the right length modifier is 'h' ++ printf("0x%04hx, ", dst); + } + printf("\n};\n"); + } diff --git a/openexr.spec b/openexr.spec new file mode 100644 index 0000000..b0ab69c --- /dev/null +++ b/openexr.spec @@ -0,0 +1,146 @@ +%{?!python3_pkgversion:%global python3_pkgversion 3} +%global sover 25 + +Name: openexr +Version: 2.5.3 +Release: 1%{?dist} +Summary: Provides the specification and reference implementation of the EXR file format + +License: BSD +URL: https://www.openexr.com/ +Source0: https://github.com/AcademySoftwareFoundation/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz + +Patch0: openexr-gcc11.patch + +BuildRequires: cmake gcc gcc-c++ +BuildRequires: boost-devel +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: zlib-devel + +%description +OpenEXR is an open-source high-dynamic-range floating-point image file format +for high-quality image processing and storage. This document presents a brief +overview of OpenEXR and explains concepts that are specific to this format. + +This package containes the binaries for OpenEXR. + + +%package libs +Summary: OpenEXR Libraries +Provides: OpenEXR-libs%{?isa} = %{version}-%{release} +Obsoletes: OpenEXR-libs%{?isa} < 2.5.3 + +%description libs +OpenEXR is an open-source high-dynamic-range floating-point image file format +for high-quality image processing and storage. This document presents a brief +overview of OpenEXR and explains concepts that are specific to this format. + +OpenEXR Features: + +* High dynamic range and color precision. Support for 16-bit floating-point, +* 32-bit floating-point, and 32-bit integer pixels. +* Multiple image compression algorithms, both lossless and lossy. Some of + the included codecs can achieve 2:1 lossless compression ratios on images + with film grain. The lossy codecs have been tuned for visual quality and + decoding performance. +* Extensibility. New compression codecs and image types can easily be added + by extending the C++ classes included in the OpenEXR software distribution. + New image attributes (strings, vectors, integers, etc.) can be added to + OpenEXR image headers without affecting backward compatibility with existing + OpenEXR applications. +* Support for stereoscopic image workflows and a generalization + to multi-views. +* Flexible support for deep data: pixels can store a variable-length list + of samples and, thus, it is possible to store multiple values at different + depths for each pixel. Hard surfaces and volumetric data representations are + accommodated. +* Multipart: ability to encode separate, but related, images in one file. + This allows for access to individual parts without the need to read other + parts in the file. +* Versioning: OpenEXR source allows for user configurable C++ + namespaces to provide protection when using multiple versions of the library + in the same process space. + +The IlmBase Library: + +Also a part of OpenEXR, the IlmBase library is a basic, light-weight, and +efficient representation of 2D and 3D vectors and matrices and other simple but +useful mathematical objects, functions, and data types common in computer +graphics applications, including the “half” 16-bit floating-point type. + + +%package -n python%{python3_pkgversion}-openexr +Summary: Python 3 binding for OpenEXR +%{?python_provide:%python_provide python3-openexr} + +%description -n python%{python3_pkgversion}-openexr +%{summary}. + + +%package devel +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +Provides: OpenEXR-devel = %{version}-%{release} +Provides: OpenEXR-devel%{?_isa} = %{version}-%{release} +Obsoletes: OpenEXR-devel < 2.5.3 + +Provides: ilmbase-devel = %{version}-%{release} +Provides: ilmbase-devel%{?_isa} = %{version}-%{release} +Obsoletes: ilmbase-devel < 2.5.3 + +Summary: Development files for %{name} + +%description devel +%{summary}. + + +%prep +%autosetup -p1 + + +%build +%cmake +%cmake_build + + +%install +%cmake_install + + +%check +# Test 4 currently fails on aarch64 +# https://github.com/AcademySoftwareFoundation/openexr/issues/876 +%ifnarch aarch64 s390x +%ctest +%endif + + +%files +%{_bindir}/* + +%files libs +%doc CHANGES.md CONTRIBUTING.md GOVERNANCE.md SECURITY.md CODE_OF_CONDUCT.md CONTRIBUTORS.md README.md +%license LICENSE.md +%{_libdir}/*.so.%{sover}* +%exclude %{_libdir}/libPy* + +%files -n python%{python3_pkgversion}-openexr +# Is it OK to dump the libraries in site-packages? +%{_libdir}/libPy*.so.%{sover}* +%{python3_sitearch}/*.so + +%files devel +%{_docdir}/OpenEXR/ +%{_includedir}/OpenEXR/ +%{_libdir}/*.so +%{_libdir}/cmake/IlmBase/ +%{_libdir}/pkgconfig/IlmBase.pc +%{_libdir}/cmake/PyIlmBase/ +%{_libdir}/pkgconfig/PyIlmBase.pc +%{_libdir}/cmake/OpenEXR/ +%{_libdir}/pkgconfig/OpenEXR.pc + + +%changelog +* Wed Dec 9 2020 Richard Shaw - 2.5.3-1 +- Repackaged due to massive changes in build system and inclusion of IlmBase. diff --git a/sources b/sources new file mode 100644 index 0000000..cf9431d --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (openexr-2.5.3.tar.gz) = 6da03193d4fea1e97e35008f59304ab408c521ead8495ba411cde5c172cf953be97999971f57398b813d14f1af1d722539a6b74d5ee54b9e74769ea8258d36ba