Subject: CVS commit: pkgsrc/graphics/cairo
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 06/08/2007 07:20:53
Module Name:	pkgsrc
Committed By:	wiz
Date:		Fri Jun  8 07:20:53 UTC 2007

Modified Files:
	pkgsrc/graphics/cairo: Makefile PLIST distinfo
	pkgsrc/graphics/cairo/patches: patch-aa patch-ab patch-ae
Removed Files:
	pkgsrc/graphics/cairo/patches: patch-ac

Log Message:
Update to 1.4.6:

Release 1.4.6 (2007-05-01 Carl Worth <cworth@cworth.org>)
=========================================================
This is the third update in cairo's stable 1.4 series. It comes a
little less than three weeks since the 1.4.4 release. This release
fixes the broken mutex initialization that made cairo 1.4.4 unusable
on win32, OS/2, and BeOS systems. This release also adds significant
improvements to cairo's PDF backend, (native gradients!), and a couple
of performance optimizations, (one of which is very significant for
users of the xlib backend).

Release 1.4.4 (2007-04-13 Carl Worth <cworth@cworth.org>)
=========================================================
This is the second update release in cairo's stable 1.4 series. It
comes just less than a month after 1.4.2. The changes since 1.4.2
consist primarily of bug fixes, but also include at least one
optimization. See below for details.

There have been lots of individuals doing lots of great work on cairo,
but two efforts during the 1.4.4 series deserve particular mention:

Internal cleanup of error handling, (Chris Wilson)
--------------------------------------------------
Chris contributed a tremendous series of patches (74 patches!) to
improve cairo's handling of out-of-memory and other errors. He began
by adding gcc's warn_unused_attribute to as many functions as
possible, and then launched into the ambitious efforts of adding
correct code to quiet the dozens of resulting warnings.

Chris also wrote a custom valgrind skin to systematically inject
malloc failures into cairo, and did all the work necessary to verify
that cairo's performance test suite runs to completion without
crashing.

The end result is a much more robust implementation. Previously, many
error conditions would have gone unnoticed and would have led to
assertion failures, segmentation faults, or other harder-to-diagnose
problems. Now, more than ever, cairo should cleanly let the user know
of problems through cairo_status and other similar status
functions. Well done, Chris!

More malloc reduction, (Mathias Hasselmann)
-------------------------------------------
After 1.4.0, Behdad launched an effort to chase down excessive calls
to malloc within the implementation of cairo. He fixed a lot of
malloc-happy objects for 1.4.2, but one of the worst offenders,
(pixman regions), was left around. Mathias contributed an excellent
series of 15 patches to finish off this effort.

The end result is a cairo that calls malloc much less often than it
did before. Compared to 1.4.2, 55% of the calls to malloc have been
eliminate, (and 60% have been eliminated compared to 1.4.0). Well
done, Mathias!


To generate a diff of this commit:
cvs rdiff -r1.54 -r1.55 pkgsrc/graphics/cairo/Makefile
cvs rdiff -r1.15 -r1.16 pkgsrc/graphics/cairo/PLIST
cvs rdiff -r1.33 -r1.34 pkgsrc/graphics/cairo/distinfo
cvs rdiff -r1.9 -r1.10 pkgsrc/graphics/cairo/patches/patch-aa
cvs rdiff -r1.6 -r1.7 pkgsrc/graphics/cairo/patches/patch-ab \
    pkgsrc/graphics/cairo/patches/patch-ae
cvs rdiff -r1.6 -r0 pkgsrc/graphics/cairo/patches/patch-ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.