File pixman.spec of Package pixman

#
# spec file for package pixman
#
# Copyright (c) 2012 SUSE LINUX Products 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/
#


Name:           pixman
Version:        0.32.6
Release:        666.1
Summary:        Pixel manipulation library
License:        MIT
Group:          System/Libraries
Url:            http://xorg.freedesktop.org/
Source:         http://cairographics.org/releases/%{name}-%{version}.tar.gz
Source99:       baselibs.conf
BuildRequires:  pkgconfig
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Pixman is a pixel manipulation library for X and cairo.

%package -n libpixman-1-0
Summary:        Pixel manipulation library
Group:          System/Libraries

%description -n libpixman-1-0
Pixman is a pixel manipulation library for X and cairo.

%package -n libpixman-1-0-devel
Summary:        Pixel manipulation library - development files
Group:          Development/Libraries/X11
Requires:       libpixman-1-0 = %{version}

%description -n libpixman-1-0-devel
Pixman is a pixel manipulation library for X and cairo.

%prep
%setup -q

%build
#autoreconf -fi
#
#Note about the ifarchs for arm: armv5 has no neon (like mmx on x86), but on armv7 neon is available on most boards.
# Thus make it possible to switch it on for v7 on its own.
# For now: disable neon on both
%configure \
%ifarch armv5el armv5tel
       --disable-arm-iwmmxt \
       --disable-arm-neon \
%endif
%ifarch armv7el armv7l armv7hl
       --disable-arm-iwmmxt \
       --disable-arm-neon \
%endif
       --disable-static
make V=1 %{?_smp_mflags}

%install
%makeinstall
rm %{buildroot}%{_libdir}/libpixman-1.la

%post -n libpixman-1-0 -p /sbin/ldconfig

%postun -n libpixman-1-0 -p /sbin/ldconfig

%files -n libpixman-1-0
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libpixman-1.so.*

%files -n libpixman-1-0-devel
%defattr(-,root,root)
%{_includedir}/pixman-1
%{_libdir}/libpixman-1.so
%{_libdir}/pkgconfig/pixman-1.pc

%changelog
* Tue Dec 11 2012 vuntz@opensuse.org
- Update to version 0.28.2:
  + Fixes for 64 bit Windows, clang, and PowerPC on MacOS and
    OpenBSD.
* Fri Nov  9 2012 hrvoje.senjan@gmail.com
- Update to version 0.28.0:
  + Support for sRGB coded images.
  + New API for fast glyph rendering.
  + Faster bilinear scaling on iwMMX, Loongson and MMX.
  + More fast paths in the MIPS DSPr2 backend.
  + Faster scaling in general and on SSE2 in particular.
* Sat Jul 21 2012 dimstar@opensuse.org
- Update to version 0.26.2:
  + Some bug fixes.
  + Custom build rules for ARM/iwMMXt.
  + An important bug fix for MMX/x86.
* Thu Jun 21 2012 dimstar@opensuse.org
- Update to version 0.26.0:
  + New support for MIPS DSPr2 ASE.
  + Improved performance with the iwMMXt instruction set.
  + New support for the  Loongson SIMD instruction set.
  + Several bugs fixed.
  + Cleanups.
  + Performance improvements.
* Sat Jun  9 2012 guillaume@opensuse.org
- Fix ARM build:
  + Disable iwmmxt since our ARM SoC does not support it.
  + Add new armv7hl to armv7*
* Thu Mar 22 2012 jengelh@medozas.de
- Parallel build with %%_smp_mflags; remove redundant sections
* Thu Feb  9 2012 vuntz@opensuse.org
- Update to version 0.24.4:
  + Trapezoids that have gaps between the edges and the top/bottom
    lines are no longer considered invalid.
  + Basic support for using the NEON acceleration on iOS.
* Thu Jan 19 2012 vuntz@opensuse.org
- Update to version 0.24.2:
  + Runtime detection of ARM NEON on Android
  + MMX build fix for Solaris
  + Fix for broken gradients with repeat mode NONE
  + Misc. other bug fixes.
* Mon Nov  7 2011 johannesobermayr@gmx.de
- Update to version 0.24.0:
  + Faster bilinear scaling on SSE2 and ARM NEON
  + Several new fast paths for ARM NEON
  + Support for the iwMMXt vector instruction set
  + Improved support for building with MSVC
  + Large number of other optimizations, bug fixes, and internal
    cleanups.
* Tue May  3 2011 vuntz@opensuse.org
- Update to version 0.22.0:
  + New r8g8b8a8 and r8g8b8x8 image formats
  + Much faster image scaling on ARM and x86
  + Faster 90/270 degree image rotation
  + More comprehensive support for compositing triangles and
    trapezoids
  + Large number of other performance improvements, bug and
    portability fixes, and improvements to the test suite.
