pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/graphics/cairo cairo: Update to 1.16.0.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/4a28696b5cc7
branches:  trunk
changeset: 325316:4a28696b5cc7
user:      kleink <kleink%pkgsrc.org@localhost>
date:      Wed Nov 14 17:14:52 2018 +0000

description:
cairo: Update to 1.16.0.


Release 1.16.0 (2018-10-19 Bryce Harrington <bryce%bryceharrington.org@localhost>)
========================================================================
This new stable release incorporates a number of improvements made in
the four years since 1.14.0.

Of particular note is a wealth of work by Adrian Johnson to enhance PDF
functionality, including restoring support for MacOSX 10.4, metadata,
hyperlinks, and more.

Much attention also went into fonts, including new colored emoji glyph
support, variable fonts, and fixes for various font idiosyncrasies.

Other noteworthy changes include GLESv3 support for the cairo_gl
backend, tracking of SVG units in generated SVG documents, and cleanups
for numerous test failures and related issues in the PDF and Postscript
backends.

For a complete log of changes, please see

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


Features and Enhancements
-------------------------
* Add support for OpenGL ES 3.0 to the gl backend.
* The PDF backend has gained support for a range of widely used
  features, including thumbnails, page labels, metadata, document
  outlines, structured text, hyperlinks, and tags.  Tags permit adding
  logical info such as headings, tables, figures, etc. that facilitates
  indexing, accessibility, text reflow, searching, and extraction of the
  tagged items to other software.  For details on this new PDF
  functionality, see:
    https://lists.cairographics.org/archives/cairo/2016-June/027427.html
* Variable font support.  Variable fonts are single font files with
  various typography characteristics, such as weight or slant, that users
  of the font can adjust between two points.  Effectively this enables a
  single font to behave as multiple fonts.
