File imlib2.spec of Package imlib2

#
# spec file for package imlib2
#
# Copyright (c) 2017 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 http://bugs.opensuse.org/
#


%define lname	libImlib2-1
Name:           imlib2
Version:        1.4.10
Release:        1.28
Summary:        Image handling and conversion library
License:        BSD-3-Clause
Group:          Development/Libraries/X11
Url:            http://sourceforge.net/projects/enlightenment/
Source:         http://downloads.sourceforge.net/project/enlightenment/imlib2-src/%{version}/%{name}-%{version}.tar.bz2
Patch1:         imlib2-bswap.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  freetype2-devel
BuildRequires:  giflib-devel
BuildRequires:  libid3tag-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libpng-devel
BuildRequires:  libtiff-devel
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  xorg-x11-libX11-devel
BuildRequires:  xorg-x11-libXext-devel
BuildRequires:  zlib-devel
BuildRequires:  pkgconfig(bzip2)
%if 0%{?centos_version} != 700
Recommends:     imlib2-loaders
%endif
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Imlib2 is an advanced replacement library for libraries like libXpm
that provides many more features with much greater flexibility and
speed than standard libraries, including font rasterization, rotation,
RGBA space rendering and blending, dynamic binary filters, scripting,
and more.

%package -n %{lname}
Summary:        Image handling and conversion library
Group:          System/Libraries

%description -n %{lname}
Imlib2 is an advanced replacement library for libraries like libXpm
that provides many more features with much greater flexibility and
speed than standard libraries, including font rasterization, rotation,
RGBA space rendering and blending, dynamic binary filters, scripting,
and more.

%package devel
Summary:        Imlib 2 - development libraries
Group:          Development/Libraries/X11
Requires:       %{lname} = %{version}
Requires:       xorg-x11-libX11-devel

%description devel
These are the development headers and library for imlib2.

%package filters
Summary:        Imlib 2 - plugin filters
Group:          Development/Libraries/X11
Requires:       %{lname} = %{version}

%description filters
This package has the basic set of plugin filters that come with Imlib2.

%package loaders
Summary:        Imlib 2 - image loaders
Group:          Development/Libraries/X11
Provides:       imlib2-loader_argb
Provides:       imlib2-loader_bmp
Provides:       imlib2-loader_bz2
Provides:       imlib2-loader_gif
Provides:       imlib2-loader_jpeg
Provides:       imlib2-loader_png
Provides:       imlib2-loader_pnm
Provides:       imlib2-loader_tga
Provides:       imlib2-loader_tiff
Provides:       imlib2-loader_xpm
Provides:       imlib2-loader_zlib

%description loaders
This package contains the imlib2 image loaders for: argb, bmp, gif,
jpeg, png, pnm, tga, tiff, xpm

%prep
%setup -q
%patch1

%build
autoreconf -fiv
%configure \
%ifarch %ix86
	--enable-mmx \
%else
	--disable-mmx \
%endif
%ifarch x86_64
	--enable-amd64 \
%endif
	--bindir=%{_bindir} \
	--libdir=%{_libdir} \
	--includedir=%{_includedir} \
	--enable-shared \
	--enable-visibility-hiding \
	--disable-static
make %{?_smp_mflags} V=1

%install
%make_install
pushd %{buildroot}%{_bindir}/
 for i in *imlib2-config ; do
  test "$i" != "imlib2-config" || continue
  ln -s $i imlib2-config
 done
popd
find %{buildroot} -type f -name "*.la" -delete -print
#Heads up ! clean up  madness here..
sed -i -e 's@-lfreetype@@g' -e 's@-lz@@g' -e 's@-lXext@@g' -e 's@-ldl@@g' -e 's@-lm@@g' %{buildroot}%{_bindir}/imlib2-config

%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig

