Subject: CVS commit: pkgsrc/graphics/cairo
From: Thomas Klausner
Date: 2023-11-14 14:48:19
Message id: 20231114134819.BA96FFA3D@cvs.NetBSD.org

Log Message:
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 eye… a 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

Files:
RevisionActionfile
1.156modifypkgsrc/graphics/cairo/Makefile
1.43modifypkgsrc/graphics/cairo/PLIST
1.65modifypkgsrc/graphics/cairo/buildlink3.mk
1.98modifypkgsrc/graphics/cairo/distinfo
1.24modifypkgsrc/graphics/cairo/options.mk
1.1addpkgsrc/graphics/cairo/patches/patch-meson.build
1.1addpkgsrc/graphics/cairo/patches/patch-test_pdf-structure.c
1.1addpkgsrc/graphics/cairo/patches/patch-util_cairo-missing_getline.c
1.1addpkgsrc/graphics/cairo/patches/patch-util_meson.build
1.17removepkgsrc/graphics/cairo/Makefile.common
1.7removepkgsrc/graphics/cairo/hacks.mk
1.16removepkgsrc/graphics/cairo/patches/patch-aa
1.17removepkgsrc/graphics/cairo/patches/patch-ab
1.18removepkgsrc/graphics/cairo/patches/patch-ac
1.11removepkgsrc/graphics/cairo/patches/patch-ad
1.2removepkgsrc/graphics/cairo/patches/patch-boilerplate_cairo-boilerplate.c
1.2removepkgsrc/graphics/cairo/patches/patch-perf_cairo-analyse-trace.c
1.2removepkgsrc/graphics/cairo/patches/patch-perf_cairo-perf-report.c
1.2removepkgsrc/graphics/cairo/patches/patch-perf_cairo-perf-trace.c
1.2removepkgsrc/graphics/cairo/patches/patch-src_cairo-arc.c
1.1removepkgsrc/graphics/cairo/patches/patch-src_cairo-ft-font.c
1.1removepkgsrc/graphics/cairo/patches/patch-src_cairo-image-compositor.c
1.1removepkgsrc/graphics/cairo/patches/patch-src_cairo-quartz-image-surface.c
1.1removepkgsrc/graphics/cairo/patches/patch-src_cairo-quartz-surface.c
1.2removepkgsrc/graphics/cairo/patches/patch-src_cairo-type1-subset.c
1.2removepkgsrc/graphics/cairo/patches/patch-util_cairo-trace_trace.c