* Restore MacOSX 10.4 support.  Cairo had dropped 10.4 support when
  moving to the CoreText API.  Now we automatically detect which API to
  use via dynamic linking, so can resume supporting this older version
  of MacOSX.
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.
* Skia backend is removed
* Use Reusable streams for forms in Level 3 Postscript.
* Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
* Add CCITT_FAX mime type for PDF and PS surfaces
* svg: add a new function to specify the SVG document unit
  (Bug #90166)
* Use UTF-8 filenames on Windows


API Changes
-----------
Several new APIs were added.  No existing APIs were altered.

New PDF functionality:

  * cairo_pdf_surface_add_outline
  * cairo_pdf_surface_set_metadata
  * cairo_pdf_surface_set_page_label
  * cairo_pdf_surface_set_thumbnail_size
  * cairo_tag_begin
  * cairo_tag_end
  * CAIRO_STATUS_TAG_ERROR

New error status items for problems relating to PDF tagging:

  * CAIRO_STATUS_WIN32_GDI_ERROR
  * CAIRO_STATUS_FREETYPE_ERROR
  * CAIRO_STATUS_PNG_ERROR

    New error status items for handling of GDI, libfreetype, and libpng
    errors, respectively.


Setting up Win32 surfaces for HDC with alpha channels:

  * cairo_win32_surface_create_with_format

    New API for added PDF functionality (see above), and new error
    status item for problems relating to PDF tagging.

Variable fonts:

  * cairo_font_options_get_variations
  * cairo_font_options_set_variations

Tracking units in SVG documents:

  * cairo_svg_surface_set_document_unit
  * cairo_svg_surface_get_document_unit



Dependency Changes
------------------
None


Performance Optimizations
-------------------------
None


Notable Bug Fixes
-----------------
* Fix thin lines that don't show up when printing in Inkscape due to
  overly aggressive culling.
  (Bug #77298)
* Fix playback of recording surfaces into PDF surfaces, where objects
  with negative coordinates were not getting drawn.  To address this,
  the coordinate systems for PDF and PS have been changed to match
  cairo's coordinate system.  This allows recording surfaces to be
  emitted in cairo coordinates, and results in the same origin being
  used for all operations when using the recording surface XObject.
  Test cases for PDF and PS have also been updated accordingly.
  (Bug #89232)
* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)
* Fix missing glyphs such as thin dashes, which get scaled to 0 in
  userspace and thus have their drawing operations culled.  (Bug #94615)
* Fix other oddities caused by variously idiosyncratic fonts.
* Fix a data race in freed_pool discovered by Firefox's cairo usage.
  The patch adads atomic int load and store functions, with relaxed
  memory ordering.  (Bug #90318)
* Handle SOURCE and CLEAR operators when painting color glyphs.
  (Bug #102661)
* Fix falling back to system font with PDFs using certain embedded
  fonts, due to truncated font names.
  (Bug #103249)
* Prevent curved strokes in small ctms from being culled from vector
  surfaces
  (Bug #103071)
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
  fonts, due to error when destroying glyph page.
  (Bug #103335)
* Prevent invalid ptr access for > 4GB images.
  (Bug #98165)
* pdf: Fix internal links pointing to other pages, by pre-calculating
  page heights so that link positions can be calculated more accurately.
* Fix error reporting in the xcb backend if fallback fails.  Instead of
  returning NULL when the X11 server can't do some operation, return a
  surface in an error state.
* Clarify documentation regarding device scale inheritance and the units
  used in cairo_surface_create_similar_image.
  (Bug #99094)
* Call XSync in the xlib backend before setting the error handler to
  ignore errors for certain requests, to make sure all pending errors
  are handled first.
* Fix regression with text containing space character on Win32.
  (Bug: https://gitlab.freedesktop.org/cairo/cairo/issues/339)

For a more comprehensive listing of fixed bugs, see the release notes for the
individual 1.15.x releases.


Release 1.15.14    (2018-09-19 Bryce Harrington <bryce%bryceharrington.org@localhost>)
============================================================================
We're nearly ready to finalize the 1.16.0 release, so this snapshot
can be considered a beta for 1.16.

The most notable change this release is a performance optimization for
windows, discussed below.  Other than that, much of the development
focus was on final polish and stability as we prepare for 1.16.

Some attention went into getting the testsuite passing at least for the
image backend.  The Cairo testsuite depends on external software like
Pixman, and changes in the rendering behavior of these dependencies
change test behavior, leading to false positives.

Results from the Coverity static testing tool were also reviewed.  Most
of the issues flagged were false positives, but there were several
legitimate problems found and fixed.

For a complete log of changes, please see

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

Features and Enhancements
-------------------------
* Add more FreeeType font color conversions to support COLR/CPAL
* Update test reference images against current pixman

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

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
Vasily Galkin introduced a Win32 performance optimization for
CAIRO_OPERATOR_SOURCE when copying data from a backbuffer to an argb32
surface corresponding to a Win32 DC.  With this, argb32 drawing should
perform as fast as typical dibsection-buffered GDI drawing.  See the
Cairo mailing list for April 2018 for data and discussion of the
performance improvements.


Bug Fixes
---------
* Fix crash when rendering Microsoft's Segoe UI Emoji Regular font.
* Fix build breakage with glesv3 enabled due to non-existant glesv3.pc.
* Fix memory leaks found by Coverity
* Fix incorrect null ptr handling found by Coverity
* Fix test compilation when font-config is disabled
* Use _cairo_malloc instead of malloc (Bug #101547) (CVE-2017-9814)
* Fix assertion failure in the freetype backend (Bug #105746)


Release 1.15.12    (2018-04-04 Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
The main focus for this release is the addition of Variable Font
support.  Variable fonts are single font files with various typography
characteristics, such as weight or slant, that users of the font can
adjust between two points.  Effectively this enables a single font to
behave as multiple fonts.

The Skia backend is disabled in this release, due to severe bitrot, and
will be removed in future releases.  Contact the cairo team if you have
a need of this backend.

For a complete log of changes, please see

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

Features and Enhancements
-------------------------
* Variable font support
* Skia backend is disabled

API Changes
-----------
* cairo_font_options_get_variations() and
  cairo_font_options_set_variations() are added.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix errors in csi-trace --help and --version options
* Fix a 'memory leak' in the image compositor, with
  pixman_glyph_cache_t.
* Fix access of uninitialized memory found by valgrind
  (Bug #91271)
* Fix improper initialization of memory in
  _cairo_ft_font_face_create_for_pattern()
  (Bug #105084)
* Fix multi-monitor virtual desktop with negative coords on Win32
  (Bug #100793)
* Fix issues occuring with older FreeType versions.


Release 1.15.10    (2017-12-07 Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
This release adds GLESv3 support to the cairo_gl backend, adds
tracking of SVG units in generated svg documents, and cleans up numerous
test failures and related issues in the PDF and Postscript backends.

For a complete log of changes, please see

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

Features and Enhancements
-------------------------
* Add support for OpenGL ES 3.0 to the gl backend.
* Use Reusable streams for forms in Level 3 Postscript.
* Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
* Add CCITT_FAX mime type for PDF and PS surfaces
* svg: add a new function to specify the SVG document unit
  (Bug #90166)
* Use UTF-8 filenames on Windows

API Changes
-----------
* cairo_svg_surface_set_document_unit() and
  cairo_svg_surface_get_document_unit()

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix regression in gles version detection
* Fix undefined-behavior with integer math.
* Handle SOURCE and CLEAR operators when painting color glyphs.
  (Bug #102661)
* Convert images to rgba or a8 formats when uploading with GLESv2
* Use _WIN32 instead of windows.h to check for windows build.
* Fix sigabrt printing documents with fonts lacking the mandatory .nodef
  glyph.
  (Bug #102922)
* Prevent curved strokes in small ctms from being culled from vector
  surfaces
  (Bug #103071)
* Fix painting an unbounded recording surface with the SVG backend.
* Fix falling back to system font with PDFs using certain embedded
  fonts, due to truncated font names.
  (Bug #103249)
* Fix handling of truetype fonts with excessively long font names
  (Bug #103249)
* Fix race conditions with cairo_mask_compositor_t
  (Bug #103037)
* Fix build error with util/font-view
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
  fonts, due to error when destroying glyph page.
  (Bug #103335)
* Set default creation date for PDFs
* Prevent invalid ptr access for > 4GB images.
  (Bug #98165)
* Prevent self-copy infinite loop in Postscript surface.
* Fix padded image crash in Postscript surface.
* Fix annotation bugs in PDFs and related memory leaks
* Fix test failures and other assorted issues in ps and pdf code.
* Fix code generation when using GCC legacy atomic operations
  (Bug #103559)
* Fix various compilation warnings and errors.
* Fix various distcheck errors with private symbols, doxygen formatting,
  etc.

Release 1.15.8     (2017-08-29 Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
This small snapshot provides new colored emoji glyph support, and a
handful of minor fixes.

For a complete log of changes, please see

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

Features and Enhancements
-------------------------
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.


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

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------

* pdf: Fix internal links pointing to other pages, by pre-calculating
  page heights so that link positions can be calculated more accurately.

* image: Fix crash on negative lengths

* win32: Fix initialization of mutexes for static builds

* pdf: Don't emit /PageLabel dict when no labels defined

* font: Fix color font loading on big-endian systems

* font: Fix color font support infinite-loop with empty glyphs

* Fix off by one check in cairo-image-info.c



Release 1.15.6     (2017-06-13 Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
This new snapshot incorporates changes over the past half-year since the
1.15.4 snapshot, including all the fixes from the 1.14 release series.

The PDF code continues to be enhanced, and we're restored MacOSX 10.4
support.  Font-related fixes and improved error handling for X round out
the release.

For a complete log of changes, please see

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


Features and Enhancements
-------------------------
* Detect if variable fonts have synthesized bold/italic or non-default
  variants, and      use a fallback font where needed.

* Restore MacOSX 10.4 support.      Cairo had dropped 10.4 support when
  moving to the CoreText API.  Now we automatically detect which API to
  use via dynamic linking, so can resume supporting this older version
  of MacOSX.


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

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix error reporting in the xcb backend if fallback fails.  Instead of
  returning NULL when the X11 server can't do some operation, return a
  surface in an error state.

* Call XSync in the xlib backend before setting the error handler to
  ignore errors for certain requests, to make sure all pending errors
  are handled first.

* Fix text-glyph-range for quartz-font.  Use 0xFFFF instead of 0 for
  invalid index        tracking.

* Fix handling of Supplementary Multilingual Plane (SMP) Unicode
  characters in quartz-font.

* Fix various issues in the drm backend including updating API usage and
  general code cleanup.

* Clarify documentation regarding device scale inheritance and the units
  used in cairo_surface_create_similar_image.
  Bug #99094.


Release 1.15.4     (2016-12-9 Bryce Harrington <bryce%osg.samsung.com@localhost>)
=======================================================================
This new snapshot incorporates changes over the past year since the
1.15.2 snapshot, including all the fixes from the 1.14 release series.

Of particular note in this snapshot is a wealth of work by Adrian
Johnson to enhance PDF support, as well as numerous bug fixes provided
by him and other contributors.

For a complete log of changes since the last release, please see:

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

Features
--------
* The PDF backend has gained support for a range of widely used
  features, including thumbnails, page labels, metadata, document
  outlines, structured text, hyperlinks, and tags.  Tags permit adding
  logical info such as headings, tables, figures, etc. that facilitates
  indexing, accessibility, text reflow, searching, and extraction of the
  tagged items to other software.  For details on this new PDF
  functionality, see:

    https://lists.cairographics.org/archives/cairo/2016-June/027427.html


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

  cairo_win32_surface_create_with_format

    Added a cairo API to set up Win32 surfaces for HDC with alpha channels.

  cairo_pdf_surface_add_outline
  cairo_pdf_surface_set_metadata
  cairo_pdf_surface_set_page_label
  cairo_pdf_surface_set_thumbnail_size
  cairo_tag_begin
  cairo_tag_end
  CAIRO_STATUS_TAG_ERROR

    New API for added PDF functionality (see above), and new error
    status item for problems relating to PDF tagging.

  CAIRO_STATUS_WIN32_GDI_ERROR
  CAIRO_STATUS_FREETYPE_ERROR
  CAIRO_STATUS_PNG_ERROR

    New error status items for handling of GDI, libfreetype, and libpng
    errors, respectively.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Bug fixes from 1.15.2 (see the 1.15.2 NEWS for details)

* Fix playback of recording surfaces into PDF surfaces, where objects
  with negative coordinates were not getting drawn.  To address this,
  the coordinate systems for PDF and PS have been changed to match
  cairo's coordinate system.  This allows recording surfaces to be
  emitted in cairo coordinates, and results in the same origin being
  used for all operations when using the recording surface XObject.
  Test cases for PDF and PS have also been updated accordingly.
  (Bug #89232)

* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)

* Fix missing glyphs such as thin dashes, which get scaled to 0 in
  userspace and thus have their drawing operations culled.  (Bug #94615)

* Fix other oddities caused by variously idiosyncratic fonts.

* Fix deadlock when destruction of a scaled font indirectly triggers
  destruction of a second scaled font, causing the global cache to be
  locked twice.  (Bug #93891)

* Fix X errors reported to applications when shmdt() is called before
  the Attach request is processed, due to missing xcb and xlib calls.

* Fix random failure in record-paint-alpha-clip-mast test case, caused
  by an incorrect assumption that a deferred clear can be skipped.
  (Bug #84330)

* Fix crash when dealing with an XShmGetImage() failure, caused by a
  double free in _get_image_surface().  (Bug #91967)

* Fix invalid execution of ASCII85 data by the PS interpreter that the
  image operator didn't use, by flushing the extraneous data after
  drawing the image.  (Bug #84811)

* Fix decoding of Adobe Photoshop's inverted CMYK JPEG files in PDF
  export.

* Fix unbounded surface assertion in win32-print code.

* Fix a data race in freed_pool discovered by Firefox's cairo usage.
  The patch adads atomic int load and store functions, with relaxed
  memory ordering.  (Bug #90318)

* Cleanup debugging text sent to stdout instead of log.  (Bug #95227)

* Fix build issue when using non-GNU strings utility.  (Bug #88639)

* Fix build of cairo modules as regular modules, not as versioned shared
  libaries.  (Bug #29319)

* Fix build on win32 using gcc 5.4.

* Fix build of script backend to require zlib.

* Update test suite reference images using Debian Jessie 64-bit and
  poppler current as of June, 2016.

* Various improvements to documentation and tests, compiler warning
  fixes, and an assortment of code refactoring and cleanup.


Release 1.15.2     (2015-12-10 Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
This release is largely a rollup to include a variety of fixes that
didn't make the cut for the stable 1.14.2 and 1.14.4 releases, as well
as all the fixes from those releases.  Notably this includes a highly
requested new API for Win32 surfaces.

For a complete log of changes since the last release, please see:

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

Features
--------
None

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

  cairo_win32_surface_create_with_format

    Added a cairo API to set up Win32 surfaces for HDC with alpha channels.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* All the bug fixes from 1.14.2, 1.14.4, and 1.14.6

* Fix xcb/xlib compilation and calls.  Make image boxes behave when SHM
  is not available.

* Fix various issues with printing and transparent images on Win32.

* Fix thin lines that don't show up when printing in Inkscape due to
  overly aggressive culling.
  (Bug #77298)

* Fix broken printing via pdf when glyph 0 is used for rendering,
  resulting in missing spaces and letters.
  (Bug #89082)

* Fix crash for certain glyphs in opentype fonts.
  (Bug #91902)

* Fix incorrect rendering of SVG paths with more than one subpath.  If
  more than one trap is passed in then it's guaranteed that the returned
  traps will have their left edge to the left of their right edge, but
  if only one trap is passed in then the function always returns without
  doing anything.
  (Bug #90984)

* Improve rendering with Quartz to better match pixman's blending and
  filtering behavior.


Release 1.14.6    (2015-12-09  Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
Simple bugfix release to fix one Windows issue.

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

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

Features
--------
None

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

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix failure on Windows due to reference of the function
  cairo_win32_surface_create_with_format(), which isn't included in the
  1.14.4 release. (Bug #92771)


Release 1.14.4    (2015-10-28  Bryce Harrington <bryce%osg.samsung.com@localhost>)
========================================================================
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:

    https://cairographics.org/releases/ChangeLog.cairo-1.14.4

Features
--------
None

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

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

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
  compositor.
  (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.

diffstat:

 graphics/cairo/Makefile                    |   3 +-
 graphics/cairo/Makefile.common             |   4 +-
 graphics/cairo/PLIST                       |   4 +-
 graphics/cairo/buildlink3.mk               |   4 +-
 graphics/cairo/distinfo                    |  13 +--
 graphics/cairo/patches/patch-CVE-2016-9082 |  94 -----------------------------
 graphics/cairo/patches/patch-CVE-2017-7475 |  15 ----
 graphics/cairo/patches/patch-CVE-2017-9814 |  96 ------------------------------
 8 files changed, 13 insertions(+), 220 deletions(-)

diffs (truncated from 307 to 300 lines):

diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/Makefile
--- a/graphics/cairo/Makefile   Wed Nov 14 16:47:03 2018 +0000
+++ b/graphics/cairo/Makefile   Wed Nov 14 17:14:52 2018 +0000
@@ -1,6 +1,5 @@
-# $NetBSD: Makefile,v 1.141 2018/03/12 11:15:33 wiz Exp $
+# $NetBSD: Makefile,v 1.142 2018/11/14 17:14:52 kleink Exp $
 
-PKGREVISION= 1
 .include "../../graphics/cairo/Makefile.common"
 
 TEST_TARGET=                   check
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/Makefile.common
--- a/graphics/cairo/Makefile.common    Wed Nov 14 16:47:03 2018 +0000
+++ b/graphics/cairo/Makefile.common    Wed Nov 14 17:14:52 2018 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.13 2018/01/06 11:30:56 adam Exp $
+# $NetBSD: Makefile.common,v 1.14 2018/11/14 17:14:52 kleink Exp $
 #
 # used by graphics/cairo/Makefile
 # used by graphics/cairo-gobject/Makefile
 
-DISTNAME=      cairo-1.14.12
+DISTNAME=      cairo-1.16.0
 CATEGORIES=    graphics
 MASTER_SITES=  http://cairographics.org/releases/
 EXTRACT_SUFX=  .tar.xz
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/PLIST
--- a/graphics/cairo/PLIST      Wed Nov 14 16:47:03 2018 +0000
+++ b/graphics/cairo/PLIST      Wed Nov 14 17:14:52 2018 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.41 2018/01/01 22:29:36 rillig Exp $
+@comment $NetBSD: PLIST,v 1.42 2018/11/14 17:14:52 kleink Exp $
 bin/cairo-trace
 include/cairo/cairo-deprecated.h
 include/cairo/cairo-features.h
@@ -59,6 +59,7 @@
 share/gtk-doc/html/cairo/cairo-Regions.html
 share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html
 share/gtk-doc/html/cairo/cairo-Script-Surfaces.html
+share/gtk-doc/html/cairo/cairo-Tags-and-Links.html
 share/gtk-doc/html/cairo/cairo-Transformations.html
 share/gtk-doc/html/cairo/cairo-Types.html
 share/gtk-doc/html/cairo/cairo-User-Fonts.html
@@ -86,6 +87,7 @@
 share/gtk-doc/html/cairo/index-1.10.html
 share/gtk-doc/html/cairo/index-1.12.html
 share/gtk-doc/html/cairo/index-1.14.html
+share/gtk-doc/html/cairo/index-1.16.html
 share/gtk-doc/html/cairo/index-1.2.html
 share/gtk-doc/html/cairo/index-1.4.html
 share/gtk-doc/html/cairo/index-1.6.html
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/buildlink3.mk
--- a/graphics/cairo/buildlink3.mk      Wed Nov 14 16:47:03 2018 +0000
+++ b/graphics/cairo/buildlink3.mk      Wed Nov 14 17:14:52 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.56 2018/03/12 11:15:33 wiz Exp $
+# $NetBSD: buildlink3.mk,v 1.57 2018/11/14 17:14:52 kleink Exp $
 
 BUILDLINK_TREE+=       cairo
 
@@ -6,7 +6,7 @@
 CAIRO_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.cairo+=  cairo>=1.0.0nb2
-BUILDLINK_ABI_DEPENDS.cairo+=  cairo>=1.14.12nb1
+BUILDLINK_ABI_DEPENDS.cairo+=  cairo>=1.16.0
 BUILDLINK_PKGSRCDIR.cairo?=    ../../graphics/cairo
 
 BUILDLINK_API_DEPENDS.Xrender+=        Xrender>=0.8
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/distinfo
--- a/graphics/cairo/distinfo   Wed Nov 14 16:47:03 2018 +0000
+++ b/graphics/cairo/distinfo   Wed Nov 14 17:14:52 2018 +0000
@@ -1,12 +1,9 @@
-$NetBSD: distinfo,v 1.87 2018/01/06 11:30:56 adam Exp $
+$NetBSD: distinfo,v 1.88 2018/11/14 17:14:52 kleink Exp $
 
-SHA1 (cairo-1.14.12.tar.xz) = 490025a0ba0622a853010f49fb6343f29fb70b9b
-RMD160 (cairo-1.14.12.tar.xz) = 7c2868a64b146bf5663b7586f59f865cc8c2bf31
-SHA512 (cairo-1.14.12.tar.xz) = ede6e75ae95605bf5c4b3859b1824cf125c4a2a35a67d38244cc70951ca44b1d4fd7cf622953d3a7cb868fb5b00856ef6d68ee615276b76eec437641290b01e1
-Size (cairo-1.14.12.tar.xz) = 36251896 bytes
-SHA1 (patch-CVE-2016-9082) = b5020e37e7c5e589a47d053a9d51e26137986c12
-SHA1 (patch-CVE-2017-7475) = 0d4d8eea7cc63b959960a37fcdb0fd3ce31342e1
-SHA1 (patch-CVE-2017-9814) = 3f135b58fe5aa5ac121f990757d26cf12bfd7d68
+SHA1 (cairo-1.16.0.tar.xz) = 00e81842ae5e81bb0343108884eb5205be0eac14
+RMD160 (cairo-1.16.0.tar.xz) = cfd2ef6ec55b267e04600f6b1e36bb07f2566b35
+SHA512 (cairo-1.16.0.tar.xz) = 9eb27c4cf01c0b8b56f2e15e651f6d4e52c99d0005875546405b64f1132aed12fbf84727273f493d84056a13105e065009d89e94a8bfaf2be2649e232b82377f
+Size (cairo-1.16.0.tar.xz) = 41997432 bytes
 SHA1 (patch-aa) = b01bc60f77a7122b0c0d0d9b25ad512bac7c190c
 SHA1 (patch-ab) = 11f7e0e59bd5c51a8fdacb48dcf2f2fefdf3b768
 SHA1 (patch-ac) = 1785bbef6bcab4781bf89e1b986a7eb96e5f2b64
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/patches/patch-CVE-2016-9082
--- a/graphics/cairo/patches/patch-CVE-2016-9082        Wed Nov 14 16:47:03 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-$NetBSD: patch-CVE-2016-9082,v 1.1 2017/09/28 00:57:25 spz Exp $
-
-from https://bugs.freedesktop.org/attachment.cgi?id=127421
-
---- boilerplate/cairo-boilerplate.c.orig       2017-06-15 22:13:55.000000000 +0000
-+++ boilerplate/cairo-boilerplate.c
-@@ -42,6 +42,7 @@
- #undef CAIRO_VERSION_H
- #include "../cairo-version.h"
- 
-+#include <stddef.h>
- #include <stdlib.h>
- #include <ctype.h>
- #include <assert.h>
-@@ -976,7 +977,8 @@ cairo_surface_t *
- cairo_boilerplate_image_surface_create_from_ppm_stream (FILE *file)
- {
-     char format;
--    int width, height, stride;
-+    int width, height;
-+    ptrdiff_t stride;
-     int x, y;
-     unsigned char *data;
-     cairo_surface_t *image = NULL;
-
---- src/cairo-image-compositor.c.orig  2017-06-15 22:13:55.000000000 +0000
-+++ src/cairo-image-compositor.c
-@@ -1575,7 +1575,7 @@ typedef struct _cairo_image_span_rendere
-     pixman_image_t *src, *mask;
-     union {
-       struct fill {
--          int stride;
-+          ptrdiff_t stride;
-           uint8_t *data;
-           uint32_t pixel;
-       } fill;
-@@ -1594,7 +1594,7 @@ typedef struct _cairo_image_span_rendere
-       struct finish {
-           cairo_rectangle_int_t extents;
-           int src_x, src_y;
--          int stride;
-+          ptrdiff_t stride;
-           uint8_t *data;
-       } mask;
-     } u;
-
---- src/cairo-image-surface-private.h.orig     2017-06-09 06:46:49.000000000 +0000
-+++ src/cairo-image-surface-private.h
-@@ -71,7 +71,7 @@ struct _cairo_image_surface {
- 
-     int width;
-     int height;
--    int stride;
-+    ptrdiff_t stride;
-     int depth;
- 
-     unsigned owns_data : 1;
-
---- src/cairo-mesh-pattern-rasterizer.c.orig   2017-06-15 22:13:55.000000000 +0000
-+++ src/cairo-mesh-pattern-rasterizer.c
-@@ -470,7 +470,7 @@ draw_pixel (unsigned char *data, int wid
-       tg += tg >> 16;
-       tb += tb >> 16;
- 
--      *((uint32_t*) (data + y*stride + 4*x)) = ((ta << 16) & 0xff000000) |
-+      *((uint32_t*) (data + y*(ptrdiff_t)stride + 4*x)) = ((ta << 16) & 0xff000000) |
-           ((tr >> 8) & 0xff0000) | ((tg >> 16) & 0xff00) | (tb >> 24);
-     }
- }
-
---- src/cairo-png.c.orig       2017-06-15 21:44:32.000000000 +0000
-+++ src/cairo-png.c
-@@ -671,7 +671,7 @@ read_png (struct png_read_closure_t *png
-     }
- 
-     for (i = 0; i < png_height; i++)
--        row_pointers[i] = &data[i * stride];
-+        row_pointers[i] = &data[i * (ptrdiff_t)stride];
- 
-     png_read_image (png, row_pointers);
-     png_read_end (png, info);
-
---- src/cairo-script-surface.c.orig    2017-06-15 22:13:55.000000000 +0000
-+++ src/cairo-script-surface.c
-@@ -1201,7 +1201,8 @@ static cairo_status_t
- _write_image_surface (cairo_output_stream_t *output,
-                     const cairo_image_surface_t *image)
- {
--    int stride, row, width;
-+    int row, width;
-+    ptrdiff_t stride;
-     uint8_t row_stack[CAIRO_STACK_BUFFER_SIZE];
-     uint8_t *rowdata;
-     uint8_t *data;
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/patches/patch-CVE-2017-7475
--- a/graphics/cairo/patches/patch-CVE-2017-7475        Wed Nov 14 16:47:03 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-$NetBSD: patch-CVE-2017-7475,v 1.1 2017/09/28 00:57:25 spz Exp $
-
-from https://bugs.freedesktop.org/attachment.cgi?id=131213
-
---- src/cairo-ft-font.c.orig   2017-06-15 22:13:55.000000000 +0000
-+++ src/cairo-ft-font.c
-@@ -1146,7 +1146,7 @@ _get_bitmap_surface (FT_Bitmap                *bi
-     width = bitmap->width;
-     height = bitmap->rows;
- 
--    if (width == 0 || height == 0) {
-+    if (width == 0 || height == 0 || bitmap->buffer == NULL) {
-       *surface = (cairo_image_surface_t *)
-           cairo_image_surface_create_for_data (NULL, format, 0, 0, 0);
-       return (*surface)->base.status;
diff -r 6bce6bc32bcd -r 4a28696b5cc7 graphics/cairo/patches/patch-CVE-2017-9814
--- a/graphics/cairo/patches/patch-CVE-2017-9814        Wed Nov 14 16:47:03 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-$NetBSD: patch-CVE-2017-9814,v 1.2 2018/01/06 11:30:56 adam Exp $
-
-relevant part of https://bugs.freedesktop.org/attachment.cgi?id=132563
-
---- src/cairo-truetype-subset.c.orig   2017-12-05 00:20:46.000000000 +0000
-+++ src/cairo-truetype-subset.c
-@@ -187,7 +187,7 @@ _cairo_truetype_font_create (cairo_scale
-     if (unlikely (status))
-       return status;
- 
--    font = malloc (sizeof (cairo_truetype_font_t));
-+    font = _cairo_malloc (sizeof (cairo_truetype_font_t));
-     if (unlikely (font == NULL))
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
- 
-@@ -240,7 +240,7 @@ _cairo_truetype_font_create (cairo_scale
- 
-     /* If the PS name is not found, create a CairoFont-x-y name. */
-     if (font->base.ps_name == NULL) {
--        font->base.ps_name = malloc (30);
-+        font->base.ps_name = _cairo_malloc (30);
-         if (unlikely (font->base.ps_name == NULL)) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-             goto fail3;
-@@ -616,7 +616,7 @@ cairo_truetype_font_write_glyf_table (ca
-     else
-       size = sizeof (int32_t) * (font->num_glyphs_in_face + 1);
- 
--    u.bytes = malloc (size);
-+    u.bytes = _cairo_malloc (size);
-     if (unlikely (u.bytes == NULL))
-       return _cairo_truetype_font_set_error (font, CAIRO_STATUS_NO_MEMORY);
- 
-@@ -1189,7 +1189,7 @@ cairo_truetype_subset_init_internal (cai
-     truetype_subset->descent = (double)font->base.descent/font->base.units_per_em;
- 
-     if (length) {
--      truetype_subset->data = malloc (length);
-+      truetype_subset->data = _cairo_malloc (length);
-       if (unlikely (truetype_subset->data == NULL)) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto fail4;
-@@ -1202,7 +1202,7 @@ cairo_truetype_subset_init_internal (cai
- 
-     if (num_strings) {
-       offsets_length = num_strings * sizeof (unsigned long);
--      truetype_subset->string_offsets = malloc (offsets_length);
-+      truetype_subset->string_offsets = _cairo_malloc (offsets_length);
-       if (unlikely (truetype_subset->string_offsets == NULL)) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto fail5;
-@@ -1290,7 +1290,7 @@ _cairo_truetype_reverse_cmap (cairo_scal
-       return CAIRO_INT_STATUS_UNSUPPORTED;
- 
-     size = be16_to_cpu (map->length);
--    map = malloc (size);
-+    map = _cairo_malloc (size);
-     if (unlikely (map == NULL))
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
- 
-@@ -1456,7 +1456,7 @@ find_name (tt_name_t *name, int name_id,
-           if (len > MAX_FONT_NAME_LENGTH)
-               break;
- 
--          str = malloc (len + 1);
-+          str = _cairo_malloc (len + 1);
-           if (str == NULL)
-               return _cairo_error (CAIRO_STATUS_NO_MEMORY);
- 
-@@ -1482,7 +1482,7 @@ find_name (tt_name_t *name, int name_id,
-       for (i = 0; i < u_len; i++)
-           size += _cairo_ucs4_to_utf8 (be16_to_cpu(u[i]), NULL);
- 
--      utf8 = malloc (size + 1);
-+      utf8 = _cairo_malloc (size + 1);
-       if (utf8 == NULL) {
-           status =_cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto fail;
-@@ -1517,7 +1517,7 @@ find_name (tt_name_t *name, int name_id,
-       }
-     }
-     if (has_tag) {
--      p = malloc (len - 6);
-+      p = _cairo_malloc (len - 6);
-       if (unlikely (p == NULL)) {
-           status =_cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto fail;
-@@ -1562,7 +1562,7 @@ _cairo_truetype_read_font_name (cairo_sc
-     if (status)



Home | Main Index | Thread Index | Old Index