diff --git a/README.md b/README.md index df678d6..5d08064 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # libcairo +Cairo is a 2D graphics library with support for multiple output devices. +Currently supported output targets include the X Window System, win32, and image buffers. +Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. +Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). + diff --git a/libcairo-1.12.4-expose_snapshot.patch b/libcairo-1.12.4-expose_snapshot.patch new file mode 100644 index 0000000..ed108b6 --- /dev/null +++ b/libcairo-1.12.4-expose_snapshot.patch @@ -0,0 +1,370 @@ +Submitted By: Armin K. +Initial Package Version: 1.12.0 +Upstream Status: Unknown +Origin: Mozilla. From the Firefox-12 source. +Description: this is gfx/cairo/expose-snapshot.patch applied to the system + Cairo to expose some private functions. It allows Firefox to + be compiled with --enable-system-cairo + More details https://bugzilla.mozilla.org/show_bug.cgi?id=722975 + Based on Andy's patch, but rediffed for Cairo 1.12.4. + +--- cairo.orig/src/cairo-analysis-surface.c 2012-04-29 11:04:27.000000000 +0200 ++++ cairo/src/cairo-analysis-surface.c 2012-10-07 20:22:22.407783487 +0200 +@@ -125,7 +125,7 @@ + _cairo_surface_init (&proxy->base, &proxy_backend, NULL, target->content); + + proxy->target = target; +- _cairo_surface_attach_snapshot (source, &proxy->base, NULL); ++ cairo_surface_attach_snapshot (source, &proxy->base, NULL); + + return &proxy->base; + } +@@ -916,7 +916,7 @@ + }; + + cairo_surface_t * +-_cairo_null_surface_create (cairo_content_t content) ++cairo_null_surface_create (cairo_content_t content) + { + cairo_surface_t *surface; + +--- cairo.orig/src/cairo-analysis-surface-private.h 2010-06-13 21:58:21.000000000 +0200 ++++ cairo/src/cairo-analysis-surface-private.h 2012-10-07 20:22:22.407783487 +0200 +@@ -68,7 +68,4 @@ + _cairo_analysis_surface_merge_status (cairo_int_status_t status_a, + cairo_int_status_t status_b); + +-cairo_private cairo_surface_t * +-_cairo_null_surface_create (cairo_content_t content); +- + #endif /* CAIRO_ANALYSIS_SURFACE_H */ +--- cairo.orig/src/cairo-cogl-surface.c 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/cairo-cogl-surface.c 2012-10-07 20:22:22.407783487 +0200 +@@ -1403,7 +1403,7 @@ + reference_surface->ignore_alpha, + NULL, COGL_TEXTURE (texture)); + +- _cairo_surface_attach_snapshot (abstract_surface, clone, NULL); ++ cairo_surface_attach_snapshot (abstract_surface, clone, NULL); + + /* Attaching the snapshot will take a reference on the clone surface... */ + cairo_surface_destroy (clone); +--- cairo.orig/src/cairo.h 2012-03-29 12:05:32.000000000 +0200 ++++ cairo/src/cairo.h 2012-10-07 20:22:22.408783503 +0200 +@@ -232,6 +232,15 @@ + typedef void (*cairo_destroy_func_t) (void *data); + + /** ++ * cairo_surface_func_t: ++ * @surface: The surface being referred to. ++ * ++ * #cairo_surface_func_t the type of function which is used for callback ++ * when a surface needs to be passed as a parameter. ++ */ ++typedef void (*cairo_surface_func_t) (cairo_surface_t *surface); ++ ++/** + * cairo_user_data_key_t: + * @unused: not used; ignore. + * +@@ -2414,6 +2423,14 @@ + void *user_data, + cairo_destroy_func_t destroy); + ++cairo_public void ++cairo_surface_attach_snapshot (cairo_surface_t *surface, ++ cairo_surface_t *snapshot, ++ cairo_surface_func_t detach_func); ++ ++cairo_public void ++cairo_surface_detach_snapshot (cairo_surface_t *snapshot); ++ + #define CAIRO_MIME_TYPE_JPEG "image/jpeg" + #define CAIRO_MIME_TYPE_PNG "image/png" + #define CAIRO_MIME_TYPE_JP2 "image/jp2" +@@ -2690,6 +2707,11 @@ + cairo_public cairo_raster_source_finish_func_t + cairo_raster_source_pattern_get_finish (cairo_pattern_t *pattern); + ++/* Null-surface functions */ ++ ++cairo_public cairo_surface_t * ++cairo_null_surface_create (cairo_content_t content); ++ + /* Pattern creation functions */ + + cairo_public cairo_pattern_t * +--- cairo.orig/src/cairo-image-source.c 2012-04-29 11:04:27.000000000 +0200 ++++ cairo/src/cairo-image-source.c 2012-10-07 20:22:22.408783503 +0200 +@@ -670,7 +670,7 @@ + _cairo_surface_init (&proxy->base, &proxy_backend, NULL, image->content); + + proxy->image = image; +- _cairo_surface_attach_snapshot (source, &proxy->base, NULL); ++ cairo_surface_attach_snapshot (source, &proxy->base, NULL); + + return &proxy->base; + } +--- cairo.orig/src/cairoint.h 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/cairoint.h 2012-10-07 20:22:22.409783519 +0200 +@@ -1382,17 +1382,9 @@ + cairo_private cairo_surface_t * + _cairo_surface_snapshot (cairo_surface_t *surface); + +-cairo_private void +-_cairo_surface_attach_snapshot (cairo_surface_t *surface, +- cairo_surface_t *snapshot, +- cairo_surface_func_t detach_func); +- + cairo_private cairo_surface_t * + _cairo_surface_has_snapshot (cairo_surface_t *surface, +- const cairo_surface_backend_t *backend); +- +-cairo_private void +-_cairo_surface_detach_snapshot (cairo_surface_t *snapshot); ++ const cairo_surface_backend_t *backend); + + cairo_private cairo_status_t + _cairo_surface_begin_modification (cairo_surface_t *surface); +--- cairo.orig/src/cairo-recording-surface.c 2012-10-05 15:06:00.000000000 +0200 ++++ cairo/src/cairo-recording-surface.c 2012-10-07 20:22:22.410783534 +0200 +@@ -553,7 +553,7 @@ + _cairo_surface_init (&proxy->base, &proxy_backend, NULL, image->content); + + proxy->image = image; +- _cairo_surface_attach_snapshot (source, &proxy->base, NULL); ++ cairo_surface_attach_snapshot (source, &proxy->base, NULL); + + return &proxy->base; + } +@@ -1944,7 +1944,7 @@ + cairo_surface_t *analysis_surface; + cairo_status_t status; + +- null_surface = _cairo_null_surface_create (surface->base.content); ++ null_surface = cairo_null_surface_create (surface->base.content); + analysis_surface = _cairo_analysis_surface_create (null_surface); + cairo_surface_destroy (null_surface); + +--- cairo.orig/src/cairo-script-surface.c 2012-04-29 11:04:27.000000000 +0200 ++++ cairo/src/cairo-script-surface.c 2012-10-07 20:22:22.410783534 +0200 +@@ -1117,7 +1117,7 @@ + "dup /s%d exch def ", + surface->base.unique_id); + +- _cairo_surface_attach_snapshot (source, &surface->base, detach_snapshot); ++ cairo_surface_attach_snapshot (source, &surface->base, detach_snapshot); + cairo_surface_destroy (&surface->base); + } + +--- cairo.orig/src/cairo-surface.c 2012-09-27 22:38:56.000000000 +0200 ++++ cairo/src/cairo-surface.c 2012-10-07 20:25:31.030695973 +0200 +@@ -330,14 +330,14 @@ + _cairo_surface_detach_snapshots (cairo_surface_t *surface) + { + while (_cairo_surface_has_snapshots (surface)) { +- _cairo_surface_detach_snapshot (cairo_list_first_entry (&surface->snapshots, ++ cairo_surface_detach_snapshot (cairo_list_first_entry (&surface->snapshots, + cairo_surface_t, + snapshot)); + } + } + + void +-_cairo_surface_detach_snapshot (cairo_surface_t *snapshot) ++cairo_surface_detach_snapshot (cairo_surface_t *snapshot) + { + assert (snapshot->snapshot_of != NULL); + +@@ -351,7 +351,7 @@ + } + + void +-_cairo_surface_attach_snapshot (cairo_surface_t *surface, ++cairo_surface_attach_snapshot (cairo_surface_t *surface, + cairo_surface_t *snapshot, + cairo_surface_func_t detach_func) + { +@@ -361,7 +361,7 @@ + cairo_surface_reference (snapshot); + + if (snapshot->snapshot_of != NULL) +- _cairo_surface_detach_snapshot (snapshot); ++ cairo_surface_detach_snapshot (snapshot); + + snapshot->snapshot_of = surface; + snapshot->snapshot_detach = detach_func; +@@ -1461,7 +1461,7 @@ + /* update the current snapshots *before* the user updates the surface */ + _cairo_surface_detach_snapshots (surface); + if (surface->snapshot_of != NULL) +- _cairo_surface_detach_snapshot (surface); ++ cairo_surface_detach_snapshot (surface); + _cairo_surface_detach_mime_data (surface); + + return __cairo_surface_flush (surface, flags); +--- cairo.orig/src/cairo-surface-private.h 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/cairo-surface-private.h 2012-10-07 20:22:22.412783564 +0200 +@@ -46,8 +46,6 @@ + #include "cairo-clip-private.h" + #include "cairo-surface-backend-private.h" + +-typedef void (*cairo_surface_func_t) (cairo_surface_t *); +- + struct _cairo_surface { + const cairo_surface_backend_t *backend; + cairo_device_t *device; +--- cairo.orig/src/cairo-surface-snapshot.c 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/cairo-surface-snapshot.c 2012-10-07 20:22:22.412783564 +0200 +@@ -281,7 +281,7 @@ + snapshot->base.device_transform = surface->device_transform; + snapshot->base.device_transform_inverse = surface->device_transform_inverse; + +- _cairo_surface_attach_snapshot (surface, ++ cairo_surface_attach_snapshot (surface, + &snapshot->base, + _cairo_surface_snapshot_copy_on_write); + +--- cairo.orig/src/cairo-surface-subsurface.c 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/cairo-surface-subsurface.c 2012-10-07 20:22:22.412783564 +0200 +@@ -562,10 +562,10 @@ + return; + + if (ss->snapshot) +- _cairo_surface_detach_snapshot (ss->snapshot); ++ cairo_surface_detach_snapshot (ss->snapshot); + + ss->snapshot = cairo_surface_reference (snapshot); + +- _cairo_surface_attach_snapshot (ss->target, &ss->base, ++ cairo_surface_attach_snapshot (ss->target, &ss->base, + _cairo_surface_subsurface_detach_snapshot); + } +--- cairo.orig/src/cairo-vg-surface.c 2012-04-19 14:17:58.000000000 +0200 ++++ cairo/src/cairo-vg-surface.c 2012-10-07 20:22:22.413783579 +0200 +@@ -986,7 +986,7 @@ + return status; + } + +- _cairo_surface_attach_snapshot (spat->surface, &clone->base, ++ cairo_surface_attach_snapshot (spat->surface, &clone->base, + _vg_surface_remove_from_cache); + + DONE: +--- cairo.orig/src/cairo-xcb-surface.c 2012-09-27 22:38:56.000000000 +0200 ++++ cairo/src/cairo-xcb-surface.c 2012-10-07 20:22:58.916347305 +0200 +@@ -500,7 +500,7 @@ + if (unlikely (image->status)) + return image->status; + +- _cairo_surface_attach_snapshot (&surface->base, image, NULL); ++ cairo_surface_attach_snapshot (&surface->base, image, NULL); + + DONE: + *image_out = (cairo_image_surface_t *) image; +@@ -748,7 +748,7 @@ + &surface->fallback_damage); + + if (status == CAIRO_STATUS_SUCCESS && ! surface->base._finishing) { +- _cairo_surface_attach_snapshot (&surface->base, ++ cairo_surface_attach_snapshot (&surface->base, + &surface->fallback->base, + cairo_surface_finish); + } +--- cairo.orig/src/cairo-xcb-surface-core.c 2012-02-02 01:48:14.000000000 +0100 ++++ cairo/src/cairo-xcb-surface-core.c 2012-10-07 20:22:22.414783595 +0200 +@@ -440,7 +440,7 @@ + if (unlikely (pixmap->base.status)) + return pixmap; + +- _cairo_surface_attach_snapshot (source, &pixmap->base, NULL); ++ cairo_surface_attach_snapshot (source, &pixmap->base, NULL); + + if (pattern->base.extend != CAIRO_EXTEND_NONE) { + if (extents->x < 0 || extents->y < 0 || +--- cairo.orig/src/cairo-xcb-surface-render.c 2012-09-27 22:38:56.000000000 +0200 ++++ cairo/src/cairo-xcb-surface-render.c 2012-10-07 20:22:22.414783595 +0200 +@@ -1295,7 +1295,7 @@ + return picture; + } + +- _cairo_surface_attach_snapshot (source, ++ cairo_surface_attach_snapshot (source, + &picture->base, + NULL); + +--- cairo.orig/src/drm/cairo-drm-i915-shader.c 2012-02-02 01:48:14.000000000 +0100 ++++ cairo/src/drm/cairo-drm-i915-shader.c 2012-10-07 20:22:22.416783627 +0200 +@@ -1656,7 +1656,7 @@ + image, &s); + + if (likely (status == CAIRO_STATUS_SUCCESS)) { +- _cairo_surface_attach_snapshot (surface, ++ cairo_surface_attach_snapshot (surface, + &s->intel.drm.base, + intel_surface_detach_snapshot); + +--- cairo.orig/src/drm/cairo-drm-i965-shader.c 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/drm/cairo-drm-i965-shader.c 2012-10-07 20:22:22.416783627 +0200 +@@ -281,7 +281,7 @@ + return status; + } + +- _cairo_surface_attach_snapshot (&image->base, ++ cairo_surface_attach_snapshot (&image->base, + &clone->intel.drm.base, + intel_surface_detach_snapshot); + +@@ -567,7 +567,7 @@ + if (bo->purgeable && + ! intel_bo_madvise (&device->intel, bo, I915_MADV_WILLNEED)) + { +- _cairo_surface_detach_snapshot (&s->intel.drm.base); ++ cairo_surface_detach_snapshot (&s->intel.drm.base); + s = NULL; + } + +--- cairo.orig/src/drm/cairo-drm-intel-surface.c 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/drm/cairo-drm-intel-surface.c 2012-10-07 20:22:22.417783642 +0200 +@@ -105,7 +105,7 @@ + if (unlikely (image->status)) + return image->status; + +- _cairo_surface_attach_snapshot (&surface->drm.base, image, surface_finish_and_destroy); ++ cairo_surface_attach_snapshot (&surface->drm.base, image, surface_finish_and_destroy); + + DONE: + *image_out = (cairo_image_surface_t *) cairo_surface_reference (image); +--- cairo.orig/src/drm/cairo-drm-radeon-surface.c 2012-09-13 13:38:21.000000000 +0200 ++++ cairo/src/drm/cairo-drm-radeon-surface.c 2012-10-07 20:22:22.417783642 +0200 +@@ -107,7 +107,7 @@ + if (unlikely (status)) + return status; + +- _cairo_surface_attach_snapshot (&surface->base.base, image, cairo_surface_destroy); ++ cairo_surface_attach_snapshot (&surface->base.base, image, cairo_surface_destroy); + + DONE: + *image_out = (cairo_image_surface_t *) cairo_surface_reference (image); +--- cairo.orig/test/xcb-snapshot-assert.c 2012-05-24 11:15:54.000000000 +0200 ++++ cairo/test/xcb-snapshot-assert.c 2012-10-07 20:22:22.417783642 +0200 +@@ -68,7 +68,7 @@ + } + + CAIRO_TEST (xcb_snapshot_assert, +- "Test a wrong _cairo_surface_attach_snapshot call", ++ "Test a wrong cairo_surface_attach_snapshot call", + "xcb", /* keywords */ + NULL, /* requirements */ + 2, 2, +--- cairo.orig/test/xcb-stress-cache.c 2012-02-02 01:48:15.000000000 +0100 ++++ cairo/test/xcb-stress-cache.c 2012-10-07 20:22:22.417783642 +0200 +@@ -48,7 +48,7 @@ + * already full, so a random cache entry is picked and removed. + * - The surface that was added before is picked and gets fed to + * _surface_cache_entry_destroy. +- * - This calls _cairo_surface_detach_snapshot which causes the ++ * - This calls cairo_surface_detach_snapshot which causes the + * detach_func from above to be called, so the surface is finished and the + * associated picture is FreePicture'd. + * - _composite_mask now uses a Picture that was already freed. diff --git a/libcairo.spec b/libcairo.spec new file mode 100644 index 0000000..b4b7766 --- /dev/null +++ b/libcairo.spec @@ -0,0 +1,415 @@ +%if "%{stage1}" != "1" +%define with_pdf 1 +%define with_glitz 1 +%define with_xcb 1 +%define with_svg 1 +%else +%define with_pdf 1 +%define with_glitz 0 +%define with_xcb 0 +%define with_svg 0 +%endif +%define with_ps 1 + +%define pkgname cairo + +Name: libcairo +Version: 1.12.16 +Release: 3mamba +Summary: Cairo provides anti-aliased vector-based rendering for X +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.cairographics.org +Source: http://cairographics.org/releases/cairo-%{version}.tar.xz +Patch0: libcairo-1.12.4-expose_snapshot.patch +License: LGPL, MPL 1.1 +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libbinutils-devel +BuildRequires: libbzip2-devel +BuildRequires: libEGL-devel +BuildRequires: libexpat-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc +BuildRequires: libGL-devel +BuildRequires: libglib-devel +BuildRequires: liblzo-devel +BuildRequires: libpixman-devel +BuildRequires: libpng-devel +BuildRequires: libpthread-stubs-devel +BuildRequires: libX11-devel +BuildRequires: libXau-devel +%if %{with_xcb} +BuildRequires: libxcb-devel +%endif +BuildRequires: libXdmcp-devel +BuildRequires: libXext-devel +BuildRequires: libXrender-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: pkgconfig +%if %{with_ps} +BuildRequires: libspectre-devel +%endif +%if %{with_pdf} +BuildRequires: libpoppler-devel +%endif +%if %{with_svg} +BuildRequires: librsvg-devel +%endif +Provides: %{pkgname} = %{?epoch:%epoch:}%{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root +#checking for GLITZ_AGL... no +#no +#checking for GLITZ_EGL... no +#no +#checking for GLITZ_GLX... yes +#checking for GLITZ_WGL... no + +#cairo (version 1.10.2 [release]) will be compiled with: + +#The following surface backends: +# Image: yes (always builtin) +# Recording: yes (always builtin) +# Tee: yes +# XML: no (disabled, use --enable-xml to enable) +# Skia: no (disabled, use --enable-skia to enable) +# Xlib: yes +# Xlib Xrender: yes +# Qt: no (disabled, use --enable-qt to enable) +# Quartz: no (requires CoreGraphics framework) +# Quartz-image: no (disabled, use --enable-quartz-image to enable) +# XCB: yes +# Win32: no (requires a Win32 platform) +# OS2: no (disabled, use --enable-os2 to enable) +# CairoScript: no (disabled, use --enable-script to enable) +# PostScript: yes +# PDF: yes +# SVG: yes +# OpenGL: no (disabled, use --enable-gl to enable) +# BeOS: no (disabled, use --enable-beos to enable) +# DirectFB: no (disabled, use --enable-directfb to enable) +# OpenVG: no (disabled, use --enable-vg to enable) +# DRM: no (disabled, use --enable-drm to enable) + +#The following font backends: +# User: yes (always builtin) +# FreeType: yes +# Fontconfig: yes +# Win32: no (requires a Win32 platform) +# Quartz: no (requires CoreGraphics framework) + +#The following functions: +# PNG functions: yes +# GLEW functions: no (not required by any backend) +# GLX functions: no (not required by any backend) +# WGL functions: no (not required by any backend) +# EGL functions: no (not required by any backend) +# X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable) +# XCB-drm functions: no (disabled, use --enable-xcb-drm to enable) +# XCB-shm functions: yes +# DRM-Xr functions: no (disabled, use --enable-drm-xr to enable) + +#The following features and utilities: +# cairo-trace: yes +# cairo-script-interpreter: yes + +#And the following internal features: +# pthread: yes +# gtk-doc: yes +# gcov support: no +# symbol-lookup: yes +# test surfaces: no (disabled, use --enable-test-surfaces to enable) +# ps testing: yes +# pdf testing: yes +# svg testing: yes + +#--- The tee surface backend feature is still under active development and is +#--- included in this release only as a preview. It does NOT fully work yet +#--- and incompatible changes may yet be made to tee surface backend specific +#--- API. + +%description +Cairo is a 2D graphics library with support for multiple output devices. +Currently supported output targets include the X Window System, win32, and image buffers. +Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. +Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). + +%package devel +Summary: Static libraries and headers for %{name} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: libpixman-devel +Provides: %{pkgname}-devel = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +Cairo is a 2D graphics library with support for multiple output devices. +Currently supported output targets include the X Window System, win32, and image buffers. +Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. +Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). + +This package contains static libraries and header files need for development. + +%package apidocs +Summary: API documentation for %{name} +Group: Documentation +Requires: gtk-doc + +%description apidocs +Cairo is a 2D graphics library with support for multiple output devices. +Currently supported output targets include the X Window System, win32, and image buffers. +Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. +Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). + +This package contains the API documentation need for development. + +%package tools +Summary: Development tools for %{name} +Group: System/Tools +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description tools +Cairo is a 2D graphics library with support for multiple output devices. +Currently supported output targets include the X Window System, win32, and image buffers. +Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. +Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). + +This package contains development tools for %{name}. + +%prep +%setup -q -n %{pkgname}-%{version} +%patch0 -p1 + +%build +%configure \ + --disable-static \ + --enable-shared \ + --enable-gtk-doc \ +%if %{with_pdf} + --enable-pdf \ +%else + --disable-pdf \ +%endif +%if %{with_ps} + --enable-ps \ +%else + --disable-ps \ +%endif +%if %{with_glitz} + --enable-glitz \ +%else + --disable-glitz \ +%endif +%if %{with_xcb} + --enable-xcb \ +%else + --disable-xcb \ +%endif + --enable-xlib \ + --enable-svg \ + --enable-tee \ + --enable-gobject \ + --enable-gl \ + --enable-glx \ + --enable-egl \ + --enable-ft \ + --enable-fc \ + --enable-xcb-shm=yes + +# --enable-drm + +%make -j1 + +#make check +# --enable-static \ + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +rm -f %{buildroot}%{_libdir}/*.la + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +/sbin/ldconfig +sed -i "s|%{_libdir}/libcairo.la||g" %{_libdir}/*.la +sed -i "s|%{_libdir}/libcairo-gobject.la||g" %{_libdir}/*.la +: + +%postun -p /sbin/ldconfig + +%files +%defattr(-, root, root) +%{_bindir}/cairo-sphinx +%{_libdir}/%{name}.so.* +%{_libdir}/libcairo-gobject.so.* +%{_libdir}/libcairo-script-interpreter.so.* +%dir %{_libdir}/cairo +%{_libdir}/cairo/cairo-fdr.la +%{_libdir}/cairo/cairo-fdr.so +%{_libdir}/cairo/cairo-fdr.so.* +%{_libdir}/cairo/cairo-sphinx.la +%{_libdir}/cairo/cairo-sphinx.so +%{_libdir}/cairo/cairo-sphinx.so.* +%doc AUTHORS COPYING* + +%files devel +%defattr(-, root, root) +%dir %{_includedir}/%{pkgname} +%{_includedir}/%{pkgname}/*.h +%{_libdir}/%{name}.so +%{_libdir}/libcairo-gobject.so +%{_libdir}/libcairo-script-interpreter.so +%{_libdir}/pkgconfig/%{pkgname}*.pc +%doc ChangeLog NEWS README + +%files tools +%defattr(-, root, root) +%{_bindir}/cairo-trace +%{_libdir}/cairo/libcairo-trace.la +%{_libdir}/cairo/libcairo-trace.so +%{_libdir}/cairo/libcairo-trace.so.* + +%files apidocs +%defattr(-,root,root) +%{_datadir}/gtk-doc/html/%{pkgname} + +%changelog +* Sun Feb 16 2014 Silvan Calarco 1.12.16-3mamba +- rebuilt with --enable-xcb-shm=yes to ensure support is enabled event when build in chroot environment + +* Fri Dec 13 2013 Silvan Calarco 1.12.16-2mamba +- rebuilt with binutils 2.24 + +* Wed Aug 28 2013 Automatic Build System 1.12.16-1mamba +- automatic version update by autodist + +* Wed Mar 27 2013 Silvan Calarco 1.12.14-2mamba +- binutils 2.32.2 rebuild + +* Mon Feb 11 2013 Automatic Build System 1.12.14-1mamba +- automatic version update by autodist + +* Thu Jan 31 2013 Automatic Build System 1.12.12-1mamba +- automatic version update by autodist + +* Sat Jan 26 2013 Silvan Calarco 1.12.10-2mamba +- enable freetype and fontconfig backends +- make sure egl and glx are enabled + +* Mon Jan 21 2013 Automatic Build System 1.12.10-1mamba +- automatic version update by autodist + +* Mon Nov 19 2012 Automatic Build System 1.12.8-2mamba +- binutils 2.23.1 mass rebuild + +* Sun Nov 04 2012 Automatic Build System 1.12.8-1mamba +- automatic version update by autodist + +* Wed Oct 31 2012 Automatic Build System 1.12.6-1mamba +- automatic version update by autodist + +* Sat Oct 13 2012 Automatic Build System 1.12.4-1mamba +- automatic version update by autodist +- source edit (next release): added a patch to export mozilla required functions + +* Fri Aug 24 2012 Silvan Calarco 1.12.2-2mamba +- also cleanup libcario-gobject.la from *.la files + +* Sun Aug 19 2012 Silvan Calarco 1.12.2-1mamba +- update to 1.12.2 + +* Wed Nov 30 2011 Automatic Build System 1.10.2-6mamba +- automatic update by autodist + +* Mon Nov 28 2011 Automatic Build System 1.10.2-5mamba +- automatic update by autodist + +* Tue Oct 04 2011 Silvan Calarco 1.10.2-4mamba +- move ChangeLog and other docs to devel package + +* Tue Jul 19 2011 Automatic Build System 1.10.2-3mamba +- automatic update by autodist + +* Fri Feb 18 2011 Silvan Calarco 1.10.2-2mamba +- enabled svg support and drm and gl backends + +* Wed Jan 26 2011 gil 1.10.2-1mamba +- update to 1.10.2 +- add enable-tee require by mozilla packages + +* Sun Dec 26 2010 Automatic Build System 1.10.0-2mamba +- automatic update by autodist + +* Mon Oct 25 2010 Silvan Calarco 1.10.0-1mamba +- update to 1.10.0 + +* Fri Jul 02 2010 Silvan Calarco 1.8.10-3mamba +- rebuilt with libpng 1.4 + +* Sat Jun 26 2010 Silvan Calarco 1.8.10-2mamba +- rebuilt to add pkgconfig provides + +* Mon Feb 22 2010 Automatic Build System 1.8.10-1mamba +- automatic update by autodist + +* Wed Jun 24 2009 Automatic Build System 1.8.8-1mamba +- automatic update by autodist + +* Wed May 20 2009 Automatic Build System 1.8.6-2mamba +- automatic rebuild by autodist + +* Sat Feb 28 2009 Silvan Calarco 1.8.6-1mamba +- automatic update by autodist + +* Mon Dec 01 2008 gil 1.8.4-1mamba +- update to 1.8.4 + +* Fri Nov 14 2008 Silvan Calarco 1.6.4-2mamba +- added requirements to libcairo-devel + +* Mon May 05 2008 Silvan Calarco 1.6.4-1mamba +- update to 1.6.4 + +* Sat Jun 30 2007 Stefano Cotta Ramusino 1.4.10-1mamba +- update to 1.4.10 +- enabled XCB surface backend + +* Tue Apr 10 2007 Tiziano Pratellesi 1.4.0-1mamba +- update to version 1.4.0 + +* Fri Jan 05 2007 Davide Madrisan 1.2.6-2qilnx +- new subpackage apidocs with API documentation + +* Thu Jan 04 2007 Davide Madrisan 1.2.6-1qilnx +- update to version 1.2.6 by autospec +- own %{_includedir}/cairo +- dropped patch against CVE-2006-0528 (merged upstream) +- updated Xorg build requirements +- enabled ps and pdf surface backends + +* Wed Mar 22 2006 Davide Madrisan 1.0.2-2qilnx +- security update for CVE-2006-0528 + +* Thu Oct 20 2005 Silvan Calarco 1.0.2-1qilnx +- update to version 1.0.2 by autospec + +* Thu Sep 01 2005 Davide Madrisan 1.0.0-1qilnx +- update to version 1.0.0 by autospec + +* Tue Jun 28 2005 Davide Madrisan 0.5.1-3qilnx +- added missing %%post, %%postun scriptlets +- added basic documentation +- moved gtk documentation to the devel poackage +- fixed license and group + +* Wed Jun 22 2005 Alessandro Ramazzina 0.5.1-2qilnx +- rebuild and moved from devel-contrib repository to devel repository + +* Wed Jun 22 2005 Matteo Bernasconi - 0.5.1-1qilnx +- first build