The NetBSD Project

CVS log for pkgsrc/graphics/cairo/options.mk

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / graphics / cairo

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.27 / (download) - annotate - [select for diffs], Sun Apr 7 07:31:19 2024 UTC (10 days, 20 hours ago) by wiz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.26: +7 -2 lines
Diff to previous 1.26 (colored) to selected 1.2 (colored)

cairo: make lzo optional, keep it default-on

Bump PKGREVISION.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Nov 26 18:45:03 2023 UTC (4 months, 3 weeks ago) by schmonz
Branch: MAIN
CVS Tags: pkgsrc-2024Q1-base, pkgsrc-2024Q1, pkgsrc-2023Q4-base, pkgsrc-2023Q4
Changes since 1.25: +12 -13 lines
Diff to previous 1.25 (colored) to selected 1.2 (colored)

cairo: just always install cairo-ft. Bump PKGREVISION.

Depend on freetype and fontconfig even if no options are selected, and
take care to explicitly enable or disable meson options. Should fix
pango build error seen on NetBSD sans X11:

    meson.build:429:4: ERROR: Problem encountered: No Cairo font backends found

Build-tested (and `otool -L`-inspected) on macOS with each of 'quartz',
'x11', 'xcb', 'x11 xcb', and no options selected.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Nov 15 15:11:39 2023 UTC (5 months ago) by tnn
Branch: MAIN
Changes since 1.24: +13 -5 lines
Diff to previous 1.24 (colored) to selected 1.2 (colored)

cairo: compile in the fontconfig and freetype2 backends even when using quartz

print/poppler does not compile if they are missing.
May well we be poppler problem but this fix is easier and behaves like
the package did before the update (cairo-ft.h shipped even with quartz)

Revision 1.24 / (download) - annotate - [select for diffs], Tue Nov 14 13:48:19 2023 UTC (5 months ago) by wiz
Branch: MAIN
Changes since 1.23: +8 -23 lines
Diff to previous 1.23 (colored) to selected 1.2 (colored)

cairo: update to 1.18.0.

Merge cairo-gobject into this, per discussion on tech-pkg.

Release 1.18.0 (2023-09-20 Emmanuele Bassi <ebassi@gnome.org>)
==============================================================

The first stable cairo release in five years should be cause for celebration.

All the API added in the 1.17 development cycle is now considered stable, and
will not change.

Many thanks to all the contributors for this release.

The cairo-sphinx tool has been removed; we could not find any instruction on
how to use it, and no user answered our call for help. If you were using
cairo-sphinx, please reach out to the cairo maintainers.

Cairo now implements Type 3 color fonts for PDF. Thanks to Adrian Johnson for
his work on this feature.

Khaled Hosny contributed multiple documentation fixes, to ensure that the
cairo API reference is up to date. Khaled also fixed multiple compiler
warnings generated when building cairo.

The XML surface has been removed; it was disabled by default when building
cairo, and we could not find any downstream distributor that would enable
it.

The Tee surface is now automatically enabled. Downstream distributors of
cairo have been enabling for years it in order to build Firefox.

Fujii Hironori and Adrian Johnson fixed multiple issues with the DWrite
font backend.

John Ralls improved the Quartz surface; mainly, Quartz surfaces now use
the main display ColorSpace, speeding up rendering operations.

Cairo now hides all private symbols by default on every platform; the old
"slim" symbols hack to alias internally used symbols has been dropped, in
favor of using `-Bsymbolic-functions` with toolchains that support it.

Uli Schlachter fixed multiple memory leaks in the code base and test suite,
and helped with many reviews and general maintenance.

Marc Jeanmougin added new API to expose the Pixman dithering filter to cairo
patterns; this is currently implemented only for image surfaces.

Release 1.17.8 (2023-01-30 Emmanuele Bassi <ebassi@gnome.org>)
==============================================================

A new cairo snapshot! And it only took less than one year, this time!

Many thanks to everyone who contributed to cairo, and especially
to (in no particular order):

- Adrian Johnson
- Khaled Hosny
- Behdad Esfahbod
- Matthias Clasen
- Uli Schlachter
- Manuel Stoeckl
- Fujii Hironori
- Tim-Philipp Müller
- Luca Bacci
- Caolán McNamara
- John Ralls

In a continuing effort to reduce the amount of legacy code, and increase
the long-term maintainability of cairo, the following backends have been
removed:

- GL and GLES drawing

Additionally, cairo's Autotools build system has been removed; from now on,
cairo will only support the Meson build system. While the end result should
be identical, further testing is appreciated.

In this snapshot, cairo gained support for rendering COLRv1 fonts, and
rendering SVG and COLRv1 fonts with custom palettes.

Support for macOS and Windows has been improved, with lots of build and bug
fixes.

Lots of safety issues have been fixed, with array bounds checking and
plugging memory leaks, as well as fixes for bugs identified via fuzzying.

This is going to be the last snapshot of the 1.17 development cycle; we only
expect minor bug fixing and improvements until the 1.18.0 release.

