# # spec file for package openexr # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # 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/ # # perhaps you want to build against corresponding ilmbase build %define asan_build 0 %define debug_build 0 %define sonum 24 %global so_suffix -2_3-24 # tests should run at least during local build # but do expect a HUGE number of memory, so beware %bcond_with tests Name: openexr Version: 2.3.0 Release: 1.2 Summary: Utilities for working with HDR images in OpenEXR format License: BSD-3-Clause Group: Productivity/Graphics/Other Url: http://www.openexr.com/ Source0: https://github.com/openexr/openexr/releases/download/v%{version}/openexr-%{version}.tar.gz Source1: https://github.com/openexr/openexr/releases/download/v%{version}/openexr-%{version}.tar.gz.sig Source2: baselibs.conf Source3: openexr.keyring Patch0: openexr-CVE-2018-18444.patch BuildRequires: automake BuildRequires: fltk-devel BuildRequires: freeglut-devel BuildRequires: gcc-c++ BuildRequires: pkgconfig BuildRequires: pkgconfig(IlmBase) >= 2.3.0 BuildRequires: pkgconfig(zlib) %if %{asan_build} || %{debug_build} BuildRequires: ilmbase-debugsource BuildRequires: libHalf%{sonum}-debuginfo BuildRequires: libIex%{so_suffix}-debuginfo BuildRequires: libIexMath%{so_suffix}-debuginfo BuildRequires: libIlmThread%{so_suffix}-debuginfo BuildRequires: libImath%{so_suffix}-debuginfo %endif 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 libIlmImf%{so_suffix} Summary: Library to Handle EXR Pictures in 16-Bit Floating-Point Format Group: System/Libraries %description -n libIlmImf%{so_suffix} 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 libIlmImf %post -n libIlmImf%{so_suffix} -p /sbin/ldconfig %postun -n libIlmImf%{so_suffix} -p /sbin/ldconfig %files -n libIlmImf%{so_suffix} %license LICENSE %{_libdir}/libIlmImf-*.so.* %package -n libIlmImfUtil%{so_suffix} Summary: Library to simplify development of OpenEXR utilities Group: System/Libraries %description -n libIlmImfUtil%{so_suffix} 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 libIlmImfUtil %post -n libIlmImfUtil%{so_suffix} -p /sbin/ldconfig %postun -n libIlmImfUtil%{so_suffix} -p /sbin/ldconfig %files -n libIlmImfUtil%{so_suffix} %license LICENSE %{_libdir}/libIlmImfUtil-*.so.* %package devel Summary: Development files for the 16-bit FP EXR picture handling library Group: Development/Libraries/C and C++ Requires: libIlmImf%{so_suffix} = %{version} Requires: libIlmImfUtil%{so_suffix} = %{version} Requires: libilmbase-devel >= 2.3.0 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} %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: Documentatino for the 16-bit FP EXR picture handling library Group: Documentation/PDF 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 %setup -q %patch0 -p1 %build export PTHREAD_LIBS="-lpthread" %if %{debug_build} export CXXFLAGS="%{optflags} -O0" %endif %configure \ --docdir=%{_docdir}/%{name} \ --disable-static \ --enable-large-stack \ --enable-imfexamples \ --enable-imffuzztest \ --enable-imfhugetest %if %{asan_build} vmemlimit=$(ulimit -v) if [ $vmemlimit != unlimited ]; then echo "ulimit -v has to be unlimited (currently $vmemlimit) to run ASAN build" exit 1 fi for i in $(find -name Makefile); do sed -i -e 's/\(^CXXFLAGS.*\)/\1 -fsanitize=address/' \ -e 's/\(^LIBS =.*\)/\1 -lasan/' \ $i done %endif make %{?_smp_mflags} %install %make_install find %{buildroot} -type f -name "*.la" -delete -print %check %if %{with tests} make %{?_smp_mflags} check %endif %files %license LICENSE %doc AUTHORS ChangeLog NEWS README* %{_bindir}/exrenvmap %{_bindir}/exrheader %{_bindir}/exrmakepreview %{_bindir}/exrmaketiled %{_bindir}/exrstdattr %{_bindir}/exrmultiview %{_bindir}/exrmultipart %files devel %{_includedir}/OpenEXR %{_libdir}/libIlmImf.so %{_libdir}/libIlmImfUtil.so %{_libdir}/pkgconfig/OpenEXR.pc %{_datadir}/aclocal/openexr.m4 %files doc %{_docdir}/%{name} %exclude %{_docdir}/%{name}/AUTHORS %exclude %{_docdir}/%{name}/ChangeLog %exclude %{_docdir}/%{name}/NEWS %exclude %{_docdir}/%{name}/README* %changelog * Wed Nov 7 2018 Jan Engelhardt - Codify new ilmbase requirements. * Wed Nov 7 2018 Petr Gajdos - security update * CVE-2018-18444 [bsc#1113455] + openexr-CVE-2018-18444.patch * Tue Nov 6 2018 Petr Gajdos - asan_build: build ASAN included - debug_build: build more suitable for debugging * Mon Nov 5 2018 Jan Engelhardt - Remove useless --with-pic. - Adjust RPM groups and repair sentence structure. * Mon Nov 5 2018 Petr Gajdos - updated to 2.3.0 * ThreadPool overhead improvements, enable custom thread pool to be registered via ThreadPoolProvider class * Fixes to enable custom namespaces for Iex, Imf * Improve read performance for deep/zipped data, and SIMD-accelerated uncompress support * Added rawPixelDataToBuffer() function for access to compressed scanlines * Iex::BaseExc no longer derived from std::string. * Imath throw() specifiers removed * Initial Support for Python 3 * removed patch * Mon Jan 15 2018 avindra@opensuse.org - Update to 2.2.1 * Fix reported OpenEXR security vulnerabilities: CVE-2017-9110, CVE-2017-9111, CVE-2017-9112, CVE-2017-9113, CVE-2017-9114, CVE-2017-9115 and CVE-2017-9116 - pgajdos@suse.com: but really seem to fix only: CVE-2017-9110 [bsc#1040107], CVE-2017-9114 [bsc#1040114], CVE-2017-9116 [bsc#1040116], CVE-2017-12596 [bsc#1052522]; for the rest of issues see [bsc#1040109], [bsc#1040112], [bsc#1040113], [bsc#1040114], [bsc#1040115], and [bsc#1061305] * Wed Jul 12 2017 tchvatal@suse.com - Cleanup a bit with spec-cleaner * Thu Jan 29 2015 mlin@suse.com - Update to 2.2.0 * DreamWorks Lossy Compression A new high quality, high performance lossy compression codec contributed by DreamWorks Animation. This codec allows control over variable lossiness to balance visual quality and file size. This contribution also includes performance improvements that speed up the PIZ codec. * IlmImfUtil A new library intended to aid in development of image file manipulation utilities that support the many types of OpenEXR images. * This release also includes improvements to cross-platform build support using CMake. - Bumped the soname, and now we have libIlmImf and libIlmImfUtil - Removed openexr-2.1.0-headers.patch - Updated openexr.keyring from the savannah project page. * Tue Aug 26 2014 fcrozat@suse.com - Add obsoletes to baselibs.conf. * Thu Apr 24 2014 dmueller@suse.com - remove dependency on gpg-offline (blocks rebuilds and tarball integrity is checked by source-validator anyway) * Thu Nov 28 2013 toganm@opensuse.org - add openexr-2.1.0-headers.patch to install ImfDeepImageStateAttribute.h header too * Wed Nov 27 2013 mvyskocil@suse.com - update to 2.1.0 This release includes a refactoring of the optimised read paths for RGBA data, optimisations for some of the python bindings to Imath, improvements to the cmake build environment as well as additional documentation describing deep data in more detail. - make tests conditional, enable fuzz test and huge test * Mon Jul 15 2013 mvyskocil@suse.com - update to 2.0.1 This is a maintenance push that predominantly addresses edge case failures in the optimisation code paths by temporarily disabling the feature. For more details, please refer to the /usr/share/doc/packages/openexr/ChangeLog - add gpg-offline based verification * Sat Apr 20 2013 coolo@suse.com - fix library deps * Fri Apr 12 2013 mvyskocil@suse.com - update to 2.0.0 * Deep Data support - Pixels can now store a variable-length list of samples. The main rationale behind deep images is to enable the storage of multiple values at different depths for each pixel. OpenEXR 2.0 supports both hard-surface and volumetric representations for Deep Compositing workflows. * Multi-part Image Files - With OpenEXR 2.0, files can now contain a number of separate, but related, data parts in one file. Access to any part is independent of the others, pixels from parts that are not required in the current operation don't need to be accessed, resulting in quicker read times when accessing only a subset of channels. The multipart interface also incorporates support for Stereo images where views are stored in separate parts. This makes stereo OpenEXR 2.0 files significantly faster to work with than the previous multiview support in OpenEXR. * Optimized pixel reading - decoding RGB(A) scanline images has been accelerated on SSE processors providing a significant speedup when reading both old and new format images, including multipart and multiview files. * Namespacing - The library introduces versioned namespaces to avoid conflicts between packages compiled with different versions of the library. - obsoleted openexr-suse-docdir.patch (moved in install phase) openexr-disable-tests.patch * Thu Sep 27 2012 cfarrell@suse.com - license update: BSD-3-Clause No GPL licensed files found in the package * Thu Sep 27 2012 idonmez@suse.com - Update baselibs.conf * Thu Aug 2 2012 mvyskocil@suse.cz - Update to 1.7.1 * Updated the .so verison to 7. * obsoletes openexr-includes.patch - require new ilmbase-devel for build - rename libopenexr-devel to openexr devel to be compatible with renamed ilmbase package * Tue Apr 24 2012 mvyskocil@suse.cz - disable the test at all, as running them in OBS seems not to be reliable * Sun Jan 29 2012 jengelh@medozas.de - Remove redundant tags/sections per specfile guideline suggestions * Mon Oct 31 2011 mvyskocil@suse.cz - openexr-disable-tests.patch - disable broken tests prevents a build in Factory * Wed Jul 27 2011 dmueller@suse.de - remove explicit libdrm buildrequires * Tue Mar 8 2011 jengelh@medozas.de - Use %%_smp_mflags for parallel build * Mon Aug 9 2010 mvyskocil@suse.cz - Update to 1.7.0 - bugfix release, multiviewer support * obsoletes CVE-2009-1720 support * built with --enable-larget-stack and test - Renammed to be more comfortable with Shared Library policy * openexr - main (source package) contains tools in bindir, it provides and obsoletes the old OpenEXR symbol * libIlmImf6 - contains the openexr library * libopenexr-devel - contains the headers, Provides and Obsoletes the OpenEXR-devel symbol * openexr-doc - documentation * Fri Dec 18 2009 jengelh@medozas.de - add baselibs.conf as a source * Tue Aug 4 2009 mvyskocil@suse.cz - fixed bnc#527539: VUL-0: OpenEXR: [ MDVSA-2009:190 ] OpenEXR used patches from Mandriva * CVE-2009-1720 * CVE-2009-1721 * Mon Mar 2 2009 crrodriguez@suse.de - save 6.7MB by removing static libraries and "la" files * Wed Dec 10 2008 olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) * Thu Oct 30 2008 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Wed Oct 31 2007 mvyskocil@suse.cz - update to 1.6.1 - fix buid, add docu subpackage with documentation and examples * Sat May 19 2007 stbinner@suse.de - fix linking of new IlmThread lib versus libpthread * Mon May 14 2007 ltinkl@suse.cz - update to 1.4.6 - fix build, fix packaging examples and doc - added missing Requires * Tue Jan 16 2007 meissner@suse.de - fixed RPM_OPT_FLAGS * Mon Jun 12 2006 dmueller@suse.de - fix shared lib dependencies - fix installed headers * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Mon Nov 7 2005 sndirsch@suse.de - make use of mesa-devel-packages macro in neededforbuild * Wed Nov 2 2005 dmueller@suse.de - don't build as root * Wed May 25 2005 adrian@suse.de - update to version 1.2.2 * Mon May 23 2005 schwab@suse.de - Fix missing declaration. * Thu Jan 13 2005 ro@suse.de - try to fix docu installation * Mon Jun 28 2004 adrian@suse.de - initial package of version 1.2.1