openexr/openexr.spec
Petr Gajdos 7f001d86bf - version update to 3.1.11
## Version 3.1.11 (August 13, 2023)
  Patch release that fixes a build failure with `-march=x86-64-v3`
  * Initialize `regs[]` to 0 in `check_for_x86_simd`
  * Fix CPUID detection with `-march=x86-64-v3`
  ## Version 3.1.10 (August 2, 2023)
  Patch release that addresses miscellaneous build issues, test
  failures, and performance regressions, as well as:
  * OSS-fuzz [59457](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=59457)
   Heap-buffer-overflow in `LossyDctDecoder_execute`
  * Readdress #1456: disallow NaNs in `testOptimizedInterleavePatterns`
  * Revert pre-computed values
  * Fix handling for corrupt number of DC components
  * Add `OPENEXR_MISSING_ARM_VLD1` workaround to `internal_dwa_simd.h`
  * Fix Huffman performance regression on Linux/clang
  * Fix range check in dwa compressor
  * Fix build with i386 and musl libc
  * Fix the code contains unhandled character
  * Fix cpu detection of sse2 on non-64 x86
  * Fix the code contains unhandled character
  * Fix gcc-11 warnings: signed/unsigned integer comparison, unused variables
  * Fix macOS and Windows build failures when threading is disabled
  * Fix build error on win_arm64
- deleted patches
  - 1488.patch (upstreamed)

OBS-URL: https://build.opensuse.org/package/show/graphics/openexr?expand=0&rev=103
2023-08-24 13:30:50 +00:00

248 lines
8.2 KiB
RPMSpec