Release 1.17.6 (2022-03-18 Emmanuele Bassi <ebassi@gnome.org>)
==============================================================

I spy with my little eyea cairo snapshot!

First of all, many, many thanks to everyone who contributed to cairo
during this development cycle. A special thank you goes to:

- Adrian Johnson
- Uli Schlachter

for their tireless efforts in ensuring that the lights are still on
in the cairo project.

This snapshot sees the removal of the following backends and platform
support:

- Qt4
- BeOS
- OS/2
- DirectFB
- DRM
- Cogl
- OpenVG

Thanks to all past contributors for their work on them. If you were using
any of these backends then you will need to stick to cairo 1.16.

To offset the removal of the backends above, Adrian Johnson landed the
DWrite font rendering backend on Windows.

There have been multiple improvements in the Quartz backend, courtesy of
John Ralls.

Tim-Philipp Müller has kept the Meson build in top shape.

This snapshot is going to be the **last** release of cairo with the
Autotools build system. The Meson build has seen many improvements and
it is considerably easier to maintain and faster to build.

Release 1.17.4 (2020-11-27 Bryce Harrington <bryce@bryceharrington.org>)
========================================================================

Thank you to the many people who have contributed the large number of
bug fixes and refinements since 1.17.2.

A particularly noteworthy improvement in this release is the addition of
the meson build system as an alternative to autotools.  Autotools is
still used for producing the releases, so will be the default in the
tarball and presumably will still be preferred by distro packagers of
Cairo.  It should be possible to build the release tarball using meson,
but as this is new functionality consider it still a work in progress.
The meson configuration has striven to track the autotools
implementation but be aware there may still be some differences between
the two.

Continuous Integration configurations have been added that enable
testing on a variety of platforms including Fedora, Windows MSVC, etc.
This work has helped in identifying updates and fixes including
adjusting to changes in API calls in dependencies like rsvg and
fontconfig, and to fix platform-specific build issues.

The cogl Cairo backend underwent significant development this cycle.
Cogl provides GPU accelerated drawing support.  The development work
includes implementation of core functionality, performance
optimizations, and stabilization.

Subpixel positioning support allows improved glyph outlines with the
FreeType font backend.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.17.4

[On a personal note, this will be my last release for Cairo.  My Cairo
time availability has been non-existent (particularly this crazy past
year).  The release process is well documented and hopefully will help
whomever picks up the baton from here.]


Release 1.17.2 (2019-01-31 Bryce Harrington <bryce@bryceharrington.org>)
========================================================================
This snapshot provides the new support for writing floating point
formats as 16 bpc PNGs, with support for RGBA128F and RGB96F formats.
This new feature increases Cairo's pixman version requirement to 0.36.0.

Beyond this are a range of bugfixes and some work on establishing CI for
Cairo.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.17.2

API Changes
-----------
None

Dependency Changes
------------------
pixman 0.36.0

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Fri Oct 7 18:47:59 2022 UTC (18 months, 1 week ago) by bsiegert
Branch: pkgsrc-2022Q3
Changes since 1.22: +2 -3 lines
Diff to previous 1.22 (colored) next main 1.23 (colored) to selected 1.2 (colored)

Pullup ticket #6683 - requested by wiz
graphics/cairo-gobject: macOS build fix

Revisions pulled up:
- graphics/cairo-gobject/Makefile                               1.41
- graphics/cairo/buildlink3.mk                                  1.62
- graphics/cairo/options.mk                                     1.23

---
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Tue Oct  4 07:13:52 UTC 2022

   Modified Files:
   	pkgsrc/graphics/cairo: options.mk

   Log Message:
   cairo: turn off xcb on macOS too by default

   since it implies x11

---
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Tue Oct  4 07:14:11 UTC 2022

   Modified Files:
   	pkgsrc/graphics/cairo: buildlink3.mk

   Log Message:
   cairo: make buildlink3 logic for xcb match options.mk

---
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Tue Oct  4 07:34:07 UTC 2022

   Modified Files:
   	pkgsrc/graphics/cairo-gobject: Makefile

   Log Message:
   cairo-gobject: fix some pkglint