%files
%defattr(-,root,root,0755)
%doc AUTHORS README COPYING doc/index.html
%doc doc/imlib2.gif doc/blank.gif
%{_bindir}/imlib2_bumpmap
%{_bindir}/imlib2_colorspace
%{_bindir}/imlib2_conv
%{_bindir}/imlib2_poly
%{_bindir}/imlib2_show
%{_bindir}/imlib2_test
%{_bindir}/imlib2_view
%{_bindir}/imlib2_grab
%attr(755,root,root) %dir %{_datadir}/imlib2
%{_datadir}/imlib2/*

%files -n %{lname}
%defattr(-,root,root)
%{_libdir}/libImlib2.so.1*

%files devel
%defattr(-,root,root,0755)
%{_libdir}/pkgconfig/imlib2.pc
%{_includedir}/*
%{_libdir}/lib*.so
%{_bindir}/imlib2-config

%files filters
%defattr(-,root,root)
%attr(755,root,root) %dir %{_libdir}/imlib2
%attr(755,root,root) %{_libdir}/imlib2/filters

%files loaders
%defattr(-,root,root)
%attr(755,root,root) %dir %{_libdir}/imlib2
%attr(755,root,root) %{_libdir}/imlib2/loaders

%changelog
* Wed May 10 2017 sflees@suse.de
- Update to 1.4.10
  * PNM, TGA, XPM, and general loader fixes.
* Sun May  1 2016 mpluskal@suse.com
- Update to 1.4.9
  * Fix cross-endianness for masks (1-bit depth images)
  * gif: fix oob reads w/bad colormaps
  * Fix "assuming signed overflow does not occur" warning.
  * Fix some "variable set but not used" warnings.
  * Fix some "variable might be clobbered" warnings.
  * Fix off-by-one OOB read in __imlib_MergeUpdate().
  * Revert "gif: fix oob reads w/bad colormaps"
  * GIF loader: Fix out-of-bound reads from colormap.
  * GIF loader: Remove check made redundant by previous commit.
  * GIF loader: Reduce progress checks from per-pixel to per-row.
  * GIF loader: Indent.
  * Fix potential divide-by-zero in imlib_image_draw_ellipse().
  * Make a number of functions static.
  * Eliminate pImlibExternalFilter type.
  * Trivial file function cleanups.
  * Move __imlib_ItemInList() to file.c.
  * Fix various potential OOM crashes.
  * Fix integer overflow resulting in insufficient heap allocation
  * loader_xpm: remove nonsense/impossible/broken condition
  * Harden API and internals against overly large images
* Tue Mar 15 2016 sflees@suse.de
- Spec cleaner run
* Tue Mar 15 2016 sflees@suse.de
- Update to 1.4.8
  * Add a Farbfeld loader (FRIGN).
  * Fix zlib and bz2 loader filename check.
  * Miscellaneous maintenance.
* Tue May 12 2015 olaf@aepfle.de
- run autoreconf unconditional. PMBS got a fixed version for SLE_11
* Mon Apr 27 2015 mpluskal@suse.com
- Update to 1.4.7
  * Prevent division-by-zero crashes
  * imlib_conv: Use proper buffer size to prevent invalid write of
    size one
  * loader_gif: Don't read uninitilized memory in case of invalid
    input
  * loader_gif(): Abort gif parsing if DGifGetLine() fails
  * Fix segfault when opening input/queue/id:000007,src:000000,
    op:flip1,pos:51 with feh
  * Make IMAGE_DIMENSIONS_OK() more restrictive
  * load_pnm: Deal with fread() errors consistently
  * __imlib_LoadImage(): Additionally check loader_ret to detect
    loader failures
  * loader_tga: Abort file loading if the file obviously isn't
    large enough
  * imlib_save_image(): Check loader return code for errors
  * loader_tga.c: Properly signal if decoding uncompressed BGRA
    data failed
  * loader_tga.c: Properly signal if decoding RLE compressed data
    failed
  * imlib_save_image_with_error_return(): Check loader return code
    to prevent use of unitialized memor
  * load_gif: Make sure rows isn't used partly unitialized
- Drop imlib2-giflib5.patch
* Sat Feb 28 2015 mpluskal@suse.com
- Cleanup spec file with spec-cleaner
- Update to 1.4.6
  * TGA loader: Fix for corrupt RLE format.
  * Fix drawing of closed polygons in certain situations.
  * Set warning options when using gcc.
  * Silence compiler warnings.
  * Don't set -std=gnu99.
  * XPM loader: Simplify and fix certain case of cpp > 2.
* Mon Nov  3 2014 olaf@aepfle.de
- disable autoreconf in SLE11, it is too old and causes syntax errors
* Mon Sep  1 2014 jengelh@inai.de
- Edit imlib2-giflib5.patch and change a bogus >= to a >
* Sun Jun  1 2014 jengelh@inai.de
- Edit imlib2-giflib5.patch to support giflib7-5.1
* Thu Mar 28 2013 mmeister@suse.com
- Added url as source.
  Please see http://en.opensuse.org/SourceUrls
* Tue Jan  8 2013 crrodriguez@opensuse.org
- imlib2-bswap.patch -> USe byteswap.h instead of custom code
- imlib2-giflib5.patch  --> Fix build failure with new giflib
* Tue Jan 10 2012 crrodriguez@opensuse.org
- Cleanup total dependency madness here:
  * Add explicit BuildRequires on libjpeg-devel,zlib-devel,
  libid3tag-devel.
  * Do not use catch-all xorg-x11-devel, but only
    xorg-x11-libX11-devel, xorg-x11-libXext-devel
  * imlib2-devel only requires xorg-x11-libX11-devel
  * Axe all "la" files, there is no libltdl usage.
  * cleanup imlib-config script at build time.
  * This will certainly break build of  dependenant packages
    with broken BuildRequires, drop me a note if you find
    any problem.
* Mon Nov 21 2011 jengelh@medozas.de
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
- Employ shlib policy
* Sat Oct 15 2011 coolo@suse.com
- add libtool as buildrequire to make the spec file more reliable
* Tue Aug 16 2011 meissner@suse.de
- Updated to 1.4.5
  - lots of code cleanup, typo fixes, reindentation
  - some malloc replaced by calloc to avoid integer issues
  - bugfixes, especially in the PNM loader
* Wed Nov 17 2010 meissner@suse.de
- Updated to 1.4.4
  - upstream merged our fix
* Wed Jun 16 2010 lnussel@suse.de
- Recommend imlib2-loaders to actually get them installed as imlib2
  is rather useles without them in most cases (bnc#299389).
* Thu Apr 29 2010 meissner@suse.de
- fixed incorrect overflow checking (CVE-2010-0991, bnc#598935)
* Thu Apr 15 2010 meissner@suse.de
- updated to 1.4.3 upstream
  - upstreamed our fixes
  - more bugfixes and width adjustments
* Thu Dec 31 2009 jengelh@medozas.de
- enable parallel build
* Mon Jul 13 2009 meissner@suse.de
- align AMD64 assembler tables bnc#521020
* Fri Nov 21 2008 meissner@suse.de
- fixed a pointer arithmetic problem in the XPM loader
  CVE-2008-5187/bnc#447093
* Tue Oct 21 2008 meissner@suse.de
- upgraded to 1.4.2 upstream
  - our upstream fixes mostly
  - small bugfixes
- removed upstream fixes
* Tue Jun 17 2008 meissner@suse.de
- upgraded to 1.4.1 upstream
  - security fixes, some bugfixes
- removed non-executable stack patch
- redone Xorg rgb.txt patch
* Mon Jun  2 2008 mweckbecker@suse.de
- Fix xpm buffer overflow (bnc#394703, CVE-2008-2426)
* Fri Oct 26 2007 meissner@suse.de
- upgraded to 1.4.0 upstream
  - mostly merged security fixes
- cleaned up and redid patches were necessary
- enabled visibility hiding option
* Tue Aug 21 2007 meissner@suse.de
- moved provides to the right subpackage.
- suggests: imlib2-loaders in the mainpackage. #299389
* Sun Jul 22 2007 aj@suse.de
- Reduce BuildRequires.
* Mon Dec 11 2006 jw@suse.de
- uninitialized variable bug
  patched and sent upstream.
* Tue Nov 14 2006 meissner@suse.de
- Removed the incorrect loader_jpeg hunk of fix
  for #214313. #220671
* Wed Nov  8 2006 meissner@suse.de
- Upgraded to 1.3.0:
  - several bug fixes
  - lots of symbols marked as hidden
* Wed Nov  8 2006 meissner@suse.de
- Added an additional JPEG fix.
- Also added a fix for TIFF images on 64bit systems.
* Wed Oct 25 2006 meissner@suse.de
- fixed various buffer and integer overflows
  in various loaders and decoders. #214313
* Wed Sep 20 2006 schwab@suse.de
- Use AM_PROG_AS.
* Fri Aug 11 2006 jw@suse.de
- RGB_TXT_PATH added to loader_xpm.c
  defined now as /usr/share/X11/rgb.txt
* Mon Feb  6 2006 ro@suse.de
- fix build for < 10.1
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 11 2006 jw@suse.de
- $RPM_OPT_FLAGS + -fstack-protector added.
* Mon Jan  2 2006 aj@suse.de
- Fix filelist.
* Thu Dec 22 2005 jw@suse.de
- upgraded to 1.2.1, removed upstreamed patches
* Wed Sep 21 2005 ro@suse.de
- only remove .la files for plugins
- add requires to devel package
* Tue Sep 20 2005 jw@suse.de
- offending \*.la files removed.
* Tue Mar  8 2005 jw@suse.de
- Provides for all the loaders added
  to satisfy building e.g. eterm [#64296]
* Tue Feb  1 2005 coolo@suse.de
- put devel files in -devel subpackage
* Wed Jan  5 2005 meissner@suse.de
- Added missing security fixes to BMP and XPM loader #49562.
- Added libstdc++-devel and libtiff-devel to neededforbuild.
* Thu Aug 26 2004 meissner@suse.de
- Upgraded to 1.1.1.
- Fixed buffer overflow in BMP loader.
* Sun Jan 18 2004 meissner@suse.de
- fixed "label at end of compound statement" errors in gcc 3.4
* Mon Jan 12 2004 adrian@suse.de
- revert last change (%%run_ldconfig already exist before)
* Sun Jan 11 2004 adrian@suse.de
- add %%run_ldconfig
* Sat Aug 16 2003 mmj@suse.de
- Update to 1.1.0
* Fri Jun 13 2003 kukuk@suse.de
- Add missing directories to filelist
* Wed May 28 2003 ro@suse.de
- fix build even without archprefix
* Thu Mar 13 2003 mmj@suse.de
- Initial package of imlib2-1.0.6
openSUSE Build Service is sponsored by