#
# spec file for package openexr
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define prjname openexr
# perhaps you want to build against corresponding Imath build
%define debug_build 0
%define sonum 30
%global so_suffix -3_1
Name: openexr
Version: 3.1.11
Release: 0
Summary: Utilities for working with HDR images in OpenEXR format
License: BSD-3-Clause
Group: Development/Libraries/C and C++
URL: https://www.openexr.com/
Source0: https://github.com/openexr/openexr/archive/v%{version}.tar.gz
Source2: baselibs.conf
BuildRequires: cmake >= 3.12
BuildRequires: freeglut-devel
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: pkgconfig(Imath)
BuildRequires: pkgconfig(zlib)
Obsoletes: OpenEXR <= 1.6.1
Provides: OpenEXR = %{version}
%description
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications. This package
contains a set of utilities to work with this format.
* exrheader, a utility for dumping header information
* exrstdattr, a utility for modifying OpenEXR standard attributes
* exrmaketiled, for generating tiled and rip/mipmapped images
* exrenvmap, for creating OpenEXR environment maps
* exrmakepreview, for creating preview images for OpenEXR files
* exr2aces, converter to ACES format
* exrmultiview, combine two or more images into one multi-view
%package -n libIex%{so_suffix}-%{sonum}
Summary: Exception handling library for OpenEXR
License: BSD-3-Clause
Group: System/Libraries
%description -n libIex%{so_suffix}-%{sonum}
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains shared library libIex
%package -n libIlmThread%{so_suffix}-%{sonum}
Summary: Thread abstraction library for OpenEXR
License: BSD-3-Clause
Group: System/Libraries
%description -n libIlmThread%{so_suffix}-%{sonum}
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains shared library libIlmThread
%package -n libOpenEXR%{so_suffix}-%{sonum}
Summary: Library to Handle EXR Pictures in 16-Bit Floating-Point Format
License: BSD-3-Clause
Group: System/Libraries
%description -n libOpenEXR%{so_suffix}-%{sonum}
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains shared library libOpenEXR
%package -n libOpenEXRCore%{so_suffix}-%{sonum}
Summary: Library to Handle EXR Pictures in 16-Bit Floating-Point Format
License: BSD-3-Clause
Group: System/Libraries
%description -n libOpenEXRCore%{so_suffix}-%{sonum}
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains shared library libOpenEXRCore
%package -n libOpenEXRUtil%{so_suffix}-%{sonum}
Summary: Library to simplify development of OpenEXR utilities
License: BSD-3-Clause
Group: System/Libraries
%description -n libOpenEXRUtil%{so_suffix}-%{sonum}
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains shared library libOpenEXRUtil
%package devel
Summary: Development files for the 16-bit FP EXR picture handling library
License: BSD-3-Clause AND GPL-2.0-or-later
Group: Development/Libraries/C and C++
Requires: Imath-devel
Requires: libOpenEXR%{so_suffix}-%{sonum} = %{version}
Requires: libOpenEXRCore%{so_suffix}-%{sonum} = %{version}
Requires: libOpenEXRUtil%{so_suffix}-%{sonum} = %{version}
Requires: pkgconfig
Requires: pkgconfig(zlib)
Obsoletes: OpenEXR-devel <= 1.6.1
Provides: OpenEXR-devel = %{version}
Obsoletes: libopenexr-devel <= 1.7.0
Provides: libopenexr-devel = %{version}
Obsoletes: ilmbase-devel < 3.0
Provides: ilmbase-devel = %{version}
%description devel
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains header files.
%package doc
Summary: Documentation for the 16-bit FP EXR picture handling library
License: BSD-3-Clause
Group: Documentation/Other
Obsoletes: OpenEXR-doc <= 1.6.1
Provides: OpenEXR-doc = %{version}
%description doc
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
This package contains documentation.
%prep
%autosetup -p1
%build
export PTHREAD_LIBS="-lpthread"
%if %{debug_build}
export CXXFLAGS="%{optflags} -O0"
%endif
%cmake \
-DCMAKE_INSTALL_DOCDIR="%{_docdir}/%{name}"
%cmake_build
%install
%cmake_install
%check
# test failure on LE: https://github.com/AcademySoftwareFoundation/openexr/issues/1460
%ifnarch i586 ppc ppc64 s390 s390x
export LD_LIBRARY_PATH="%{buildroot}/%{_libdir}"
# tests can take longer than the default timeout of 25 minutes
%if 0%{?suse_version} < 1550
# HACK - older versions of the ctest macro do not allow passing additional parameters
%global __ctest %{__ctest} --timeout 3600
%ctest
%else
%ifarch ppc64le
# bsc#1205885
EXCLUDE_REGEX='testMultiTiledPartThreading'
%endif
%ifarch aarch64
# https://github.com/AcademySoftwareFoundation/openexr/issues/1460
EXCLUDE_REGEX='DWA[AB]Compression'
%endif
%ctest --exclude-regex "$EXCLUDE_REGEX" --timeout 3600
%endif
%endif
%post -n libIex%{so_suffix}-%{sonum} -p /sbin/ldconfig
%postun -n libIex%{so_suffix}-%{sonum} -p /sbin/ldconfig
%post -n libIlmThread%{so_suffix}-%{sonum} -p /sbin/ldconfig
%postun -n libIlmThread%{so_suffix}-%{sonum} -p /sbin/ldconfig
%post -n libOpenEXR%{so_suffix}-%{sonum} -p /sbin/ldconfig
%postun -n libOpenEXR%{so_suffix}-%{sonum} -p /sbin/ldconfig
%post -n libOpenEXRCore%{so_suffix}-%{sonum} -p /sbin/ldconfig
%postun -n libOpenEXRCore%{so_suffix}-%{sonum} -p /sbin/ldconfig
%post -n libOpenEXRUtil%{so_suffix}-%{sonum} -p /sbin/ldconfig
%postun -n libOpenEXRUtil%{so_suffix}-%{sonum} -p /sbin/ldconfig
%files
%license LICENSE.md
%doc CHANGES.md CODE_OF_CONDUCT.md CODEOWNERS CONTRIBUTING.md CONTRIBUTORS.md README.md SECURITY.md
%{_bindir}/exrenvmap
%{_bindir}/exrheader
%{_bindir}/exrinfo
%{_bindir}/exrmakepreview
%{_bindir}/exrmaketiled
%{_bindir}/exrstdattr
%{_bindir}/exrmultiview
%{_bindir}/exrmultipart
%{_bindir}/exr2aces
%files devel
%{_includedir}/OpenEXR
%{_libdir}/libIex.so
%{_libdir}/libIex%{so_suffix}.so
%{_libdir}/libIlmThread.so
%{_libdir}/libIlmThread%{so_suffix}.so
%{_libdir}/libOpenEXR.so
%{_libdir}/libOpenEXR%{so_suffix}.so
%{_libdir}/libOpenEXRCore.so
%{_libdir}/libOpenEXRCore%{so_suffix}.so
%{_libdir}/libOpenEXRUtil.so
%{_libdir}/libOpenEXRUtil%{so_suffix}.so
%{_libdir}/pkgconfig/OpenEXR.pc
%dir %{_libdir}/cmake/OpenEXR
%{_libdir}/cmake/OpenEXR/*.cmake
%files doc
%{_docdir}/%{name}
%exclude %{_docdir}/%{name}/{CHANGES.md,CODE_OF_CONDUCT.md,CODEOWNERS,CONTRIBUTING.md,CONTRIBUTORS.md,README.md,SECURITY.md}
%files -n libIex%{so_suffix}-%{sonum}
%license LICENSE.md
%{_libdir}/libIex-*.so.*
%files -n libIlmThread%{so_suffix}-%{sonum}
%license LICENSE.md
%{_libdir}/libIlmThread-*.so.*
%files -n libOpenEXR%{so_suffix}-%{sonum}
%license LICENSE.md
%{_libdir}/libOpenEXR-*.so.*
%files -n libOpenEXRCore%{so_suffix}-%{sonum}
%license LICENSE.md
%{_libdir}/libOpenEXRCore-*.so.*
%files -n libOpenEXRUtil%{so_suffix}-%{sonum}
%license LICENSE.md
%{_libdir}/libOpenEXRUtil-*.so.*
%changelog