openexr/openexr.spec

200 lines
6.2 KiB
RPMSpec
Raw Normal View History

#
# 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: 0
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
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
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
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
%package -n libIlmImf%{so_suffix}
Summary: Library to Handle EXR Pictures in 16-Bit Floating-Point Format
Group: System/Libraries
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
%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.
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
This package contains shared library libIlmImf
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
%post -n libIlmImf%{so_suffix} -p /sbin/ldconfig
%postun -n libIlmImf%{so_suffix} -p /sbin/ldconfig
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
%files -n libIlmImf%{so_suffix}
%license LICENSE
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
%{_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
Accepting request 172655 from devel:libraries:c_c++ - 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 OBS-URL: https://build.opensuse.org/request/show/172655 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openexr?expand=0&rev=16
2013-04-20 22:07:36 +02:00
%{_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