* Fri Feb 11 2011 fcrozat@novell.com
- Update to version 0.20.2:
  + Fix opacity check
  + Improve handling of tangent circles
  + Various bug fixes.
  + Build fixes.
* Fri Oct 29 2010 mrdocs@opensuse.org
- Update to 0.20.0
  * http://lists.freedesktop.org/archives/pixman/2010-October/000694.html
  * Gradient improvements
  Radial gradients follow the PDF specification [Andrea Canciani]
  Large linear gradients are rendered much more accurately [Andrea]
  Conical gradients now work much better [Søren Sandmann Pedersen]
  * Performance improvements
  Faster image scaling [Siarhei Siamashka]
  Faster affine transformations [Søren]
  Improvements to the ARM NEON [Siarhei]
  Improvements to the SSE2 backend [Siarhei, Søren]
  * Plus a large number of bug and portability fixes
    and improvements to the test suite.
* Tue Aug 17 2010 dimstar@opensuse.org
- Update to version 0.18.4:
  + Fix memory leak in the pthreads thread local storage code
  + When storing a g1 pixel, store the lowest bit, rather than
    comparing with 0.
  + If we bail out of do_composite, make sure to undo any
    workarounds.
  + Check for read accessors before taking the bilinear fast path
* Mon Jun 21 2010 dimstar@opensuse.org
- Update to version 0.18.2:
  + Add missing HAVE_CONFIG_H guards for config.h inclusion.
  + Fix uninitialized cache when pthreads are used.
  + Fixes for pthread thread local storage.
  + [mmx] Fix mask creation bugs.
* Thu Apr  1 2010 vuntz@opensuse.org
- Update to version 0.18.0:
  + No code change, just a version bump for a stable release.
* Wed Mar 24 2010 vuntz@opensuse.org
- Update to version 0.17.14:
  + Fixes for older ARM CPUs.
* Thu Mar 18 2010 dimstar@opensuse.org
- Update to version 0.17.12:
  + Optimizations for rescaling with a nearest filter
  + Overhead reduction by caching fast paths
  + Constant time operator strength reduction
  + Misc. bug fixes
* Sat Mar  6 2010 dimstar@opensuse.org
- Update to version 0.17.10:
  + ARM: added 'neon_composite_over_n_8888_8888_ca' fast path
  + ARM: added 'neon_composite_src_x888_8888' fast path
  + ARM: added 'neon_composite_over_reverse_n_8888' fast path
  + Compute the image flags at validation time instead of composite
    time
  + Add new FAST_PATH_SIMPLE_REPEAT flag
  + Move computation of extended format code to validate.
  + Eliminate _pixman_image_is_solid()
  + Eliminate _pixman_image_is_opaque() in favor of a new
    FAST_PATH_IS_OPAQUE
  + Turn need_workaround into another flag.
  + Move workaround code to pixman-image.c
  + Restructure the flags computation in compute_image_info().
  + test: Remove obsolete comment
  + Move __force_align_arg_pointer workaround before composite32()
