./graphics/cairo-gobject, Vector graphics library with cross-device output support

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.14.12nb1, Package name: cairo-gobject-1.14.12nb1, Maintainer: pkgsrc-users

Cairo is a 2D graphics library with support for multiple output devices.
Currently supported output targets include the X Window System, Quartz, Win32,
image buffers, PostScript, PDF, and SVG file output. Experimental backends
include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB.

Cairo is designed to produce consistent output on all output media while taking
advantage of display hardware acceleration when available (eg. through the X
Render Extension).

The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo including stroking and filling cubic
Bezier splines, transforming and compositing translucent images, and
antialiased text rendering. All drawing operations can be transformed by any
affine transformation (scale, rotation, shear, etc.)

Cairo is implemented as a library written in the C programming language, but
bindings are available for several different programming languages.

Required to run:
[graphics/cairo] [devel/glib2]

Required to build:
[pkgtools/x11-links] [x11/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers] [x11/xorgproto]

Master sites:

SHA1: 490025a0ba0622a853010f49fb6343f29fb70b9b
RMD160: 7c2868a64b146bf5663b7586f59f865cc8c2bf31
Filesize: 35402.242 KB

Version history: (Expand)

CVS history: (Expand)

   2018-03-12 12:18:01 by Thomas Klausner | Files touched by this commit (2155)
Log message:
Recursive bumps for fontconfig and libzip dependency changes.
   2016-04-11 06:59:11 by Darrin B. Jewell | Files touched by this commit (1)
Log message:
match x11 and xcb options to cairo package
   2015-11-06 12:15:52 by Thomas Klausner | Files touched by this commit (5) | Package updated
Log message:
Update cairo* to 1.14.4:

Release 1.14.4    (2015-10-28  Bryce Harrington <bryce@osg.samsung.com>)
Just in time for Halloween we see another bug-fix release for Cairo.
This brings a few dozen straightforward bug fixes with no API changes.

In addition, this includes a typical assortment of fixes to tests,
cleanup of warnings and memory leaks, correction of misspellings,
updates to documentation, etc.

For a complete log of changes since 1.14.2, please see:



API Changes

Dependency Changes

Performance Optimizations

Bug Fixes
* Avoid appending empty slots to user data arrays.  Fixes a memory
  consumption regression since commit 9341c254a.

* Return a better error (file-not-found) when setting up pango on
  devices where the font files don't have read permissions.