Revision 1.23 / (download) - annotate - [select for diffs], Tue Oct 4 07:13:52 2022 UTC (18 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.22: +2 -3 lines
Diff to previous 1.22 (colored) to selected 1.2 (colored)

cairo: turn off xcb on macOS too by default

since it implies x11

Revision 1.22 / (download) - annotate - [select for diffs], Sat Sep 24 07:15:14 2022 UTC (18 months, 3 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base
Branch point for: pkgsrc-2022Q3
Changes since 1.21: +5 -2 lines
Diff to previous 1.21 (colored) to selected 1.2 (colored)

cairo: if quartz is found, prefer it to x11

(cairo-quartz is needed by gtk4)

Revision 1.21 / (download) - annotate - [select for diffs], Tue May 25 09:08:10 2021 UTC (2 years, 10 months ago) by thor
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.20: +2 -11 lines
Diff to previous 1.20 (colored) to selected 1.2 (colored)

graphics/cairo: revert bfd option again, nia disabled that already

Sorry for not noticing that my patch conflicted with the Makefile
change that added --disable-symbol-lookup already. It is a fringe
feature that we really don't need.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Apr 23 16:56:21 2021 UTC (2 years, 11 months ago) by thor
Branch: MAIN
Changes since 1.19: +11 -2 lines
Diff to previous 1.19 (colored) to selected 1.2 (colored)

graphics/cairo: make symbol lookup feature optional, avoiding libbfd

If cairo finds libbfd, it would use it unless symbol lookup was not
requested. This dependency is problematic as the binutils library
does not provide long-term ABI stability. We can live fine without this
feature and reduce the dependency footprint.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Nov 2 22:37:54 2019 UTC (4 years, 5 months ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) to selected 1.2 (colored)

graphics: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Sep 4 13:17:33 2019 UTC (4 years, 7 months ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.17: +1 -4 lines
Diff to previous 1.17 (colored) to selected 1.2 (colored)

cairo: Mesa and libXt don't seem to be needed.

GL support is explicitly disabled unconditionally.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Feb 17 10:05:41 2016 UTC (8 years, 2 months ago) by dbj
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1
Changes since 1.16: +3 -2 lines
Diff to previous 1.16 (colored) to selected 1.2 (colored)

fix --disable-xcb when x11 is not enabled.

Revision 1.16 / (download) - annotate - [select for diffs], Sat May 31 10:16:40 2014 UTC (9 years, 10 months ago) by pho
Branch: MAIN
CVS Tags: pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2
Changes since 1.15: +27 -2 lines
Diff to previous 1.15 (colored) to selected 1.2 (colored)

Resurrect Quartz backend as package option "quartz" which is disabled by default

Revision 1.15 / (download) - annotate - [select for diffs], Sat Aug 31 22:19:32 2013 UTC (10 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3
Changes since 1.14: +4 -8 lines
Diff to previous 1.14 (colored) to selected 1.2 (colored)

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.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Aug 18 10:15:36 2013 UTC (10 years, 8 months ago) by spz
Branch: MAIN
Changes since 1.13: +3 -1 lines
Diff to previous 1.13 (colored) to selected 1.2 (colored)

make 'no xcb' stick

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jun 5 08:13:56 2013 UTC (10 years, 10 months ago) by tron
Branch: MAIN
CVS Tags: pkgsrc-2013Q2-base, pkgsrc-2013Q2
Changes since 1.12: +1 -2 lines
Diff to previous 1.12 (colored) to selected 1.2 (colored)

Remove dependence on "Xft2" package. "cairo" doesn't use this library.
Bump the package revision because of this change.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 1 08:54:46 2012 UTC (11 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.11: +4 -2 lines
Diff to previous 1.11 (colored) to selected 1.2 (colored)

Bring back previous patch in correct version to fix SHM part of
build on NetBSD-5 with native Xorg.

Additionally, disable GL support since NetBSD-5's MesaLib is too old and,
according to upstream, cairo-gl "is only really being experimented
with currently by toy applications".

Bump PKGREVISION.

Tested by Andreas Gustafsson and David Brownlee.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Oct 20 00:55:06 2012 UTC (11 years, 6 months ago) by wiz
Branch: MAIN
Changes since 1.10: +0 -2 lines
Diff to previous 1.10 (colored) to selected 1.2 (colored)

Second try at updating to 1.12.4 with an additional patch from
Chris Wilson (upstream).

Fixes problems on NetBSD and OS X.

Bump PKGREVISION compared to last 1.12.4 version.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Oct 10 13:29:25 2012 UTC (11 years, 6 months ago) by drochner
Branch: MAIN
Changes since 1.9: +3 -1 lines
Diff to previous 1.9 (colored) to selected 1.2 (colored)

explicitly disable xcb if the option is deselected

Revision 1.9 / (download) - annotate - [select for diffs], Tue Oct 2 12:09:40 2012 UTC (11 years, 6 months ago) by tron
Branch: MAIN
Changes since 1.8: +1 -2 lines
Diff to previous 1.8 (colored) to selected 1.2 (colored)

Increase the minium required version of the "x11/libxcb" package to 1.6.
There are at least two packages ("graphics/cairo" and "x11/xlsclients")
which require this. And we definitely want to avoid the situation where
both the based and "pkgsrc" version get used at the same time.

Bump all the packages which use the "x11/libxcb" package except the two
which already require version 1.6. For those package remove the manually
set minimum required version.

Change discussed with Thomas Klausner in private e-mail.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Oct 2 07:39:30 2012 UTC (11 years, 6 months ago) by tron
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored) to selected 1.2 (colored)

The "cairo" package needs at least version 1.6 of the "libxcb" library.
Set the minimum version accordingly. The package now uses "libxcb" from
"pkgsrc" under Mac OS X Snow Leopard which fixes the build.

Bump package revision because of the dependence change.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Sep 7 15:24:03 2012 UTC (11 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3
Changes since 1.6: +11 -7 lines
Diff to previous 1.6 (colored) to selected 1.2 (colored)

Changes 1.12.2:
After such a long gestation period for the release of Cairo 1.12, we
inevitably accumulated a few bugs that were flushed out by broadening the
test base. Thanks to everybody who tried the release, apologies to any one
unfortunate enough to encounter a bug and many thanks for reporting it.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Oct 13 00:11:21 2010 UTC (13 years, 6 months ago) by spz
Branch: MAIN
CVS Tags: pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) to selected 1.2 (colored)

make the package heed option -x11 again. If you don't specify that, the
package stays the same -> no revision bump.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Sep 13 12:23:01 2010 UTC (13 years, 7 months ago) by wiz
Branch: MAIN
Changes since 1.4: +13 -6 lines
Diff to previous 1.4 (colored) to selected 1.2 (colored)

Update to 1.10.0. Add default-on xcb option (implying x11 option).

Release 1.10.0 (2010-09-06 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
The cairo community is astounded (and flabbergast) to finally announce
the 1.10.0 release of the cairo graphics library. This is a major update
to cairo, with new features and enhanced functionality which maintains
compatibility for applications written using any previous major cairo
release, (1.8, 1.6, 1.4, 1.2, or 1.0). We recommend that anybody using
a previous version of cairo upgrade to cairo 1.10.0.

One of the more interesting departures for cairo for this release is the
inclusion of a tracing utility, cairo-trace. cairo-trace generates a
human-readable, replayable, compact representation of the sequences of
drawing commands made by an application. This can be used to inspecting
applications to understand issues and as a means for profiling
real-world usage of cairo.

The traces generated by cairo-trace have been collected in

  git://git.cairographics.org/git/cairo-traces

and have driven the performance tuning of cairo over the last couple of
years. In particular, the image backend is much faster with a new
polygon rasterisation and a complete overhaul of the tessellator. Not
only is this faster, but also eliminates visual artifacts from
self-intersecting strokes. Not only has cairo-trace been driving
performance improvements within cairo, but as a repeatable means of
driving complex graphics it has been used to tune OpenGL, DDX, and
pixman.

Cairo's API has been extended to better support printing, notably
through the ability to include a single compressed representation of an
image for patterns used throughout a document, leading to dramatic file
size reductions. Also the meta-surface used to record the vector
commands compromising a drawing sequence is now exposed as a
CAIRO_SURFACE_TYPE_RECORDING, along with a new surface that is a child of a
larger surface, CAIRO_SURFACE_TYPE_SUBSURFACE. One typical usage of a
subsurface would be as a source glyph in a texture atlas, or as a
restricted subwindow within a canvas.

Cairo's API has also resurrected the RGB16 format from the past as
the prevalence of 16-bit framebuffers has not diminished and is a
fore-taste of the extended format support we anticipate in the future.
Increasing cairo's utility, we introduce the cairo_region_t for handling
sets of pixel aligned rectangles commonly used in graphics applications.
This is a merger of the GdkRegion and the pixman_region_t, hopefully
providing the utility of the former with the speed of the latter.

Furthermore cairo has been reworked to interoperate more closely with
various acceleration architectures, gaining the ability to share
those hardware resources through the new cairo_device_t. For instance,
with the new OpenGL backend that supersedes the Glitz backend, hardware
and rendering operations can be shared between a classic OpenGL
application mixing libVA for the hardware assisted video decode with
cairo for high quality overlays all within the same OpenGL canvas.

Many thanks for the hard work of Adrian Johnson, Andrea Canciani, Behdad
Esfahbod, Benjamin Otte, Carl Worth, Carlos Garcia Campos, Chris Wilson,
Eric Anholt, Jeff Muizelaar, Karl Tomlinson, M Joonas Pihlaja, Søren
Sandmann Pedersen and many others that have contributed over the last
couple of years to cairo. Thank you all!

Snapshot 1.9.14 (2010-07-26)
============================

  A quiet couple of weeks, hopefully Cairo is seeing widescale deployment and
  we are being to see the results of the stabilisation effort. Clipping bugs
  seems to have been the order of the last couple of weeks, with a couple
  reported and duly fixed. Thank you Igor Nikitin and Karl Tomlinsion for
  finding those regressions. At this point all that seems to remain to do is
  to fix the outstanding regressions in the PDF backend...

Bugs fixes
----------

    Clip doesn't work for text on the image backend
    https://bugs.freedesktop.org/show_bug.cgi?id=29008

    Add explicit dependency for cxx
    https://bugs.freedesktop.org/show_bug.cgi?id=29114

    Fix regressions in reporting clip extents
    https://bugs.freedesktop.org/show_bug.cgi?id=29120
    https://bugs.freedesktop.org/show_bug.cgi?id=29121
    https://bugs.freedesktop.org/show_bug.cgi?id=29122
    https://bugs.freedesktop.org/show_bug.cgi?id=29124
    https://bugs.freedesktop.org/show_bug.cgi?id=29125


Snapshot 1.9.12 (2010-07-12)
============================

  A couple of weeks spent fixing those annoying bugs and cleaning up the build
  system; the list of outstanding tasks to complete for the stable release is
  finally shrinking. The chief bug fixer has been Benjamin Otte who not only
  made sure that the public API is consistent and being tested for its
  consistency, but also ensured that the documentation was up-to-date and
  spent time clarifying cases where even the Cairo developers have come
  unstuck in the past. Many thanks, Benjamin. However, he was not alone,
  as Andrea Canciani continued his fine work in isolating broken corner cases
  and proceeding to fix them, and tidying up the quartz backend. And last, but
  definitely not least, M Joonas Pihlaja tried building Cairo across a
  perverse range of systems and fixed up all the loose bits of code that came
  unravelled. Thanks everybody!

API Changes
-----------

  cairo_surface_set_mime_data, cairo_surface_get_mime_data:

    The length parameter is now an unsigned long (as opposed to an unsigned
    int). The parameter is intended to be an equivalent to a size_t without
    requiring POSIX types and be large enough to store the size of the
    largest possible allocation.

  cairo_gl_surface_create_for_texture:

    This a new surface constructor for cairo-gl that explicitly enables
    render-to-texture for foreign, i.e. application, textures.

  cairo_region_xor, cairo_region_xor_rectangle

    A couple of utility routines add to the region handling interface for
    the purpose of replacing existing GdkRegion functionality.

Bugs fixes
----------

  https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622

    Inkscape was caught in the act of attempting to modify a finished surface.
    Unfortunately, we had the ordering of our guards and assertions wrong and
    so an ordinary application error was triggering an assert in Cairo. This
    lead Benjamin to add a test case to ensure that the entire public API
    could handle erroneous input and then proceeded to fix a whole slew of
    uncovered bugs.


  https://bugs.freedesktop.org/show_bug.cgi?id=28888

    A regression introduced by the special casing of uploading images to an
    xlib surface in-place which was ignoring the translation applied to the
    image.


Snapshot 1.9.10 (2010-06-26)
============================

   The first "quick" snapshot in the run up to the stable release.  The
   last snapshot was picked up by the bleeding edge distributions and so the
   bug reports have to started to roll in.  The most frequent of these are the
   introduction of rendering errors by applications that modify a surface
   without subsequently calling cairo_surface_mark_dirty(). Make sure the
   application developers are aware of increased reliance on strict use of the
   Cairo API before 1.10 is released!

   The usual slew of bugs reported and we would like to thank Zoxc for
   contributing the WGL interface for cairo-gl, and finding more build
   failures on win32.  And it just wouldn't be a 1.9 snapshot unless
   Benjamin Otte improved the error handling within cairo-gl, as well as
   isolating and fixing some more errors in the test suite. The biggest bug of
   the snapshot turned out to be a major sign extension issue that had lain
   hidden for many years and was suddenly exposed by incorrectly rounding
   rectangles when performing non-antialiased rendering.  Also to the relief
   of many we have included the downstream patch to honour the user's LCD
   filtering preferences for subpixel rendering of fonts.  The interface
   remains private for the time being, whilst the proposed public API is
   finalized.

API changes
-----------
   None.

Snapshot 1.9.8 (2010-06-12)
===========================

   One major API changes since the last snapshot, and a whole slew of bugs
   fixed and inconsistencies eliminated. Far too many bugs fixed to
   individually identify. We need to thank Benjamin Otte for his fantastic
   work on the cairo-gl backend making it faster and more robust, Andrea
   Canciani for finding so many bugs and developing test cases for them, as
   well fixing them. And last but not least we must all thank Adrian Johnson for
   continuing to eliminate bugs and improving the PostScript and PDF backends.

   This snapshot represents almost 4 months of bug fixing, bringing Cairo to
   a point where we consider it almost ready to be a candidate for release.
   There are a few known bugs left to be fixed, being tracked in
   https://bugs.freedesktop.org/show_bug.cgi?id=24384, so please give Cairo a
   whirl and report any regressions. The plan is to release a new snapshot
   every other week leading to a 1.10 release with a target date of
   2010-08-16.

API additions
-------------
  CAIRO_FORMAT_RGB16_565

    16 bit devices still remain popular, and so with great demand,
    CAIRO_FORMAT_RGB16_565 has been restored enabling applications to create
    and use 16 bit images as sources and render targets.

  cairo_surface_create_for_rectangle()

    It is common practice to cut an image up into many smaller pieces and use
    each of those as a source - a technique called texture atlasing.
    cairo_surface_create_for_rectangle() extends Cairo to directly support use
    of these subregions of another cairo_surface_t both as a source and as a
    render target.

  cairo_region_create()
  cairo_region_create_rectangle()
  cairo_region_create_rectangles()
  cairo_region_copy()
  cairo_region_reference()
  cairo_region_destroy()
  cairo_region_equal()
  cairo_region_status()
  cairo_region_get_extents()
  cairo_region_num_rectangles()
  cairo_region_get_rectangle()
  cairo_region_is_empty()
  cairo_region_contains_rectangle()
  cairo_region_contains_point()
  cairo_region_translate()
  cairo_region_subtract()
  cairo_region_subtract_rectangle()
  cairo_region_intersect()
  cairo_region_intersect_rectangle()
  cairo_region_union()
  cairo_region_union_rectangle()

    The Cairo region API was actually added a couple of snapshots ago, but we
    forgot to mention it at the time. A simple API for the handling of
    rectangular pixel-aligned regions by Soeren Sandmann.


Backend-specific improvements
-----------------------------
cairo-gl

  Benjamin Otte made more than 200 commits in which he refactored the cairo-gl
  backend, reducing a lot of code duplication and enabled him to begin working
  on improving performance by reducing state changes and associated overhead.

cairo-xlib

  Access to the underlying connection to the Display is now thread-safe
  enabling cairo-xlib to be used in a multi-threaded application without fear
  of random corruption. Thanks Benjamin Otte!

  cairo-xlib will now attempt to use PolyModeImprecise when compositing
  trapezoids (i.e. a fill or a stroke operation with a non-trivial path) which
  should allow hardware drivers more scope for accelerating the operation at
  the cost of potentially incurring minute rendering errors. The mode can be
  forced back to PolyModePrecise by setting the antialias parameter to
  CAIRO_ANTIALIAS_SUBPIXEL.

cairo-svg

  A notable improvement was contributed by Alexander Shulgin to enable SVG to
  reference external image through the use an extended MIME data type.

Snapshot 1.9.6 (2010-02-19)
===========================
API additions
-------------
    Add cairo_device_t

    The device is a generic method for accessing the underlying interface
    with the native graphics subsystem, typically the X connection or
    perhaps the GL context. By exposing a cairo_device_t on a surface and
    its various methods we enable finer control over interoperability with
    external interactions of the device by applications. The use case in
    mind is, for example, a multi-threaded gstreamer which needs to serialise
    its own direct access to the device along with Cairo's across many
    threads.

    Secondly, the cairo_device_t is a unifying API for the mismash of
    backend specific methods for controlling creation of surfaces with
    explicit devices and a convenient hook for debugging and introspection.

    The principal components of the API are the memory management of:

      cairo_device_reference(),
      cairo_device_finish() and
      cairo_device_destroy();

    along with a pair of routines for serialising interaction:

      cairo_device_acquire() and
      cairo_device_release()

    and a method to flush any outstanding accesses:

      cairo_device_flush().

    The device for a particular surface may be retrieved using:

      cairo_surface_get_device().

    The device returned is owned by the surface.

API changes (to API new in the cairo 1.9.x series)
--------------------------------------------------
  cairo_recording_surface_create()
  cairo_recording_surface_ink_extents()

    These are the replacement names for the functions previously named
    cairo_meta_surface_create and cairo_meta_surface_ink_extents.

  cairo_surface_set_mime_data

    This interface is now changed such that the MIME data will be
    detached if the surface is modified at all. This guarantees that
    the MIME data will not become out of synch due to surface
    modifications, and also means that for the MIME data to be useful,
    it must be set after all modifications to the surface are
    complete.

API removal (of experiment API)
-------------------------------
  The cairo-glitz backend is removed entirely, (in favor of the new
  cairo-gl backend). See below for more on cairo-gl.

Generic fixes
-------------

  Many improvements for drawing of dashed strokes

	Fix incorrect handling of negative offset
	Faster computation of first dash (avoids near-infinite looping)
	Approximate extremely fine dash patterns with appropriate alpha value

  Optimize spans-based renderers for repeated rows, (such as in a rounded rectangle)

Backend-specific improvements
-----------------------------
cairo-drm

  This is a new, direct-rendering backend that supports Intel graphics
  chipsets in the i915 and i965 families. It's still experimental and
  will likely remain that way for a while. It's already got extremely
  good performance on the hardware it supports, so if nothing else
  provides a working proof and performance target for the cairo-gl
  work for Intel graphics.

cairo-gl

  Start using GLSL to accelerate many operations. Many thanks to Eric
  Anholt and T. Zachary Laine for this work. For the first time, we
  have what looks like what will be a very compelling OpenGL-based
  backend for cairo (in terms of both quality and performance).

  See this writeup from Eric for more details on recent progress of
  cairo-gl (which he presented at FOSDEM 2010):

	http://anholt.livejournal.com/42146.html

cairo-image

  The image backend is made dramatically faster (3-5 times faster for
  benchmarks consisting primarily of glyph rendering).

cairo-quartz fixes:

  Many fixes from Robert O'Callahan and Andrea Canciani including:

	Fixed gradient pattern painting
	Improved A8 image handling
	Fixes for "unbounded" and other compositing operators

cairo-pdf fixes:

  Improvements to embedding of JPEG and JPEG2000 data.

cairo-ps fixes:

  Fix printing of rotated user fonts.

Snapshot 1.9.4 (2009-10-15)
===========================
API additions:

  cairo_meta_surface_create()
  cairo_meta_surface_ink_extents()

    Finally exporting the internal meta-surface so that applications
    have a method to record and replay a sequence of drawing commands.

  cairo_in_clip()

    Determines whether a given point is inside the current clip.
    ??? Should this be called cairo_in_paint() instead? in-clip is the test
    that is performed, but in-paint would be similar to in-fill and in-stroke.

New utilities:

  cairo-test-trace

    A companion to cairo-perf-trace, this utility replays a trace against
    multiple targets in parallel and looks for differences in the output,
    and then records any drawing commands that cause a failure.
    Future plans:
      Further minimisation of the fail trace using "delta debugging".
      More control over test/reference targets.

Backend improvements:

  xlib

     Server-side gradients. The theory is that we can offload computation
     of gradients to the GPU and avoid pushing large images over the
     connection. Even if the driver has to fallback and use pixman to render
     a temporary source, it should be able to do so in a more efficient manner
     than Cairo itself. However, cairo-perf suggests otherwise:

     On tiny, Celeron/i915:

      before: firefox-20090601 211.585
       after: firefox-20090601 270.939

     and on tiger, CoreDuo/nvidia:

      before: firefox-20090601 70.143
       after: firefox-20090601 87.326

     In particular, looking at tiny:

     xlib-rgba paint-with-alpha_linear-rgba_over-512   47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%):  2.62x slowdown
     °äËë
     xlib-rgba paint-with-alpha_linear3-rgba_over-512   47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%):  2.62x slowdown
     ãö°äËë


New experimental backends:

   QT

   OpenVG - The initial work was done by yvind Kolås, and made ready for
            inclusion by Pierre Tardy.

   OpenGL - An advanced OpenGL compositor. The aim is to write a integrate
            directed rendering using OpenGL at a high-level into Cairo. In
	    contrast to the previous attempt using Glitz which tried to
	    implement the RENDER protocol on top of OpenGL, using the
	    high-level interface should permit greater flexibility and
	    more offloading onto the GPU.
	    The initial work on the backend was performed by Eric Anholt.

Long standing bugs fixed:

  Self-intersecting strokes.

    A long standing bug where the coverage from overlapping semi-opaque
    strokes (including neighbouring edges) was simply summed in lieu of
    a costly global calculation has been fixed (by performing the costly
    global calculation!) In order to mitigate the extra cost, the
    tessellator has been overhauled and tune, which handles the fallback
    for when we are unable to use the new span rasteriser on the stroke
    (e.g. when using the current RENDER protocol). The large number of
    pixel artefacts that implementing self-intersection elimination
    removes is ample justification for the potential performance
    regression. If you unfortunately do suffer a substantial performance
    regression in your application, please consider obtaining a
    cairo-trace and submitting it to us for analysis and inclusion into
    our performance suite.

Special thanks:

   To the AuroraUX team for providing access to one of their OpenSolaris
   machines for cairo and pixman development.  http://www.auroraux.org/

Snapshot 1.9.2 (2009-06-12)
===========================
API additions:

  cairo_surface_set_mime_data()
  cairo_surface_get_mime_data()

    Should this take unsigned int, unsigned long or size_t for the length
    parameter? (Some datasets may be >4GiB in size.)

    Associate an alternate, compressed, representation for a surface.
    Currently:
     "image/jp2" (JPEG2000) is understood by PDF >= 1.5
     "image/jpeg" is understood by PDF,PS,SVG,win32-printing.
     "image/png" is understood by SVG.

  cairo_pdf_version_t
  cairo_pdf_surface_restrict_to_version()
  cairo_pdf_get_versions()
  cairo_pdf_version_to_string()

    Similar to restrict to version and level found in SVG and PS,
    these limit the features used in the output to comply with the PDF
    specification for that version.

  CAIRO_STATUS_INVALID_SIZE
    Indicates that the request surface size is not supported by the
    backend.  This generally indicates that the request is too large.

  CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED
    Indicates that a required callback for a user-font was not implemented.

  CAIRO_STATUS_LAST_STATUS
    This is a special value to indicate the number of status values enumerated
    at compile time. (This may differ to the number known at run-time.)

  The built-in twin font is now called "@cairo:" and supports a limited set
  of options like "@cairo:mono". Where are these specified?

  cairo_in_fill() now uses HTML Canvas semantics, all edges are inside.

New experimental backends:

   CairoScript

New utility:

  cairo-trace and cairo-perf-trace

    cairo-trace generates a human-readable, replayable, compact(-ish!)
    representation of the sequences of drawing commands made by an
    application.

    Under the util/cairo-script directory is a library to replay traces.

    perf/cairo-perf-trace replays traces against multiple backends
    and makes useful benchmark reports. This is integrated with
    'make perf'. You may collect your own traces or take advantage
    of traces collected by the community:

      git://git.cairographics.org/git/cairo-traces

    (Put this into perf/cairo-traces to run these as part of "make perf".)

    There is additional WIP in building a debugging tool for cairo applications
    based on CairoScript (currently very preliminary, mostly serves to show
    that GtkSourceView is too slow) :

      people.freedesktop.org:~ickle/sphinx

Test suite overhaul:

  The test suite is undergoing an overhaul, primarily to improve its speed
  and utility. (Expect more changes in the near future to improve XFAIL
  handling.)

Optimisations:
  polygon rasterisation! Joonas implemented the Tor polygon scan converter,
  on typical geometry is about 30% faster for the image backend.

  Bovine Polaroids! For those not in on the joke, this is the long
  awaited "copy-on-write snapshot" or "COW snapshot" support. The
  user-visible feature is that including the same image multiple times
  into a PDF file should result in only a single instance of that
  image in the final output. This is unlike previous versions of cairo
  which would generate very large PDF files with multiple copies of
  the same image. Adrian says that the PDF is not quite working as
  well as it should yet, so we hope for futher improvements before
  cairo 1.10.

Bug fixes:

  EXTEND_PAD.

  Better handling of large scale-factors on image patterns.

  Emit /Interpolate for PS,PDF images.

  Global glyph cache - cap on the total number of inactive glyphs,
  should prove fairer for fonts with larger glyph sets.

  Compilation without fontconfig

  Improved handling of low-bitdepth sources (e.g. copying the contents
  of 16-bit xserver windows)

Regressions:

  cairo_traps_extract_region >10x slower. Fix pending.

Still to come:

  Region tracking API (ssp) for damage tracking, hit testing etc
  mime-surface

  An expiremental OpenGL backend?

  Tweaks to tessellator, allocations of patterns, delayed
  initialisation of the xlib backend (reduce the cairo overhead of
  render_bench by ~80%).

Revision 1.4 / (download) - annotate - [select for diffs], Sat Apr 12 22:43:01 2008 UTC (16 years ago) by jlam
Branch: MAIN
CVS Tags: pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2, pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.3: +4 -3 lines
Diff to previous 1.3 (colored) to selected 1.2 (colored)

Convert to use PLIST_VARS instead of manually passing "@comment "
through PLIST_SUBST to the plist module.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Nov 29 22:13:58 2007 UTC (16 years, 4 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2008Q1-base, pkgsrc-2008Q1, pkgsrc-2007Q4-base, pkgsrc-2007Q4
Changes since 1.2: +3 -1 lines
Diff to previous 1.2 (colored)

Update to 1.4.12:

Release 1.4.12 (2007-11-26 Carl Worth <cworth@cworth.org>)
==========================================================
This is the sixth update in cairo's stable 1.4 series. It comes five
months after the 1.4.10 release. This fix includes various bug fixes
originally developed during the 1.5.x development and backported to
1.4.

Some of the most significant bug fixes prevent crashes:

  * Avoid overflow when allocating large buffers (Vladimir Vukicevic)

  * Fix crash with cairo_pattern_set_user_data (Carl Worth)

  * Fix broken locking in cairo-ft error path (Chris Wilson)

  * Avoid crash when cleaning up after Render extension (Carl Worth)

  * Avoid crash for zero-sized bitmap glyph (Chris Wilson)

  * Avoid crash with type-1 fonts and ft and atsui enabled (Brian Ewins)

  * Fix many error-handling cases in the Quartz/ATSUI code (Brian Ewins)

  * Eliminate cairo_stroke crash with scaling near zero (Carl Worth)

Other fixes address rendering problems:

  * Fix PDF linear gradients without stops at 0.0 and 1.0 (Adrian Johnson)

  * Fix PDF CFF subsetting to work with Apple Preview (Adrian Johnson)

  * Report proper errors on out-of-memory on win32 (Vladimir Vukicevic)

  * Fix EXTEND_NONE gradients for cairo-quartz (Brian Ewins)

  * Fix odd-number-of-dashes dashing for cairo-quartz (Brian Ewins)

  * Fix erroneous results from cairo_stroke_extents (Carl Worth)

  * Force non-AA text when bitmap strikes are available (Keith Packard)

  * Fix cairo-atsui font metrics (Richard Hult)

And some avoid raising cairo errors for innocent problems:

  * Avoid drawing shutdown for glyph-not-found in font (Behdad Esfahbod)

  * Don't raise an error for creating an empty path (Chris Wilson)

At least one optimization managed to sneak in:

  * Free glyph surfaces after uploading to X server cache (Behdad Esfahbod)

And there are a few very minor fixes, (such as build fixes).

Revision 1.2 / (download) - annotate - [selected], Mon Nov 6 09:46:41 2006 UTC (17 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2007Q3-base, pkgsrc-2007Q3, pkgsrc-2007Q2-base, pkgsrc-2007Q2, pkgsrc-2007Q1-base, pkgsrc-2007Q1, pkgsrc-2006Q4-base, pkgsrc-2006Q4
Changes since 1.1: +6 -6 lines
Diff to previous 1.1 (colored)

Convert to modular Xorg buildlinks.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jul 23 04:07:34 2006 UTC (17 years, 9 months ago) by minskim
Branch: MAIN
CVS Tags: pkgsrc-2006Q3-base, pkgsrc-2006Q3
Diff to selected 1.2 (colored)

Support the x11 option to enable/disable xlib and xlib-xrender backends.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>