* Thu Feb 25 2010 captain.magnus@opensuse.org
- Update to version 0.17.8:
  + Once unrolled version of fast_path_composite_nearest_scaled()
  + Generalize and optimize fast_composite_src_scaled_nearest()
  + Merge branch 'bitmasks'
  + Makefile.am: Remove 'check' from release-check
  + Turn off asserts in development snapshots (fdo#26314)
  + ARM: Remove any use of environment variables for cpu features
    detection
  + Add pixman_image_get_destroy_data()
  + Add extern "C" guards for c++
  + Move checks for src/mask repeat right before walking the
    region
  + Compute src, mask, dest flags and base fast path decisions on
    them
  + Add src_, mask_, and dest_flags fields to fast path arrays
  + Move calls to source_is_fastpathable() into
    get_source_format()
  + Fold get_fast_path() into _pixman_run_fast_path()
  + Consolidate the source and mask sanity checks in a function
  + Move pixbuf checks after src_format and mask_format have been
    computed
  + Move the sanity checks for src, mask and destination into
    get_fast_path()
  + Turn some uint16_t variables to int32_t in the fast paths
  + Implement get_scanline_64() correctly for solid fill images
  + Make pixman_image_fill_rectangles() call
    pixman_image_fill_boxes()
  + Add pixman_image_fill_boxes() API
  + Add pixman_image_composite32()
  + Make region argument to pixman_region(32)_init_rects() const
  + Fix typo
  + Fix some warnings
* Sun Feb 14 2010 vuntz@opensuse.org
- Update to version 0.17.6:
  + Asserts are always turned off, so X server crashes in the
    region code should be gone (fdo#26314).
  + 32 bit versions of some existing API:
  - pixman_fill_boxes32()
  - pixman_image_composite_32()
  + Add accessor for the destroy data:
    pixman_image_get_destroy_data()
  + Optimizations for scaled images
  + Some reorganisation of the fast path tables
  + Bug fix for ARM NEON detection
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.17.6
    for full list of changes
* Mon Jan 18 2010 vuntz@opensuse.org
- Update to version 0.17.4:
  + Major performance improvements for ARM NEON
  + Test suite improvements [Marvin Schmidt]
  + Bug fixes
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.17.4
    for full list of changes
* Mon Dec 14 2009 jengelh@medozas.de
- Add baselibs.conf as a source
* Sun Dec  6 2009 dimstar@opensuse.org
- Update to version 0.17.2:
  + Faster bilinear image scaling
  + Substantially improved ARM NEON fast paths
  + Various other optimizations
  + Improved test suite
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.17.2
    for full list of changes
* Fri Nov 13 2009 vuntz@opensuse.org
- Update to version 0.16.2:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.16.2
    for changes
* Fri Aug 28 2009 vuntz@novell.com
- Update to version 0.16.0:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.16.0
    for changes
- Summary of the important changes since 0.14.0:
  + Support for PDF blend modes
  + A number of fast paths for ARM NEON
  + Support for PIXMAN_REPEAT_REFLECT for images
  + New image formats:
  - a2r10g10b10, x2r10g10b10
  - b8g8r8a8, b8g8r8x8
  + Support for MMX and SSE2 on Sun compilers and Solaris
  + Support for SSE2 on Windows x64
  + A reorganisation of pixman's internals to make future
    development and maintenance easier
  + A substantial expansion of pixman's test suite
* Wed Aug 12 2009 vuntz@novell.com
- Update to version 0.15.20:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.15.20
    for changes
* Thu Aug  6 2009 jansimon.moeller@opensuse.org
- Add separate ifarch for armv5 and armv7 to be able to switch
  neon on v7 lateron.
* Sun Aug  2 2009 jansimon.moeller@opensuse.org
- add ifarch's for ARM, disabling neon usage atm for both v5 and v7.
* Fri Jul 24 2009 captain.magnus@opensuse.org
- Update to version 0.15.18:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.15.18
    for changes
* Mon Jul 20 2009 vuntz@novell.com
- Update to version 0.15.16:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.15.16
    for changes
* Sat Jun 27 2009 captain.magnus@opensuse.org
- Update to version 0.15.14:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.15.14
    for changes
* Tue Jun 16 2009 vuntz@novell.com
- Update to version 0.15.12:
  + See http://cgit.freedesktop.org/pixman/log/?id=pixman-0.15.12
    for changes
* Tue Jun  9 2009 vuntz@novell.com
- Update to version 0.15.10:
  + See http://cgit.freedesktop.org/pixman/log/ for changes
* Tue Jun  2 2009 vuntz@novell.com
- Update to version 0.15.8:
  + See http://cgit.freedesktop.org/pixman/log/ for changes
* Sat May 23 2009 vuntz@novell.com
- Update to version 0.15.6:
  + See http://cgit.freedesktop.org/pixman/log/ for changes
  + Mainly code cleanup, splitting code in various files.
* Sun May 17 2009 mboman@suse.de
- Update to version 0.15.4:
  + See http://cgit.freedesktop.org/pixman/log/ for changes
* Fri Apr 10 2009 mboman@suse.de
- Update to version 0.15.2:
  + Reinstate SrcScaledNearest optimization
  + Implement PIXMAN_REPEAT_REFLECT for images
  + Add license and copyright holders to COPYING
  + Check for allocation errors during pixman_op()
  + Propagate the error returns from pixman_rect_alloc()
  + Check for failure when intersecting regions
  + Add support for BGRA and BGRx formats
  + Set srcRepeat = False when using fbCompositeSrcScaleNearest
  + Fix pixbuf_from_argb32() to take premultiplied alpha into
    account
  + Replace custom type ullong with standard uint64_t in
    pixman-mmx.c
  + Fix search and replace issue
- Remove custom CFLAGS
- Add %%{version} to Requires in -devel package
* Tue Feb 10 2009 mboman@suse.de
- Initial package, split out from xorg-x11-libs
  + Drop pixman-0.12.0.diff. See bnc#444639/rh#435771 and fdo#17293
openSUSE Build Service is sponsored by