* Fix regression in the font size of canvas text in Inkscape when
  compiled with the Quartz backend.  (Bug #84324)

* Fix _cairo_gl_shader_bind_matrix() to maintain compatibility with
  OpenGL ES 2.0.  Manually transpose the matrix.

* Fix incorrect font descriptor conversion when the font matrix yy is
  negative. (Bug #90538)

* Fix crash when using a complex path for clip and stroke due to
  discarding the intersection exactly at the top edge.
  (Bug #74779)

* Fix cairo_get_locale_decimal_point() on Android

* Fix compilation problem on AIX due to conflicting usage of symbol
  'jmpbuf'.  (Bug #89339)

* Fix broken rendering with XCB due to snapshotting of uploaded part of
  surfaces.  (Bug #67505)

* Fix loss of alpha when copying a mask for a cairo recording surface,
  resulting in a double copy.  (Bugs #73038, #73901)

* Fix incorrect recording of certain paths with script surfaces.
  (Bug #91054)

* Fix typo in definition of MAYBE_WARN in configure script.
  (Bug #89750)

* Fix use of filename variable after it's been freed.
  (Bug #91206)

* Fix out of bounds access when printing pattern.
  (Bug #91266)

* Fix incorrect size calculation in glyph cache unlocking for Cairo GL
  (Bug #91321)

* Fix memory leak in _cairo_gl_pattern_texture_setup()
  (Bug #91537)

* Fix transparent images in win32-print.
  (Bug #91835)

* Fix _put_shm_image_boxes and _put_image_boxes when no SHM available
  with XCB.
   2015-04-25 16:23:48 by Tobias Nygren | Files touched by this commit (868) | Package updated
Log message:
Recursive revbump following MesaLib update, categories g through n.
   2014-10-22 11:55:36 by Thomas Klausner | Files touched by this commit (5) | Package updated
Log message:
Update cairo to 1.14.0:

Release 1.14.0 (2014-10-13 Bryce Harrington <bryce@osg.samsung.com>)
Hard to believe it's been over a year since our last release, but it's
not for lack of activity.  This release includes contributions of a wide
assortment of bug fixes, build system improvements, warnings cleanups,
codebase refactoring, test suite repairs, and static analysis work.

This release is lighter on features (compared with 1.12.10) but includes
a highly demanded rehaul of our image downscaling functionality, which
solves a serious problem experienced by Inkscape users when shrinking
embedded bitmaps in SVG files.  The new scaling algorithms are used by
the image backend and by other backends as needed for fallbacks.


  Filtering improvements for the image backend, in particular
  down-scaling of images produces filtered images that depend on all the
  pixels of the source. When using the image backend you get the
  following settings:

  CAIRO_FILTER_GOOD: uses a box filter for scales less than .75 in
    either direction. For scales larger than this, the same filter as

  CAIRO_FILTER_BEST: uses a Catmull-Rom filter always. When upscaling
    more than 2x this will produce anti-aliased square pixels, similar
    to OS/X.

    pixman is the same as BILINEAR. (This is subject to change in the

  xlib and xcb also use the image fallback for GOOD/BEST filters, but
  note that other backends do not implement these filtering fixes yet,
  however other actions may cause them to use an image fallback which
  will cause these filters to be used.

  Improve handling of device transformation and scaling, allowing Cairo
  to now support scaling at a device level, permitting easier, more
  transparent HiDPI support.

  Support JBIG2 mime data in PDF.  This allows embedding of more
  compressed JPEG formats within PDF, rather than including the full
  uncompressed image.  Also, reduce the number of transparency groups
  used by PDF to keep the file size small and viewing/printing of the
  PDF fast.

  Expand the embedding section to include stencil mask support.

  Reorder font declarations to be in natural order.

  Update the Skia backend to build against current Skia (as of June

  Drop Link-Time Optimization (LTO) support from build system.  This
  seems to have caused much trouble for unclear benefit, and most
  distros are reverting or disabling it anyway.

  Optimize VBO size on GL to 1M and to 16k for EGL.  This improves
  (theoretical) performance for desktop GLX use cases while avoiding
  hitting VBO memory size limitations on embedded devices.

API Changes

  cairo_surface_set_device_scale, cairo_surface_get_device_scale:

    Sets a scale that is multiplied to the device coordinates
    determined by the CTM when drawing to @surface. One common use for
    this is to render to very high resolution display devices at a scale
    factor, so that code that assumes 1 pixel will be a certain size
    will still work.

  cairo_egl_device_get_display, cairo_egl_device_get_context:

    Support get/set of EGLContext and EGLDisplay for egl-based cairo
    devices, similar to GLX.

Dependency Changes

  Cairo now requires glib 2.14 for its gobject helper functions,
  and pixman 0.30 for downscaling.

Bug fixes

  Don't embed CMYK Jpeg images in svg.

  Fix tests to place output in proper location.

  Fix determination of alpha for all surfaces when recording.

  Extend oversize check to cairo_gl_surface_create_for_texture, so an
  error surface is returned if the texture is too large to render to.

  Fix embedding of mime data in PDF and PS files.

  Remove useless error handling in *_reply() functions in XCB.

  Fix a double-free exposed by multithreaded apps creating and
  destroying the same font concurrently.

  Fix corrupt stacks produced by bugs in operand emission for trace.

  Fix out of bounds array access in format cache for xlib

  Don't rename glyphs used by seac operator.  This can cause certain
  combined characters to use their decorations (e.g. umlauts on ö) to be
  lost during printing of PDFs using evince.

  Fix crash on calling cairo_create with a finished surface

  Fix SSIZE_T definition problem when making with MSYS on Windows7

  Fix one off issue in gl context cleanup


  Fix rectangle stroke with non rectilinear pen

  Fix imagemask with pattern source failure on some printers.  This bug
  could cause files converted using pdftops to fail for example on Ricoh
  printers, or opening in Adobe Distiller on Windows.

  Fix whitespace in font names

  Fix page size in generated PDFs.  When printing using pdftocairo on
  larger page sizes, such as 11x17, the image would be cropped to letter

  Fix path-currentpoint test by preserving current-point in
  copy_path()/append_path() sequence

  Fix generation of HTML in code docs for
  cairo-format-stride-for-width.  Raw HTML code was being passed
  to the browser, instead of displaying normally.

  Fix spelling of "tessellator" throughout code.  We're using the
  American rather than British spelling of this word.

  Fix crash in pixman_image_composite32

  Fix crash when trying to modify a (const) all-clipped cairo_clip_t

  Add check_composite method to all compositors, to fix crashes in the
  test suite.

  Fix crash in Firefox when scrolling on certain pages.

  Fix memory leaks found by static analysis.

  Fix build of any2ppm if fork is not available.

  Fix broken build for Qt backend, due to missing libstdc++.

  Fix typo in two cairo_uint128 functions.  Fixes potential build issues
  on systems without a uint128 type.

  Fix build when --enable-pdf=no

  Fix cache_frozen assertions for Win32 print.

  Correctly check for xcb image surface for inplace upload

  Fix webkit-based web browser crashes due to empty boxes by skipping
  over them when tesselating.

  Make pixman, libpng, and zlib paths commandline configurable for win32

  Fix image scale on Win32 when GDI scale is not identity.

  Fix float endian configure test when using clang -O4

  Fix compilation with Android bionic libc

  Don't try to build util/sphinx on Windows

  Fix loss of precision when emitting joins.  This was caused by
  discrepancies in line gradients when passing trapezoids around.

  Fix loss of precision and associated rendering issues in
  cairo-tor-scan-converter from projection onto sample grid.

  Fix pixman oversampling of neighbouring edges within a cell by
  eliminating self-intersections for the pixman traps compositor.

  Fix multi-line string splitting in PDFs

  Various cleanups and fixes to warnings, documentation, tests, and
  build system.  Improve error handling and return value checks.
  Cleanup XFAIL tests and reference images.  Cover recently added
   2014-05-05 02:48:38 by Ryo ONODERA | Files touched by this commit (1155)
Log message:
Recursive revbump from x11/pixman
Fix PR pkg/48777
   2013-09-02 21:51:33 by Adam Ciarcinski | Files touched by this commit (1071) | Package updated
Log message:
Revbump after cairo update
   2013-09-01 00:19:32 by Adam Ciarcinski | Files touched by this commit (10)
Log message:
Changes 1.12.16:
Bug fixes
* Set the correct orientation for simple boxes with a negative scale factor.
* Fix the creation of the shading dictionary in PDF.
* Fix a crash in PDF when incorporating an image with CAIRO_EXTEND_PAD.
* Avoid upscaling bitmap fonts if possible.
* Fix an assertion failure within the mempool allocator for shared memory.
* Fix allocation size for CFF subsets.
* Export cairo_matrix_t for GObject bindings.
* Fix a double free in the Quartz backend.
* Fix origin of GDI StretchBlits for the Windows backend
* Fix error propagation for requests to create a similar surface with
  negative size.
* Fix complex clipping of trapezoids with regions
* Stop leaking the image data when loading PNGs
* Fix unbounded operations with a clip mask through the span compositor
* Add missing checks before rendering to a finished surface - so we return
  an error rather than hit an assert.
* Prevent an assertion failure when creating similar GL surfaces larger
  than supported by hardware.
* Prevent a double free of a similar image under Windows.