Blob Blame History Raw
%if 0%{?rhel}
%global cmake %cmake28
%endif

Name:           OpenImageIO
Version:        1.2.3
Release:        3%{?dist}
Summary:        Library for reading and writing images

Group:          Development/Libraries
License:        BSD
URL:            https://sites.google.com/site/openimageio/home

Source0:        https://download.github.com/oiio-Release-%{version}.tar.gz
# Images for test suite
#Source1:        oiio-images.tar.gz
Source101:      FindTBB.cmake

Patch0:         oiio-arm.patch
Patch1:         oiio-ppc.patch
Patch2:         oiio-s390.patch
Patch3:         oiio-cmake.patch
Patch4:         oiio-spin_mutex.patch

%if 0%{?rhel}
BuildRequires:  cmake28
%else
BuildRequires:  cmake
%endif
BuildRequires:  txt2man
BuildRequires:  qt4-devel
BuildRequires:  boost-devel
BuildRequires:  glew-devel
BuildRequires:  OpenEXR-devel ilmbase-devel
BuildRequires:  python2-devel
BuildRequires:  libpng-devel libtiff-devel openjpeg-devel
%if 0%{?!rhel}
BuildRequires:  libwebp-devel
BuildRequires:  Field3D-devel
%endif
BuildRequires:  hdf5-devel
BuildRequires:  zlib-devel
BuildRequires:  jasper-devel
BuildRequires:  pugixml-devel
BuildRequires:  OpenColorIO-devel

# We don't want to provide private python extension libs
%{?filter_setup:
%filter_provides_in %{python_sitearch}/.*\.so$ 
%filter_setup
}


%description
OpenImageIO is a library for reading and writing images, and a bunch of related
classes, utilities, and applications. Main features include:
- Extremely simple but powerful ImageInput and ImageOutput APIs for reading and
  writing 2D images that is format agnostic.
- Format plugins for TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000,
  DPX, Cineon, FITS, BMP, ICO, RMan Zfile, Softimage PIC, DDS, SGI,
  PNM/PPM/PGM/PBM, Field3d.
- An ImageCache class that transparently manages a cache so that it can access
  truly vast amounts of image data.


%package utils
Summary:        Command line utilies for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description utils
Command-line tools to minipulate and get information on images using the
%{name} library.


%package iv
Summary:        %{name} based image viewer.
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description iv
A really nice image viewer, iv, based on %{name} classes (and so will work with
any formats for which plugins are available).


%package devel
Summary:        Documentation for %{name}
Group:          Development/Libraries
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
Development files for package %{name}


%prep
%setup -q -n oiio-Release-%{version}
%patch0 -p1 -b .arm
%patch1 -p1 -b .ppc
%patch3 -p1 -b .cmake
%patch4 -p1 -b .spin_mutex

# Install FindTBB.cmake
install %{SOURCE101} src/cmake/modules/

# Remove bundled pugixml
rm -f src/include/pugixml.hpp \
      src/include/pugiconfig.hpp \
      src/libutil/pugixml.cpp 

# Remove bundled tbb
rm -rf src/include/tbb

# Install test images
#rm -rf ../oiio-images && mkdir ../oiio-images && pushd ../oiio-images
#tar --strip-components=1 -xzf %{SOURCE1}


%build
rm -rf build/linux && mkdir -p build/linux && pushd build/linux
# CMAKE_SKIP_RPATH is OK here because it is set to FALSE internally and causes
# CMAKE_INSTALL_RPATH to be cleared, which is the desiered result.
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
       -DCMAKE_SKIP_RPATH:BOOL=TRUE \
       -DINCLUDE_INSTALL_DIR:PATH=/usr/include/%{name} \
       -DPYLIB_INSTALL_DIR:PATH=%{python_sitearch} \
       -DINSTALL_DOCS:BOOL=FALSE \
       -DUSE_EXTERNAL_PUGIXML:BOOL=TRUE \
       -DUSE_TBB:BOOL=FALSE \
%ifarch ppc ppc64
       -DNOTHREADS:BOOL=TRUE \
%endif
       -DVERBOSE=TRUE \
       ../../src

make %{?_smp_mflags}


%install
pushd build/linux
make DESTDIR=%{buildroot} install

