From 5861c0bfa5cfdf5c31779772615d2bbe9d84755676a45962fa915c08f667981b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 16 Jun 2017 20:45:25 +0000 Subject: [PATCH] Accepting request 504297 from GNOME:Next correct spelling OBS-URL: https://build.opensuse.org/request/show/504297 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=119 --- cairo-1.15.4.tar.xz | 3 - cairo-1.15.6.tar.xz | 3 + cairo-fix-off-by-one-check.patch | 23 +++++ cairo-pdf-fixes.patch | 168 ------------------------------- cairo.changes | 29 ++++++ cairo.spec | 10 +- 6 files changed, 60 insertions(+), 176 deletions(-) delete mode 100644 cairo-1.15.4.tar.xz create mode 100644 cairo-1.15.6.tar.xz create mode 100644 cairo-fix-off-by-one-check.patch delete mode 100644 cairo-pdf-fixes.patch diff --git a/cairo-1.15.4.tar.xz b/cairo-1.15.4.tar.xz deleted file mode 100644 index 7fcede5..0000000 --- a/cairo-1.15.4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:deddf31e196e826e7790bbbf7d0f4b3fd15df243aa48511b349f1791b96be291 -size 42222384 diff --git a/cairo-1.15.6.tar.xz b/cairo-1.15.6.tar.xz new file mode 100644 index 0000000..31b9ac1 --- /dev/null +++ b/cairo-1.15.6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5228e0a1f8fd14317f30f08f3dd72971bca432f8cdd2281d421fdcc2279de58c +size 41836012 diff --git a/cairo-fix-off-by-one-check.patch b/cairo-fix-off-by-one-check.patch new file mode 100644 index 0000000..1776eff --- /dev/null +++ b/cairo-fix-off-by-one-check.patch @@ -0,0 +1,23 @@ +From 57b40507dda3f58dfc8635548d606b86dc7bcf51 Mon Sep 17 00:00:00 2001 +From: Adrian Johnson +Date: Thu, 15 Jun 2017 20:53:29 +0930 +Subject: Fix off by one check in cairo-image-info.c + +https://bugs.freedesktop.org/show_bug.cgi?id=101427 + +diff --git a/src/cairo-image-info.c b/src/cairo-image-info.c +index 2ecce95..3b4cf6e 100644 +--- a/src/cairo-image-info.c ++++ b/src/cairo-image-info.c +@@ -154,7 +154,7 @@ _cairo_image_info_get_jpeg_info (cairo_image_info_t *info, + break; + } + +- if (p + 2 > data + length) ++ if (p + 3 > data + length) + return CAIRO_INT_STATUS_UNSUPPORTED; + + p = _jpeg_skip_segment (p); +-- +cgit v0.10.2 + diff --git a/cairo-pdf-fixes.patch b/cairo-pdf-fixes.patch deleted file mode 100644 index 85a56bf..0000000 --- a/cairo-pdf-fixes.patch +++ /dev/null @@ -1,168 +0,0 @@ -From c7e87cd9df401f2c5a62534697d12a4e0afda2ce Mon Sep 17 00:00:00 2001 -From: Kouhei Sutou -Date: Wed, 4 Jan 2017 23:32:59 +0900 -Subject: pdf: Remove duplicated item - - -diff --git a/src/cairo-pdf.h b/src/cairo-pdf.h -index 1e46a7c..74117f4 100644 ---- a/src/cairo-pdf.h -+++ b/src/cairo-pdf.h -@@ -120,7 +120,6 @@ cairo_pdf_surface_add_outline (cairo_surface_t *surface, - * @CAIRO_PDF_METADATA_SUBJECT: The document subject (Since 1.16) - * @CAIRO_PDF_METADATA_KEYWORDS: The document keywords (Since 1.16) - * @CAIRO_PDF_METADATA_CREATOR: The document creator (Since 1.16) -- * @CAIRO_PDF_METADATA_TITLE: The document title (Since 1.16) - * @CAIRO_PDF_METADATA_CREATE_DATE: The document creation date (Since 1.16) - * @CAIRO_PDF_METADATA_MOD_DATE: The document modification date (Since 1.16) - * --- -cgit v0.10.2 - - -From dd4706d0a9d123d3aa4284ac9ab35fbe165278b2 Mon Sep 17 00:00:00 2001 -From: Kouhei Sutou -Date: Wed, 4 Jan 2017 23:38:17 +0900 -Subject: pdf: Fix wrong cairo_pdf_outline_flags_t item prefix - - -diff --git a/src/cairo-pdf-interchange.c b/src/cairo-pdf-interchange.c -index 18dd4d8..1fc8197 100644 ---- a/src/cairo-pdf-interchange.c -+++ b/src/cairo-pdf-interchange.c -@@ -579,9 +579,9 @@ cairo_pdf_interchange_write_outline (cairo_pdf_surface_t *surface) - - if (outline->flags) { - int flags = 0; -- if (outline->flags & CAIRO_BOOKMARK_FLAG_ITALIC) -+ if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_ITALIC) - flags |= 1; -- if (outline->flags & CAIRO_BOOKMARK_FLAG_BOLD) -+ if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_BOLD) - flags |= 2; - _cairo_output_stream_printf (surface->output, - " /F %d\n", -@@ -1338,7 +1338,7 @@ _cairo_pdf_interchange_add_outline (cairo_pdf_surface_t *surface, - /* Update Count */ - outline = outline->parent; - while (outline) { -- if (outline->flags & CAIRO_BOOKMARK_FLAG_OPEN) { -+ if (outline->flags & CAIRO_PDF_OUTLINE_FLAG_OPEN) { - outline->count++; - } else { - outline->count--; -diff --git a/src/cairo-pdf.h b/src/cairo-pdf.h -index 74117f4..040c0ed 100644 ---- a/src/cairo-pdf.h -+++ b/src/cairo-pdf.h -@@ -87,9 +87,9 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface, - - /** - * cairo_pdf_outline_flags_t: -- * @CAIRO_BOOKMARK_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16) -- * @CAIRO_BOOKMARK_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16) -- * @CAIRO_BOOKMARK_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16) -+ * @CAIRO_PDF_OUTLINE_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16) -+ * @CAIRO_PDF_OUTLINE_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16) -+ * @CAIRO_PDF_OUTLINE_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16) - * - * #cairo_pdf_outline_flags_t is used by the - * cairo_pdf_surface_add_outline() function specify the attributes of -@@ -99,9 +99,9 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface, - * Since: 1.16 - **/ - typedef enum _cairo_pdf_outline_flags { -- CAIRO_BOOKMARK_FLAG_OPEN = 0x1, -- CAIRO_BOOKMARK_FLAG_BOLD = 0x2, -- CAIRO_BOOKMARK_FLAG_ITALIC = 0x4, -+ CAIRO_PDF_OUTLINE_FLAG_OPEN = 0x1, -+ CAIRO_PDF_OUTLINE_FLAG_BOLD = 0x2, -+ CAIRO_PDF_OUTLINE_FLAG_ITALIC = 0x4, - } cairo_pdf_outline_flags_t; - - #define CAIRO_PDF_OUTLINE_ROOT 0 -diff --git a/test/pdf-tagged-text.c b/test/pdf-tagged-text.c -index 14dbad1..74e7968 100644 ---- a/test/pdf-tagged-text.c -+++ b/test/pdf-tagged-text.c -@@ -244,7 +244,7 @@ draw_section (cairo_surface_t *surface, cairo_t *cr, const struct section *secti - cairo_tag_end (cr, CAIRO_TAG_DEST); - cairo_tag_end (cr, "H1"); - y_pos = MARGIN + HEADING_HEIGHT; -- flags = CAIRO_BOOKMARK_FLAG_BOLD | CAIRO_BOOKMARK_FLAG_OPEN; -+ flags = CAIRO_PDF_OUTLINE_FLAG_BOLD | CAIRO_PDF_OUTLINE_FLAG_OPEN; - outline_parents[0] = cairo_pdf_surface_add_outline (surface, - CAIRO_PDF_OUTLINE_ROOT, - section->heading, -@@ -256,7 +256,7 @@ draw_section (cairo_surface_t *surface, cairo_t *cr, const struct section *secti - flags = 0; - } else { - cairo_set_font_size(cr, HEADING3_SIZE); -- flags = CAIRO_BOOKMARK_FLAG_ITALIC; -+ flags = CAIRO_PDF_OUTLINE_FLAG_ITALIC; - } - - if (y_pos + HEADING_HEIGHT + paragraph_height + MARGIN > PAGE_HEIGHT) { -@@ -335,7 +335,8 @@ create_document (cairo_surface_t *surface, cairo_t *cr) - - cairo_pdf_surface_add_outline (surface, - CAIRO_PDF_OUTLINE_ROOT, -- "Contents", "TOC", CAIRO_BOOKMARK_FLAG_BOLD); -+ "Contents", "TOC", -+ CAIRO_PDF_OUTLINE_FLAG_BOLD); - - cairo_tag_begin (cr, CAIRO_TAG_DEST, "name='TOC'"); - cairo_tag_begin (cr, "TOC", NULL); --- -cgit v0.10.2 - - -From 5854dd9df40a68efb0cb1b2bb7f94e3f05cbdf45 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 2 Feb 2017 06:47:11 +1030 -Subject: pdf: don't return uninitialized status - -https://bugs.freedesktop.org/show_bug.cgi?id=99630 - -diff --git a/src/cairo-pdf-interchange.c b/src/cairo-pdf-interchange.c -index 1fc8197..bac62d5 100644 ---- a/src/cairo-pdf-interchange.c -+++ b/src/cairo-pdf-interchange.c -@@ -397,7 +397,7 @@ cairo_pdf_interchange_walk_struct_tree (cairo_pdf_surface_t *surface, - return status; - } - -- return status; -+ return CAIRO_STATUS_SUCCESS; - } - - static cairo_int_status_t --- -cgit v0.10.2 - -From 1a307123af14cfa50a0c35819cfaee79f0ade1ba Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 2 Mar 2017 19:14:04 +1030 -Subject: pdf-operators: fix bug in line wrapping - -patch by jmmorlan@sonic.net - -https://bugs.freedesktop.org/show_bug.cgi?id=100029 - -diff --git a/src/cairo-pdf-operators.c b/src/cairo-pdf-operators.c -index 99a8dc8..b4ac253 100644 ---- a/src/cairo-pdf-operators.c -+++ b/src/cairo-pdf-operators.c -@@ -319,7 +319,8 @@ _word_wrap_stream_write (cairo_output_stream_t *base, - if (*data == '\n' || stream->column >= stream->max_column) { - _cairo_output_stream_printf (stream->output, "\n"); - stream->column = 0; -- } else if (*data == '<') { -+ } -+ if (*data == '<') { - stream->state = WRAP_STATE_HEXSTRING; - } else if (*data == '(') { - stream->state = WRAP_STATE_STRING; --- -cgit v0.10.2 - diff --git a/cairo.changes b/cairo.changes index 9f20f7f..b4a3e5c 100644 --- a/cairo.changes +++ b/cairo.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Fri Jun 16 19:11:41 UTC 2017 - zaitor@opensuse.org + +- Update to version 1.15.6: + + 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. + + 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 + (fdo#99094). +- Drop cairo-pdf-fixes.patch: Fixed upstream. +- Add cairo-fix-off-by-one-check.patch: Fix off by one check in + cairo-image-info.c (fdo#101427). + ------------------------------------------------------------------- Wed Jun 7 10:06:55 UTC 2017 - alarrosa@suse.com diff --git a/cairo.spec b/cairo.spec index dae4158..c8cf745 100644 --- a/cairo.spec +++ b/cairo.spec @@ -19,7 +19,7 @@ %define build_xcb_backend 1 %define build_gl_backend 1 Name: cairo -Version: 1.15.4 +Version: 1.15.6 Release: 0 Summary: Vector Graphics Library with Cross-Device Output Support License: LGPL-2.1+ or MPL-1.1 @@ -29,10 +29,10 @@ Source: http://cairographics.org/snapshots/%{name}-%{version}.tar.xz Source99: baselibs.conf # PATCH-FIX-UPSTREAM cairo-xlib-endianness.patch fdo#63461 bnc#882951 fcrozat@suse.com -- Fix crash when client and server have different endianness Patch0: cairo-xlib-endianness.patch -# PATCH-FIX-UPSTREAM cairo-pdf-fixes.patch fdo#99630 zaitor@opensuse.org -- Three minor pdf fixes from upstream git. -Patch1: cairo-pdf-fixes.patch # PATCH-FIX-UPSTREAM cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff alarrosa@suse.com -- Fix segfault in get_bitmap_surface -Patch2: cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff +Patch1: cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff +# PATCH-FIX-UPSTREAM cairo-fix-off-by-one-check.patch fdo#101427 zaitor@opensuse.org -- Fix off by one check in cairo-image-info.c +Patch2: cairo-fix-off-by-one-check.patch BuildRequires: gtk-doc BuildRequires: pkg-config BuildRequires: pkgconfig(fontconfig) @@ -105,9 +105,9 @@ hardware acceleration when available. %package tools Summary: Utilities for cairo, a Vector Graphics Library with Cross-Device Output Support +# We need an explicit requires since nothing links to the cairo library License: GPL-3.0+ Group: Development/Libraries/X11 -# We need an explicit requires since nothing links to the cairo library Requires: libcairo2 = %{version} # Named changed during development of 11.4 Provides: %{name}-utils = %{version}