Blob Blame History Raw
%global githash1 g513d0dd
%global githash2 d94a4e4

Name:           OpenImageIO
Version:        1.0.4
Release:        2%{?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/%{name}-oiio-Release-%{version}-0-%{githash1}.tar.gz
Source1:        FindTBB.cmake

Patch0:         OpenImageIO-1.0.0-use_external_tbb.patch
Patch1:         OpenImageIO-1.0.0-tbb_include.patch

BuildRequires:  cmake
BuildRequires:  qt4-devel
BuildRequires:  boost-devel glew-devel OpenEXR-devel ilmbase-devel
BuildRequires:  python2-devel txt2man
BuildRequires:  libpng-devel libtiff-devel openjpeg-devel libwebp-devel
BuildRequires:  zlib-devel jasper-devel
BuildRequires:  pugixml-devel
%ifarch x86_64
BuildRequires:  tbb-devel
%endif
BuildRequires:  hdf5-devel Field3D-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.
- A really nice image viewer, iv, also based on OpenImageIO 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 %{name}-oiio-%{githash2}
%patch0 -p1 -b .exttbb
%patch1 -p1 -b .tbbinc

# 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 FindTBB.cmake
install -pm 0644 %{SOURCE1} src/cmake/modules/


%build
mkdir -p build
pushd build
# 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 \
%ifarch x86_64
       -DUSE_TBB:BOOL=TRUE \
       -DUSE_EXTERNAL_TBB=TRUE \
%else
       -DUSE_TBB:BOOL=FALSE \
%endif
       ../src

make %{?_smp_mflags}


%install
pushd build
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 are expected to pass yet.
#pushd build && make test


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

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


%changelog
* 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.

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

* Tue Mar 13 2012 Richard Shaw <hobbes1069@gmail.com> - 1.0.0-2
- Do not build against TBB for i686 because it fails.

* 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.