# Move man pages to the right directory
mkdir -p %{buildroot}%{_mandir}/man1
cp -a doc/*.1 %{buildroot}%{_mandir}/man1


%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig


%check
# Not all tests pass on linux
#pushd build/linux && make test


%files
%doc CHANGES LICENSE
%{_libdir}/libOpenImageIO.so.*
%{python_sitearch}/OpenImageIO.so

%files utils
%exclude %{_bindir}/iv
%{_bindir}/*
%exclude %{_mandir}/man1/iv.1.gz
%{_mandir}/man1/*.1.gz

%files iv
%{_bindir}/iv
%{_mandir}/man1/iv.1.gz

%files devel
%doc src/doc/*.pdf
%{_libdir}/libOpenImageIO.so
%{_includedir}/*


%changelog
* Wed Nov 27 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.2.3-3
- rebuild (openexr)

* Mon Nov 18 2013 Dave Airlie <airlied@redhat.com> - 1.2.3-2
- rebuilt for GLEW 1.10

* Wed Nov  6 2013 Richard Shaw <hobbes1069@gmail.com> - 1.2.3-1
- Update to latest upstream release.
- Fix ppc builds (BZ#1021977).
- Add conditionals to build requirements for EPEL 6.

* Wed Oct  2 2013 Richard Shaw <hobbes1069@gmail.com> - 1.2.2-1
- Update to latest upstream release.

* Sun Sep 08 2013 Rex Dieter <rdieter@fedoraproject.org> 1.2.1-2
- rebuild (ilmbase/openexr)

* Thu Aug  8 2013 Richard Shaw <hobbes1069@gmail.com> - 1.2.1-1
- Update to latest upstream release.

* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sun Jul 28 2013 Petr Machata <pmachata@redhat.com> - 1.2.0-2
- Rebuild for boost 1.54.0

* Fri Jul 15 2013 Richard Shaw <hobbes1069@gmail.com> - 1.2.0-1
- Update to latest upstream release.
- Add patch for more pedantic gcc 4.8.

* Wed Jul  3 2013 Richard Shaw <hobbes1069@gmail.com> - 1.1.13-1
- Update to latest bugfix release.

* Mon Jul  1 2013 Richard Shaw <hobbes1069@gmail.com> - 1.1.11-1
- Update to lastest bugfix release.
- Upstream patch makes native spinlocks faster than TBB. TBB no longer needed.

* Mon May 27 2013 Karsten Hopp <karsten@redhat.com> 1.1.10-4
- modify ppc patch for current release

* Fri May 24 2013 Petr Machata <pmachata@redhat.com> - 1.1.10-3
- Rebuild for TBB memory barrier bug

* Mon May 20 2013 Dan HorĂ¡k <dan[at]danny.cz> - 1.1.10-2
- fix build on s390(x)

* Tue Apr 23 2013 Richard Shaw <hobbes1069@gmail.com> - 1.1.10-1
- Update to latest upstream release.

* Sun Mar 31 2013 Peter Robinson <pbrobinson@fedoraproject.org> 1.1.3-7
- Add upstream patch to fix FTBFS on ARM (RHBZ 924932)

* Sun Mar 10 2013 Rex Dieter <rdieter@fedoraproject.org> 1.1.3-6
- rebuild (OpenEXR)

* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.1.3-5
- Rebuild for Boost-1.53.0

* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.1.3-4
- Rebuild for Boost-1.53.0

* Mon Jan 28 2013 Karsten Hopp <karsten@redhat.com> 1.1.3-3
- update PPC patch, use power64 macro

* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 1.1.3-2
- rebuild due to "jpeg8-ABI" feature drop

* Mon Jan 14 2013 Richard Shaw <hobbes1069@gmail.com> - 1.1.3-1
- Update to latest upstream release.
- Separate utilities and library packages.

* Fri Dec 28 2012 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-3
- Rebuild, see
  http://lists.fedoraproject.org/pipermail/devel/2012-December/175685.html

* Thu Dec 13 2012 Adam Jackson <ajax@redhat.com> - 1.0.9-2
- Rebuild for glew 1.9.0

* Sat Sep 22 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.9-1
- Update to latest upstream release.

* Wed Aug  8 2012 David Malcolm <dmalcolm@redhat.com> - 1.0.8-2
- rebuild against boost-1.50

* Wed Aug 01 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.8-1
- Update to latest upstream release.

* Mon Jul 30 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.7-3
- Rebuild for updated libGLEW.

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Jul 09 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.7-1
- Update to latest upstream release.

* Thu Jun 28 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.6-1
- Update to latest upstream release.
- Fix linking against TBB which broke at some point.

* Tue Jun 12 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.5-1
- Update to latest upstream release.

* Mon May 07 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.4-2
- Rebuild for updated libtiff.
- Add OpenColorIO to build requirements.

* Thu May 03 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.4-1
- Update to latest upstream release.

* Tue Apr 24 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.3-1
- Update to latest upstream release.

* Fri Mar 02 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.0-1
- Update to latest upstream release.

* Thu Jan 05 2012 Richard Shaw <hobbes1069@gmail.com> - 0.10.4-1
- Update to 0.10.4.
- Rebuild for GCC 4.7.0.

* Fri Dec 02 2011 Richard Shaw <hobbes1069@gmail.com> - 0.10.3-1
- Build against TBB library.

* Sat Nov 05 2011 Richard Shaw <hobbes1069@gmail.com> - 0.10.3-1
- Update to 0.10.3
- Rebuild for libpng 1.5.
- Fixed bulding against tbb library.

* Thu Aug 27 2011 Tom Callaway <spot@fedoraproject.org> - 0.10.2-1
- Update to 0.10.2

* Thu Aug 04 2011 Richard Shaw <hobbes1069@gmail.com> - 0.10.1-2
- New upstream release.
- Fix private shared object provides with python library.

* Mon Jul 18 2011 Richard Shaw <hobbes1069@gmail.com> - 0.10.0-2
- Disabled use of the TBB library.
- Moved headers to named directory.

* Tue Jul 05 2011 Richard Shaw <hobbes1069@gmail.com> - 0.10.0-1
- Inital Release.