Blob Blame History Raw
%define _version 3100
%define major 3

Name:           freeimage
Version:        3.10.0
Release:        23%{?dist}
Summary:        Multi-format image decoder library
Group:          System Environment/Libraries
# freeimage is dual-licensed, see Whatsnew.txt (search for license) or:
# http://freeimage.sourceforge.net/license.html
License:        GPL+ or MPLv1.0
URL:            http://freeimage.sourceforge.net/
Source0:        http://downloads.sourceforge.net/%{name}/FreeImage%{_version}.zip
Patch0:         FreeImage-3.10.0-syslibs.patch
Patch1:         FreeImage-3.10.0-doxygen.patch
Patch2:         FreeImage-3.10.0-libpng15.patch
Patch3:         FreeImage-3.10.0-libtiff4.patch
# Fix CVE-2015-0852 (#1257859)
Patch4:         FreeImage-3.10.0_CVE-2015-0852.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  libjpeg-devel libpng-devel libtiff-devel OpenEXR-devel
BuildRequires:  libmng-devel openjpeg-devel doxygen

%description
FreeImage is a library for developers who would like to support popular
graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by
today's multimedia applications. 


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

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.


%prep
%setup -q -n FreeImage
%patch0 -p1 -z .syslibs
%patch1 -p1
%patch2 -p0
%patch3 -p1
%patch4 -p1
touch -r Source/FreeImage.h.syslibs Source/FreeImage.h

# remove all included libs to make sure these don't get used during compile
rm -r Source/Lib* Source/ZLib Source/OpenEXR

# some encoding / line ending cleanups
iconv -f ISO-8859-1 -t UTF-8 Whatsnew.txt > Whatsnew.txt.tmp
touch -r Whatsnew.txt Whatsnew.txt.tmp
mv Whatsnew.txt.tmp Whatsnew.txt
sed -i 's/\r//g' Whatsnew.txt license-*.txt gensrclist.sh \
  Wrapper/FreeImagePlus/WhatsNew_FIP.txt


%build
sh ./gensrclist.sh
make %{?_smp_mflags} \
  COMPILERFLAGS="$RPM_OPT_FLAGS -fPIC -fvisibility=hidden `pkg-config --cflags OpenEXR`"

# build libfreeimageplus DIY, as the provided makefile makes libfreeimageplus
# contain a private copy of libfreeimage <sigh>
FIP_OBJS=
for i in Wrapper/FreeImagePlus/src/fip*.cpp; do
  gcc -o $i.o $RPM_OPT_FLAGS -fPIC -fvisibility=hidden \
    -ISource -IWrapper/FreeImagePlus -c $i
  FIP_OBJS="$FIP_OBJS $i.o"
done
gcc -shared -LDist -o Dist/lib%{name}plus-%{version}.so \
  -Wl,-soname,lib%{name}plus.so.%{major} $FIP_OBJS -lfreeimage-%{version}

pushd Wrapper/FreeImagePlus/doc
doxygen FreeImagePlus.dox
popd


%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT%{_includedir}

install -m 755 Dist/lib%{name}-%{version}.so $RPM_BUILD_ROOT%{_libdir}
ln -s lib%{name}-%{version}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so.%{major}
ln -s lib%{name}-%{version}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so

install -m 755 Dist/lib%{name}plus-%{version}.so $RPM_BUILD_ROOT%{_libdir}
ln -s lib%{name}plus-%{version}.so \
  $RPM_BUILD_ROOT%{_libdir}/lib%{name}plus.so.%{major}
ln -s lib%{name}plus-%{version}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}plus.so

install -p -m 644 Source/FreeImage.h $RPM_BUILD_ROOT%{_includedir}
install -p -m 644 Wrapper/FreeImagePlus/FreeImagePlus.h \
  $RPM_BUILD_ROOT%{_includedir}


%clean
rm -rf $RPM_BUILD_ROOT


%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc Whatsnew.txt license-*.txt Wrapper/FreeImagePlus/WhatsNew_FIP.txt
%{_libdir}/lib%{name}*-%{version}.so
%{_libdir}/lib%{name}*.so.%{major}

%files devel
%defattr(-,root,root,-)
%doc Wrapper/FreeImagePlus/doc/html
%{_includedir}/FreeImage*.h
%{_libdir}/lib%{name}.so
%{_libdir}/lib%{name}plus.so


%changelog
* Thu Sep 17 2015 Sandro Mani <manisandro@gmail.com> - 3.10.0-23
- Add fix for CVE-2015-0852 (#1257859)

* Wed Nov 26 2014 Rex Dieter <rdieter@fedoraproject.org> 3.10.0-22
- rebuild (openexr), tighten subpkg deps via %%{?_isa}

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed Nov 27 2013 Rex Dieter <rdieter@fedoraproject.org> - 3.10.0-19
- rebuild (openexr)

* Mon Sep 09 2013 Bruno Wolff III <bruno@wolff.to> 3.10.0-18
- Rebuild for ilmbase related soname bumps

* Mon Aug 26 2013 Jon Ciesla <limburgher@gmail.com> - 3.10.0-17
- libmng rebuild.

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

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

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

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

* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 3.10.0-12
- rebuild against new libjpeg

* Fri Aug  3 2012 Tom Lane <tgl@redhat.com> 3.10.0-11
- Add patch for libtiff 4.0 API changes
Resolves: #845407

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Feb 13 2012 Bruno Wolff III <bruno@wolff.to> 3.10.0-9
- Update for libpng 1.5 API

* Thu Feb 09 2012 Rex Dieter <rdieter@fedoraproject.org> 3.10.0-8
- rebuild (openjpeg)

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 3.10.0-6
- Rebuild for new libpng

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Jan 12 2011 Rex Dieter <rdieter@fedoraproject.org> - 3.10.0-4
- rebuild (openjpeg)

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Mar 18 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 3.10.0-1
- Initial Fedora package