# # spec file for package ilmbase # # Copyright (c) 2019 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/ # %define asan_build 0 %define debug_build 0 %define sonum 24 %global so_suffix -2_4 Name: ilmbase Version: 2.4.0 Release: 1.1 Summary: Base library for ILM software (OpenEXR) License: BSD-3-Clause Group: Development/Libraries/C and C++ Url: http://www.openexr.com Source0: https://github.com/openexr/openexr/archive/v%{version}.tar.gz Source1: baselibs.conf # PATCH-FIX-UPSTREAM Patch0: Fix-the-symlinks-creation.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig # Renamed to libilmbase6 to met the Shared Library Policy Obsoletes: IlmBase <= 1.0.1 Provides: IlmBase = %{version} %description Base library for Industrial Light & Magic software (OpenEXR). * Half is a class that encapsulates our 16-bit floating-point format. * IlmThread is a thread abstraction library for use with OpenEXR and other software packages. It currently supports pthreads and Windows threads. * Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices, quaternions and other useful 2D and 3D math functions. * Iex is an exception-handling library. %package devel Summary: Base library for ILM software (OpenEXR) # Renamed to libilmbase6 to met the Shared Library Policy License: BSD-3-Clause AND GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: libHalf%{so_suffix}-%{sonum} Requires: libIex%{so_suffix}-%{sonum} Requires: libIexMath%{so_suffix}-%{sonum} Requires: libIlmThread%{so_suffix}-%{sonum} Requires: libImath%{so_suffix}-%{sonum} Requires: libstdc++-devel %description devel Devel files for ilmbase Base library for Industrial Light & Magic software (OpenEXR). %package -n libHalf%{so_suffix}-%{sonum} Summary: 16-bit floating-point encapsulation class for OpenEXR License: BSD-3-Clause Group: System/Libraries %description -n libHalf%{so_suffix}-%{sonum} %{summary}. %package -n libIexMath%{so_suffix}-%{sonum} Summary: Exception-based vector/matrix library for OpenEXR License: BSD-3-Clause Group: System/Libraries %description -n libIexMath%{so_suffix}-%{sonum} %{summary}. %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} %{summary}. %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} %{summary}. %package -n libImath%{so_suffix}-%{sonum} Summary: Vector/matrix library for OpenEXR License: BSD-3-Clause Group: System/Libraries %description -n libImath%{so_suffix}-%{sonum} %{summary}. %prep %setup -q -n openexr-%{version} %patch0 -p1 %build pushd IlmBase %cmake -DCMAKE_INSTALL_INCLUDE_DIR:path=%{_includedir} %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} popd %install pushd IlmBase %cmake_install popd %check # https://github.com/openexr/openexr/issues/570 %ifnarch i586 pushd IlmBase export LD_LIBRARY_PATH="$PWD/build/Imath:$PWD/build/Iex:$PWD/build/Half:$LD_LIBRARY_PATH" %ctest popd %endif %post -n libHalf%{so_suffix}-%{sonum} -p /sbin/ldconfig %postun -n libHalf%{so_suffix}-%{sonum} -p /sbin/ldconfig %post -n libIexMath%{so_suffix}-%{sonum} -p /sbin/ldconfig %postun -n libIexMath%{so_suffix}-%{sonum} -p /sbin/ldconfig %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 libImath%{so_suffix}-%{sonum} -p /sbin/ldconfig %postun -n libImath%{so_suffix}-%{sonum} -p /sbin/ldconfig %files devel %doc CHANGES.md CODE_OF_CONDUCT.md CODEOWNERS CONTRIBUTING.md CONTRIBUTORS.md README.md SECURITY.md %license LICENSE.md %{_includedir}/OpenEXR %{_libdir}/libHalf.so %{_libdir}/libHalf%{so_suffix}.so %{_libdir}/libIex.so %{_libdir}/libIex%{so_suffix}.so %{_libdir}/libImath.so %{_libdir}/libImath%{so_suffix}.so %{_libdir}/libIlmThread.so %{_libdir}/libIlmThread%{so_suffix}.so %{_libdir}/libIexMath.so %{_libdir}/libIexMath%{so_suffix}.so %{_libdir}/pkgconfig/IlmBase.pc %dir %{_libdir}/cmake/IlmBase/ %{_libdir}/cmake/IlmBase/*.cmake %files -n libHalf%{so_suffix}-%{sonum} %{_libdir}/libHalf%{so_suffix}.so.* %files -n libIexMath%{so_suffix}-%{sonum} %{_libdir}/libIexMath%{so_suffix}.so.* %files -n libIex%{so_suffix}-%{sonum} %{_libdir}/libIex%{so_suffix}.so.* %files -n libIlmThread%{so_suffix}-%{sonum} %{_libdir}/libIlmThread%{so_suffix}.so.* %files -n libImath%{so_suffix}-%{sonum} %{_libdir}/libImath%{so_suffix}.so.* %changelog * Thu Nov 14 2019 Christophe Giboudeaux - Add Fix-the-symlinks-creation.patch to fix the symlinks creation. * Tue Oct 8 2019 Stefan BrĂ¼ns - Set correct includedir in IlmBase.pc pkgconfig file * Thu Sep 26 2019 pgajdos@suse.com - version update to 2.4.0 * Completely re-written CMake configuration files * Improved support for building on Windows, via CMake * Improved support for building on macOS, via CMake * All code compiles without warnings on gcc, clang, msvc * Cleanup of license and copyright notices * floating-point exception handling is disabled by default * New Slice::Make method to reliably compute base pointer for a slice. * Miscellaneous bug fixes * CVE-2018-18444 Issue #351 Out of Memory * CVE-2018-18443 Issue #350 heap-buffer-overflow - upstream does not provide gpg signature anymore https://github.com/openexr/openexr/issues/565 - modified sources %% baselibs.conf - deleted patches - testBox.patch (upstreamed) - testBoxAlgo.patch (upstreamed) - deleted sources - ilmbase-2.3.0.tar.gz.sig (not needed) - ilmbase.keyring (not needed) * Tue Nov 6 2018 Petr Gajdos - asan_build: build ASAN included - debug_build: build more suitable for debugging * 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 - ilmbase-halfExport.h-license.patch (upstreamed) * Mon Feb 12 2018 pgajdos@suse.com - fix license of halfExport.h [bsc#774408] + ilmbase-halfExport.h-license.patch * Wed Jan 17 2018 adam.majer@suse.de - Update keyring and set keyring URL * Mon Jan 15 2018 avindra@opensuse.org - Update to version 2.2.1 * Bumped version to track OpenEXR - bump sonum and macroify it - cleanup with spec-cleaner * Sat Aug 12 2017 jengelh@inai.de - Fix RPM groups. Diversify summaries. - Drop useless --with-pic, this is only for static libs. * Tue Aug 8 2017 ro@suse.de - simplify check section in specfile and remove hack for gcc45 - add patches from debian to allow testsuite to pass - testBox.patch allow fuzzy comparison of floats, doubles - testBoxAlgo.patch allow fuzzy match of b12 == b2 * Fri Jan 23 2015 meissner@suse.com - updated openexr.keyring from the savannah project page. * Wed Jan 21 2015 p.drouand@gmail.com - Update to version 2.2.0 * Bumped version to track OpenEXR - Bump so_suffix to 2_2-12 and libHalf11 to libHalf12 according to upstream changes - removed arm-build.diff: upstream? - removed fix-i586.patch: upstream? - Bump so version in baselibs.conf * Thu Aug 21 2014 fcrozat@suse.com - Add obsoletes to baselibs.conf. * Wed Nov 27 2013 mvyskocil@suse.com - update to 2.1.0 * Bumped version to track OpenEXR (Piotr Stanczyk) - small cleanup of spec file * Mon Jul 15 2013 mvyskocil@suse.com - update to 2.0.1 * Bumped version to track OpenEXR (Piotr Stanczyk) - add gpg-offline based verification - use downloads from nongnu.org, instead of github * Fri Apr 12 2013 mvyskocil@suse.com - update to 2.0.0 * Bumped version to track OpenEXR (Piotr Stanczyk) * Numerous minor fixes, missing includes etc * Minor fixes for newer gcc versions and OS X. (misc) * Preparation for OpenEXR v2 release { remove message for final release } (Piotr Stanczyk) * Updated the so verison to 10 (Piotr Stanczyk) - obsoletes * 0001-Correcting-for-incorrect-license-section.patch * ilmbase-1.0.3-ucontext-i386.patch * Thu Mar 28 2013 mmeister@suse.com - Added url as source. Please see http://en.opensuse.org/SourceUrls * Thu Sep 27 2012 idonmez@suse.com - Correct baselibs.conf * Fri Aug 24 2012 Rene.vanPaassen@gmail.com - fix build on i586 platforms, by fixing error in declaration of the restorControlRegs function * Wed Aug 8 2012 dmueller@suse.com - fix build on non-x86 platforms with ucontext * Tue Aug 7 2012 mvyskocil@suse.cz - fix bnc#774408 - Proprietary licenses in ilmbase 1.0.3 * 0001-Correcting-for-incorrect-license-section.patch * Thu Aug 2 2012 mvyskocil@suse.cz - update to 1.0.3 * Updated the so version to 7. * Added support for enabling/disabling large stack optimisations, used in halfFunction.h. * Added ImathNoise.(h/cpp) files. Initializes Perlin noise to match the Renderman implmenetation. * Added SVD, eigenvalue solver, and procrustes fit calculations to ImathMatrixAlgo. * Added Imath::FrustumTest for frustum visibility testing. * Fixed a stack corruption in the matrix minorOf functions. - provide a sane packaging conforming to shared library policy * source package is ilmbase, ilmbase-devel is the devel package * then libFoo$VERSION packages provides so files * Tue Feb 28 2012 reddwarf@opensuse.org - Link libIlmThread against lpthread, it was removed in SR#100972 * Sat Feb 18 2012 crrodriguez@opensuse.org - revert visibility patch, it was not supposed to sneak-in yet.. [bnc#747565] * Sat Jan 21 2012 jengelh@medozas.de - Remove redundant sections (cf. specfile guidelines) * Fri Jan 20 2012 crrodriguez@opensuse.org - Reuse windows code to provide symbol visibility support. test suite passes, so unless it is incomplete or buggy this should be just fine, if something breaks, open a bug report. * Mon Jul 26 2010 mvyskocil@suse.cz - update to 1.0.2 (bug fix release) - rename to libilmbase6 according Shared Library Policy * Sat Apr 24 2010 coolo@novell.com - buildrequire pkg-config to fix provides * Fri Dec 18 2009 jengelh@medozas.de - add baselibs.conf as a source * Fri Jun 13 2008 crrodriguez@suse.de - remove unusable static libraries * 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 - inital release (version 1.0.1) * need for the update of OpenEXR to 1.6.1