.gear-rules | 2 + .../07d39eb5666223a8b458e7a5d656201e920590cd | 13 ++ .../47df9ae46c3531b6acdcb44d663f12fd13ae22fa | 13 ++ .../dc7f11d2c7efee3155e5e5e857740c963073787e | 13 ++ .gear-tags/list | 3 + libcairo.spec | 169 ++++++++++++++++++++ src/Makefile.am | 3 + src/cairo-glitz-stub.c | 14 ++ src/cairo-surface.c | 7 + src/libcairo.map | 75 +++++++++ test/Makefile.am | 1 + 11 files changed, 313 insertions(+), 0 deletions(-) diff --git a/.gear-rules b/.gear-rules new file mode 100644 index 0000000..6c98f0d --- /dev/null +++ b/.gear-rules @@ -0,0 +1,2 @@ +tar: @version@:. name=cairo-@version@ +diff: @version@:. . name=cairo-@version@-@release@.patch diff --git a/.gear-tags/07d39eb5666223a8b458e7a5d656201e920590cd b/.gear-tags/07d39eb5666223a8b458e7a5d656201e920590cd new file mode 100644 index 0000000..18d5685 --- /dev/null +++ b/.gear-tags/07d39eb5666223a8b458e7a5d656201e920590cd @@ -0,0 +1,13 @@ +object 442fa9a106b01f17699397dcc95298071a50fd6d +type commit +tag 1.4.12 +tagger Carl Worth 1196145954 -0800 + +cairo 1.4.12 release +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQBHS70q6JDdNq8qSWgRAqOeAJwO4rI1k6rnIp5JrSFw8y0LD5GZjQCggKRx +IgTSQWizKkB6qwBzPsFh4ow= +=2sEy +-----END PGP SIGNATURE----- diff --git a/.gear-tags/47df9ae46c3531b6acdcb44d663f12fd13ae22fa b/.gear-tags/47df9ae46c3531b6acdcb44d663f12fd13ae22fa new file mode 100644 index 0000000..c7ff42f --- /dev/null +++ b/.gear-tags/47df9ae46c3531b6acdcb44d663f12fd13ae22fa @@ -0,0 +1,13 @@ +object 107a74885a25e585b467c7841c6929a12aa62565 +type commit +tag 1.4.10 +tagger Carl Worth 1182980248 -0700 + +cairo 1.4.10 release +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQBGgtij6JDdNq8qSWgRAkQdAJ9my06g9mZqivv5BwCb0K8nPCnw4QCfXfV9 +MzHsMzA3Ulwl7AIju60Jnqs= +=Yqfk +-----END PGP SIGNATURE----- diff --git a/.gear-tags/dc7f11d2c7efee3155e5e5e857740c963073787e b/.gear-tags/dc7f11d2c7efee3155e5e5e857740c963073787e new file mode 100644 index 0000000..6270c27 --- /dev/null +++ b/.gear-tags/dc7f11d2c7efee3155e5e5e857740c963073787e @@ -0,0 +1,13 @@ +object bdd93f5e8eb5726315cca396240afe7a084348ae +type commit +tag 1.4.14 +tagger Carl Worth 1200357557 -0800 + +cairo 1.4.14 release +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQBHjAES6JDdNq8qSWgRAsUgAJ9WuJGYwEwZHulDhWtta/svPQyazgCZARFd +aHEuQtCBtRx9S07hTXn6sdo= +=PAiZ +-----END PGP SIGNATURE----- diff --git a/.gear-tags/list b/.gear-tags/list new file mode 100644 index 0000000..4046dbb --- /dev/null +++ b/.gear-tags/list @@ -0,0 +1,3 @@ +47df9ae46c3531b6acdcb44d663f12fd13ae22fa 1.4.10 +07d39eb5666223a8b458e7a5d656201e920590cd 1.4.12 +dc7f11d2c7efee3155e5e5e857740c963073787e 1.4.14 diff --git a/libcairo.spec b/libcairo.spec new file mode 100644 index 0000000..c8126d6 --- /dev/null +++ b/libcairo.spec @@ -0,0 +1,169 @@ +Name: libcairo +Version: 1.4.14 +Release: alt0.M40.1 +Epoch: 1 + +Summary: Multi-platform 2D graphics library +License: LGPL +Group: System/Libraries +URL: http://cairographics.org/ + +Source: cairo-%version.tar +Patch: cairo-%version-%release.patch + +Provides: cairo = %version-%release +Obsoletes: cairo <= %version + +# Automatically added by buildreq on Mon Jan 21 2008 +BuildRequires: fontconfig-devel gtk-doc imake libXrender-devel libdirectfb-devel libfreetype-devel libglitz-devel libpng-devel xorg-cf-files + +%description +Cairo is a vector graphics library with cross-device output support. + +%package devel +Summary: Headers for developing programs that will use cairo +Group: Development/C +Requires: %name = %version-%release +Provides: cairo-devel = %version-%release +Obsoletes: cairo-devel <= %version + +%description devel +Cairo is a vector graphics library with cross-device output support. +This package contains the headers that programmers will need to develop +applications which will use cairo library. + +%prep +%setup -q -n cairo-%version +%patch -p1 + +%build +touch ChangeLog +autoreconf -isv +export lt_prog_compiler_static_works=no +%configure \ + --enable-xlib \ + --enable-directfb \ + --enable-glitz \ + --enable-ps \ + --enable-pdf \ + --enable-gtk-doc \ + # +%make_build +make -C doc/public doc + +%ifndef __buildreqs +make -C test check || grep -c PASS test/*.log +%endif + +%install +%makeinstall + +%post -p %post_ldconfig +%postun -p %postun_ldconfig + +%files +%doc AUTHORS NEWS README +%_libdir/*.so.* + +%files devel +%_includedir/* +%_libdir/*.so +%_pkgconfigdir/*.pc +%doc %_datadir/gtk-doc/html/cairo/ + +%changelog +* Mon Jan 21 2008 Alexey Tourbin 1:1.4.14-alt0.M40.1 +- rebuild for branch-4.0 + +* Mon Jan 21 2008 Alexey Tourbin 1:1.4.14-alt1 +- 1.4.12-9-g1ea07fd -> 1.4.14 + +* Thu Dec 27 2007 Alexey Tourbin 1:1.4.12-alt1 +- 1.4.10 -> 1.4.12-9-g1ea07fd (fixes CVE-2007-5503) +- build with libglitz (requested by Alexey Gladkov) + +* Sun Jul 22 2007 Alexey Tourbin 1:1.4.10-alt1 +- rebased from 1.2 to 1.4 branch +- changed src.rpm packaging to keep upstream tarball + +* Tue Nov 14 2006 Alexey Tourbin 1:1.2.6-alt1 +- 1.2.4-ga5f068e -> 1.2.6 release + +* Sat Sep 30 2006 Alexey Tourbin 1:1.2.5-alt0.1 +- this is the first build from git repository, which I cloned from + git://git.cairographics.org/git/cairo; I started off with 1.2.4 release + and applied all my changes to the source tree (this is master branch); + then I merged in the changes from current 1.2 brnach (1.2.4-ga5f068e) + and changed rpm package version according to the changes +- enabled test suite +- added CAIRO_DIRECTFB ABI for cairo_directfb_surface_create() + +* Thu Sep 07 2006 Alexey Tourbin 1:1.2.4-alt2 +- enabled directfb backend + +* Mon Aug 21 2006 Alexey Tourbin 1:1.2.4-alt1 +- 1.2.2 -> 1.2.4 +- no longer provides/obsoletes libpixman + +* Thu Aug 10 2006 Alexey Tourbin 1:1.2.2-alt1 +- 1.2.0 -> 1.2.2 +- renamed CAIRO_1.2.0 ABI to CAIRO_1.2 + +* Wed Aug 02 2006 Alexey Tourbin 1:1.2.0-alt3 +- upstream fix for size-zero glyphs (#9830) + +* Mon Jul 10 2006 Alexey Tourbin 1:1.2.0-alt2 +- fixed set_dpi.patch + +* Sun Jul 02 2006 Alexey Tourbin 1:1.2.0-alt1 +- 1.0.4 -> 1.2.0 +- restored cairo_ps_surface_set_dpi() and cairo_pdf_surface_set_dpi() + as aliases to cairo_surface_set_fallback_resolution() to preserve + binary compatibility with libcairomm etc. +- introduced CAIRO_1.2.0 ABI +- packaged gtk-doc files + +* Mon Apr 24 2006 Alexey Tourbin 1:1.0.4-alt2 +- urgency=high (for 1:1.0.4-alt1): use --enable-pdf and --enable-ps + again to preserve ABI; also provide cairo_glitz_surface_create() stub +- restricted the list of symbols exported by the library + +* Mon Apr 17 2006 Valery Inozemtsev 1:1.0.4-alt1 +- 1.0.4 + +* Mon Feb 20 2006 Valery Inozemtsev 1.1.1-alt0.1 +- CVS snapshot 20060213 + +* Thu Feb 02 2006 ALT QA Team Robot 1.0.2-alt3.1 +- Rebuilt for new pkg-config dependencies. + +* Thu Jan 19 2006 Dmitry V. Levin 1.0.2-alt3 +- Backported upstream fix for text relocations. + +* Tue Jan 10 2006 Valery Inozemtsev 1.0.2-alt2 +- added verify_elf_method textrel=relaxed + +* Tue Oct 04 2005 Valery Inozemtsev 1.0.2-alt1 +- 1.0.2 + +* Fri Aug 26 2005 Valery Inozemtsev 1.0.0-alt1 +- 1.0.0 + +* Wed Aug 10 2005 Valery Inozemtsev 0.9.0-alt1 +- 0.9.0 + +* Sat Jul 23 2005 Valery Inozemtsev 0.5.2-alt1 +- 0.5.2 + +* Fri May 13 2005 Kachalov Anton 0.4.0-alt1 +- 0.4.0 + +* Sat Feb 26 2005 Valery Inozemtsev 0.3.0-alt1 +- 0.3.0 + +* Wed Aug 25 2004 Kachalov Anton 0.1.23-alt2 +- added missed requires to libglitz-devel + +* Thu Jul 08 2004 Kachalov Anton 0.1.23-alt1 +- first build for Sisyphus + diff --git a/src/Makefile.am b/src/Makefile.am index f8d21b7..00b068a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -110,6 +110,8 @@ if CAIRO_HAS_GLITZ_SURFACE libcairo_glitz_headers = cairo-glitz.h libcairo_glitz_sources = cairo-glitz-surface.c cairo-glitz-private.h backend_pkgconfigs += cairo-glitz.pc +else +libcairo_glitz_sources = cairo-glitz-stub.c endif if CAIRO_HAS_DIRECTFB_SURFACE @@ -252,6 +254,7 @@ libcairo_la_SOURCES = \ $(libcairo_directfb_sources) \ cairoint.h +export_symbols = -Wl,--version-script=libcairo.map libcairo_la_LDFLAGS = -version-info @VERSION_INFO@ -no-undefined $(export_symbols) INCLUDES = -I$(srcdir) -I$(top_srcdir)/pixman/src $(CAIRO_CFLAGS) diff --git a/src/cairo-glitz-stub.c b/src/cairo-glitz-stub.c new file mode 100644 index 0000000..0bd7a70 --- /dev/null +++ b/src/cairo-glitz-stub.c @@ -0,0 +1,14 @@ +/* + * I don't want glitz, but some binary code assumes cairo_glitz_surface_create is here. + * So I need to provide a stub. -- Alexey Tourbin, Mon Apr 24 2006 + */ + +#include "cairoint.h" +typedef struct _glitz_surface glitz_surface_t; + +cairo_surface_t * __attribute__((weak)) +cairo_glitz_surface_create (glitz_surface_t *surface) +{ + (void) surface; + return (cairo_surface_t*) &_cairo_surface_nil; +} diff --git a/src/cairo-surface.c b/src/cairo-surface.c index 0d31d04..17193d3 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -871,6 +871,13 @@ cairo_surface_set_fallback_resolution (cairo_surface_t *surface, } slim_hidden_def (cairo_surface_set_fallback_resolution); +cairo_public void +cairo_ps_surface_set_dpi(cairo_surface_t*, double, double) + __attribute__((weak, alias("cairo_surface_set_fallback_resolution"))); +cairo_public void +cairo_pdf_surface_set_dpi(cairo_surface_t*, double, double) + __attribute__((weak, alias("cairo_surface_set_fallback_resolution"))); + cairo_bool_t _cairo_surface_has_device_transform (cairo_surface_t *surface) { diff --git a/src/libcairo.map b/src/libcairo.map new file mode 100644 index 0000000..c748d6e --- /dev/null +++ b/src/libcairo.map @@ -0,0 +1,75 @@ +CAIRO_1.2 { + global: + cairo_font_face_get_type; + cairo_get_group_target; + cairo_image_surface_get_data; + cairo_image_surface_get_format; + cairo_image_surface_get_stride; + cairo_new_sub_path; + cairo_pattern_get_type; + cairo_pdf_surface_set_size; + cairo_pop_group; + cairo_pop_group_to_source; + cairo_ps_surface_dsc_begin_page_setup; + cairo_ps_surface_dsc_begin_setup; + cairo_ps_surface_dsc_comment; + cairo_ps_surface_set_size; + cairo_push_group; + cairo_push_group_with_content; + cairo_scaled_font_get_ctm; + cairo_scaled_font_get_font_face; + cairo_scaled_font_get_font_matrix; + cairo_scaled_font_get_font_options; + cairo_scaled_font_get_type; + cairo_scaled_font_text_extents; + cairo_set_scaled_font; + cairo_surface_get_content; + cairo_surface_get_device_offset; + cairo_surface_get_type; + cairo_surface_set_fallback_resolution; + cairo_svg_get_versions; + cairo_svg_surface_create; + cairo_svg_surface_create_for_stream; + cairo_svg_surface_restrict_to_version; + cairo_svg_version_to_string; + cairo_xlib_surface_get_depth; + cairo_xlib_surface_get_display; + cairo_xlib_surface_get_drawable; + cairo_xlib_surface_get_height; + cairo_xlib_surface_get_screen; + cairo_xlib_surface_get_visual; + cairo_xlib_surface_get_width; + local: + [^c]*; +}; + +CAIRO_DIRECTFB { + global: + cairo_directfb_surface_create; +}; + +CAIRO_1.4 { + cairo_clip_extents; + cairo_copy_clip_rectangle_list; + cairo_font_face_get_reference_count; + cairo_get_dash; + cairo_get_dash_count; + cairo_get_reference_count; + cairo_get_scaled_font; + cairo_get_user_data; + cairo_pattern_get_color_stop_count; + cairo_pattern_get_color_stop_rgba; + cairo_pattern_get_linear_points; + cairo_pattern_get_radial_circles; + cairo_pattern_get_reference_count; + cairo_pattern_get_rgba; + cairo_pattern_get_surface; + cairo_pattern_get_user_data; + cairo_pattern_set_user_data; + cairo_rectangle_list_destroy; + cairo_scaled_font_get_reference_count; + cairo_scaled_font_get_user_data; + cairo_scaled_font_set_user_data; + cairo_set_user_data; + cairo_surface_get_reference_count; +}; diff --git a/test/Makefile.am b/test/Makefile.am index 5f6ce5c..13ca2c4 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -491,6 +491,7 @@ libcairotest_la_LIBADD =\ $(CAIRO_LDADD) LDADD = $(CAIRO_LDADD) libcairotest.la +AM_LDFLAGS = -static $(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la