%bcond_with glitz # build with glitz backend
#
Summary: Cairo - multi-platform 2D graphics library - cross Mingw32 version
-Summary(pl): Cairo - wieloplatformowa biblioteka graficzna 2D - skro¶na wersja Mingw32
-%define _realname cairo
-Name: crossmingw32-%{_realname}
-Version: 1.2.6
+Summary(pl.UTF-8): Cairo - wieloplatformowa biblioteka graficzna 2D - skrośna wersja Mingw32
+%define realname cairo
+Name: crossmingw32-%{realname}
+Version: 1.8.6
Release: 1
License: LGPL v2.1 or MPL v1.1
-Group: Libraries
-Source0: http://cairographics.org/releases/%{_realname}-%{version}.tar.gz
-# Source0-md5: 487b3d7515752fe57f780d0fd707b01a
-Patch0: %{_realname}-link.patch
+Group: Development/Libraries
+Source0: http://cairographics.org/releases/%{realname}-%{version}.tar.gz
+# Source0-md5: 4e64139ef6f668df24450f3b81dd0771
+Patch0: cairo-link.patch
URL: http://cairographics.org/
-BuildRequires: autoconf >= 2.54
-BuildRequires: automake >= 1:1.7
+BuildRequires: autoconf >= 2.58
+BuildRequires: automake >= 1:1.8
BuildRequires: crossmingw32-fontconfig
-BuildRequires: crossmingw32-freetype >= 2.1.10
+BuildRequires: crossmingw32-freetype >= 2.3.0
%{?with_glitz:BuildRequires: crossmingw32-glitz >= 0.5.1}
BuildRequires: crossmingw32-libpng
-BuildRequires: crossmingw32-pkgconfig
+BuildRequires: crossmingw32-pixman >= 0.12.0
BuildRequires: crossmingw32-zlib
BuildRequires: libtool
-Requires: crossmingw32-freetype >= 2.1.10
-%{?with_glitz:Requires: glitz >= 0.5.1}
+BuildRequires: pkgconfig >= 1:0.15
+Requires: crossmingw32-fontconfig
+Requires: crossmingw32-freetype >= 2.3.0
+%{?with_glitz:Requires: crossmingw32-glitz >= 0.5.1}
+Requires: crossmingw32-libpng
+Requires: crossmingw32-pixman >= 0.12.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_strip 1
%define target i386-mingw32
%define target_platform i386-pc-mingw32
-%define arch %{_prefix}/%{target}
-%define gccarch %{_prefix}/lib/gcc-lib/%{target}
-%define gcclib %{_prefix}/lib/gcc-lib/%{target}/%{version}
%define _sysprefix /usr
%define _prefix %{_sysprefix}/%{target}
+%define _libdir %{_prefix}/lib
%define _pkgconfigdir %{_prefix}/lib/pkgconfig
+%define _dlldir /usr/share/wine/windows/system
%define __cc %{target}-gcc
%define __cxx %{target}-g++
+%ifnarch %{ix86}
+# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
+%define optflags -O2
+%endif
+# -z options are invalid for mingw linker
+%define filterout_ld -Wl,-z,.*
+
%description
Cairo provides anti-aliased vector-based rendering for X. Paths
consist of line segments and cubic splines and can be rendered at any
complete, the API is intended to support the complete imaging model of
PDF 1.4.
-Cairo relies on the Xc library for backend rendering. Xc provides an
-abstract interface for rendering to multiple target types. As of this
-writing, Xc allows Cairo to target X drawables as well as generic
-image buffers. Future backends such as PostScript, PDF, and perhaps
-OpenGL are currently being planned.
-
-%description -l pl
-Cairo obs³uguje oparty na wektorach rendering z antyaliasingiem dla X.
-¦cie¿ki sk³adaj± siê z odcinków i splajnów kubicznych, a renderowane
-mog± byæ z dowoln± grubo¶ci± i ró¿nymi stylami po³±czeñ i zakoñczeñ.
-Wszystkie kolory mog± byæ podane z opcjonaln± pó³przezroczysto¶ci±
-(podan± przez wspó³czynnik nieprzezroczysto¶ci lub alpha) i ³±czone
-przy u¿yciu rozszerzonego algorytmu mieszania Portera-Duffa, który
-mo¿na znale¼æ w rozszerzeniu X Render.
-
-Cairo eksportuje stanowe API renderuj±ce w duchu podobne do operatorów
-konstruowania ¶cie¿ek, tekstu i rysowania z PostScriptu (ze znacznym
-dodatkiem pó³przezroczysto¶ci w modelu obrazu). Kiedy API zostanie
-ukoñczone, ma obs³ugiwaæ pe³ny model obrazu z PDF w wersji 1.4.
-
-Cairo do backendowego renderowania wykorzystuje bibliotekê Xc. Xc
-dostarcza abstrakcyjny interfejs do renderowania na wiele rodzajów
-wyj¶æ. Aktualnie Xc pozwala Cairo tworzyæ obiekty X, a tak¿e ogólne
-bufory obrazu. W przysz³o¶ci planowane s± takie backendy jak
-PostScript, PDF i byæ mo¿e OpenGL.
+This package contains the cross version for Win32.
+
+%description -l pl.UTF-8
+Cairo obsługuje oparty na wektorach rendering z antyaliasingiem dla X.
+Ścieżki składają się z odcinków i splajnów kubicznych, a renderowane
+mogą być z dowolną grubością i różnymi stylami połączeń i zakończeń.
+Wszystkie kolory mogą być podane z opcjonalną półprzezroczystością
+(podaną przez współczynnik nieprzezroczystości lub alpha) i łączone
+przy użyciu rozszerzonego algorytmu składania Portera-Duffa, który
+można znaleźć w rozszerzeniu X Render.
+
+Cairo eksportuje stanowe API renderujące w duchu podobne do operatorów
+konstruowania ścieżek, tekstu i rysowania z PostScriptu (ze znacznym
+dodatkiem półprzezroczystości w modelu obrazu). Kiedy API zostanie
+ukończone, ma obsługiwać pełny model obrazu z PDF w wersji 1.4.
+
+Ten pakiet zawiera wersję skrośną dla Win32.
+
+%package static
+Summary: Static Cairo library (cross mingw32 version)
+Summary(pl.UTF-8): Statyczna biblioteka Cairo (wersja skrośna mingw32)
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description static
+Static Cairo library (cross mingw32 version).
+
+%description static -l pl.UTF-8
+Statyczna biblioteka Cairo (wersja skrośna mingw32).
+
+%package dll
+Summary: DLL Cairo library for Windows
+Summary(pl.UTF-8): Biblioteka DLL Cairo dla Windows
+Group: Applications/Emulators
+Requires: crossmingw32-fontconfig-dll
+Requires: crossmingw32-freetype-dll >= 2.3.0
+%{?with_glitz:Requires: crossmingw32-glitz-dll >= 0.5.1}
+Requires: crossmingw32-libpng-dll
+Requires: crossmingw32-pixman-dll >= 0.12.0
+
+%description dll
+DLL Cairo library for Windows.
+
+%description dll -l pl.UTF-8
+Biblioteka DLL Cairo dla Windows.
%prep
-%setup -q -n %{_realname}-%{version}
+%setup -q -n %{realname}-%{version}
%patch0 -p1
%build
-export PKG_CONFIG_PATH=%{_prefix}/lib/pkgconfig
+export PKG_CONFIG_LIBDIR=%{_prefix}/lib/pkgconfig
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I build
%{__autoheader}
%{__autoconf}
%{__automake}
%configure \
- AR="%{target}-ar" \
- RANLIB="%{target}-ranlib" \
+ lt_cv_deplibs_check_method=pass_all \
--target=%{target} \
- --host=%{target_platform} \
- %{?with_glitz:--enable-glitz} \
- --enable-ps \
- --enable-pdf \
+ --host=%{target} \
+ --disable-gtk-doc \
--disable-xlib \
--disable-xlib-render \
- --enable-windows \
- --enable-svg \
+ --enable-freetype \
+ %{?with_glitz:--enable-glitz} \
+ --enable-pdf \
+ --enable-png \
+ --enable-ps \
+ --enable-windows
+
%{__make}
%install
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_dlldir}
+mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
+
+%if 0%{!?debug:1}
+%{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
+%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
+%endif
+
+rm -rf $RPM_BUILD_ROOT%{_datadir}/gtk-doc
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
# COPYING contains only notes, not LGPL/MPL texts
-%doc AUTHORS COPYING ChangeLog NEWS README TODO
-%attr(755,root,root) %{_libdir}/lib*.la
-%attr(755,root,root) %{_libdir}/lib*.a
-%{_includedir}/*
-%{_pkgconfigdir}/*.pc
+%doc AUTHORS COPYING ChangeLog NEWS README
+%{_libdir}/libcairo.dll.a
+%{_libdir}/libcairo.la
+%{_includedir}/cairo
+%{_pkgconfigdir}/cairo.pc
+%{_pkgconfigdir}/cairo-ft.pc
+%{_pkgconfigdir}/cairo-pdf.pc
+%{_pkgconfigdir}/cairo-png.pc
+%{_pkgconfigdir}/cairo-ps.pc
+%{_pkgconfigdir}/cairo-svg.pc
+%{_pkgconfigdir}/cairo-win32.pc
+%{_pkgconfigdir}/cairo-win32-font.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libcairo.a
+
+%files dll
+%defattr(644,root,root,755)
+%{_dlldir}/libcairo-*.dll