Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cairo for openSUSE:Factory checked 
in at 2023-03-24 15:17:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cairo (Old)
 and      /work/SRC/openSUSE:Factory/.cairo.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cairo"

Fri Mar 24 15:17:03 2023 rev:93 rq:1073167 version:1.17.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/cairo/cairo.changes      2022-09-21 
14:39:32.545274057 +0200
+++ /work/SRC/openSUSE:Factory/.cairo.new.31432/cairo.changes   2023-03-24 
15:17:09.125859795 +0100
@@ -1,0 +2,34 @@
+Fri Mar 17 13:27:04 UTC 2023 - Bjørn Lie <[email protected]>
+
+- Update to version 1.17.8:
+  + 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.
+- Switch to meson buildsystem: Add meson BuildRequires and macros.
+- Update Source Url to new home.
+- Drop build_gl_backend define and conditional pkgconfig(egl) and
+  pkgconfig(gl) BuildRequires: No longer supported.
+- Add generic c++_compiler and c_compiler BuildRequires: New
+  dependencies.
+- Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch:
+  Fixed upstream.
+- Add upstream bug fix patches:
+  + cairo-1.17.8-fix-tee-compilation.patch
+  + cairo-1.17.8-ft-font-missing-glyph.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-Set-default-LCD-filter-to-FreeType-s-default.patch
  cairo-1.17.6.tar.xz

New:
----
  cairo-1.17.8-fix-tee-compilation.patch
  cairo-1.17.8-ft-font-missing-glyph.patch
  cairo-1.17.8.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cairo.spec ++++++
--- /var/tmp/diff_new_pack.vuKIoj/_old  2023-03-24 15:17:09.729863019 +0100
+++ /var/tmp/diff_new_pack.vuKIoj/_new  2023-03-24 15:17:09.729863019 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package cairo
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,25 +17,30 @@
 
 
 %define build_xcb_backend 1
-%define build_gl_backend 1
+
 Name:           cairo
-Version:        1.17.6
+Version:        1.17.8
 Release:        0
 Summary:        Vector Graphics Library with Cross-Device Output Support
 License:        LGPL-2.1-or-later OR MPL-1.1
 Group:          Development/Libraries/C and C++
 URL:            https://cairographics.org/
-Source0:        
https://download.gnome.org/sources/cairo/1.17/%{name}-%{version}.tar.xz
+Source0:        https://cairographics.org/snapshots/%{name}-%{version}.tar.xz
 Source99:       baselibs.conf
 
 # PATCH-FIX-UPSTREAM cairo-xlib-endianness.patch fdo#63461 bnc#882951 
[email protected] -- Fix crash when client and server have different endianness
 Patch0:         cairo-xlib-endianness.patch
 # PATCH-FIX-UPSTREAM cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff 
[email protected] -- Fix segfault in get_bitmap_surface
 Patch1:         cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
-# PATCH-FIX-UPSTREAM 0001-Set-default-LCD-filter-to-FreeType-s-default.patch 
-- Set default LCD filter to FreeType's default
-Patch2:         0001-Set-default-LCD-filter-to-FreeType-s-default.patch
+# PATCH-FIX-UPSTREAM cairo-1.17.8-fix-tee-compilation.patch --  
https://gitlab.freedesktop.org/cairo/cairo/-/issues/634 tee: Fix cairo wrapper 
functions
+Patch2:         cairo-1.17.8-fix-tee-compilation.patch
+# PATCH-FIX-UPSTREAM cairo-1.17.8-ft-font-missing-glyph.patch -- 
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/467 ft: Use normal 
font size when detecting the format
+Patch3:         cairo-1.17.8-ft-font-missing-glyph.patch
 
+BuildRequires:  c++_compiler
+BuildRequires:  c_compiler
 BuildRequires:  gtk-doc
+BuildRequires:  meson
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(fontconfig)
 BuildRequires:  pkgconfig(freetype2)
@@ -49,10 +54,6 @@
 # These libraries are needed only for tests.
 # Do not enable tests in build systems, it causes build loop!
 #BuildRequires:  librsvg-devel poppler-devel
-%if %{build_gl_backend}
-BuildRequires:  pkgconfig(egl)
-BuildRequires:  pkgconfig(gl)
-%endif
 %if %{build_xcb_backend}
 BuildRequires:  pkgconfig(xcb) >= 1.6
 BuildRequires:  pkgconfig(xcb-render) >= 1.6
@@ -144,28 +145,25 @@
 %autosetup -p1
 
 %build
-%configure \
-    --enable-fc \
-    --enable-ft \
-%if %{build_gl_backend}
-    --enable-gl \
-%endif
-    --enable-ps \
-    --enable-pdf \
-    --enable-script \
-    --enable-svg \
-    --enable-tee \
+%meson \
 %if %{build_xcb_backend}
-    --enable-xcb \
+       -D xcb=enabled \
 %endif
-    --enable-xlib \
-    --enable-gtk-doc \
-    --disable-static
-%make_build
+       -D freetype=enabled \
+       -D fontconfig=enabled \
+       -D glib=enabled \
+       -D gtk_doc=true \
+       -D spectre=disabled \
+       -D symbol-lookup=disabled \
+       -D tee=enabled \
+       -D tests=disabled \
+       -D xlib=enabled \
+       -D xml=disabled
+       %{nil}
+%meson_build
 
 %install
-%make_install
-find %{buildroot} -type f -name "*.la" -delete -print
+%meson_install
 
 %ldconfig_scriptlets -n libcairo2
 %ldconfig_scriptlets -n libcairo-gobject2
@@ -187,12 +185,12 @@
 %{_bindir}/cairo-sphinx
 %{_bindir}/cairo-trace
 %dir %{_libdir}/cairo
-%{_libdir}/cairo/cairo-fdr.so
-%{_libdir}/cairo/cairo-sphinx.so
+%{_libdir}/cairo/libcairo-fdr.so
+%{_libdir}/cairo/libcairo-sphinx.so
 %{_libdir}/cairo/libcairo-trace.so
 
 %files devel
-%doc AUTHORS ChangeLog NEWS PORTING_GUIDE README
+%doc AUTHORS NEWS README.md
 %doc %{_datadir}/gtk-doc/html/cairo
 %{_includedir}/cairo/
 %{_libdir}/*.so

++++++ cairo-1.17.8-fix-tee-compilation.patch ++++++
>From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001
From: Emmanuele Bassi <[email protected]>
Date: Fri, 3 Feb 2023 15:40:12 +0100
Subject: [PATCH] tee: Fix cairo wrapper functions

Follow-up to !391 to apply the same changes to the (disabled by default)
tee surface.

Fixes: #634
---
 src/cairo-tee-surface.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
index 7a94c9bca..4994a5a60 100644
--- a/src/cairo-tee-surface.c
+++ b/src/cairo-tee-surface.c
@@ -220,12 +220,12 @@ _cairo_tee_surface_paint (void                    
*abstract_surface,
     num_slaves = _cairo_array_num_elements (&surface->slaves);
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
-       status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
+       status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
        if (unlikely (status))
            return status;
     }
 
-    return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
+    return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, 
clip);
 }
 
 static cairo_int_status_t
@@ -244,13 +244,17 @@ _cairo_tee_surface_mask (void                     
*abstract_surface,
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
        status = _cairo_surface_wrapper_mask (&slaves[n],
-                                             op, source, mask, clip);
+                                             op, source, 0,
+                                              mask, 0,
+                                              clip);
        if (unlikely (status))
            return status;
     }
 
     return _cairo_surface_wrapper_mask (&surface->master,
-                                       op, source, mask, clip);
+                                       op, source, 0,
+                                        mask, 0,
+                                        clip);
 }
 
 static cairo_int_status_t
@@ -274,7 +278,7 @@ _cairo_tee_surface_stroke (void                             
*abstract_surface,
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
        status = _cairo_surface_wrapper_stroke (&slaves[n],
-                                               op, source,
+                                               op, source, 0,
                                                path, style,
                                                ctm, ctm_inverse,
                                                tolerance, antialias,
@@ -284,7 +288,7 @@ _cairo_tee_surface_stroke (void                             
*abstract_surface,
     }
 
     return _cairo_surface_wrapper_stroke (&surface->master,
-                                         op, source,
+                                         op, source, 0,
                                          path, style,
                                          ctm, ctm_inverse,
                                          tolerance, antialias,
@@ -310,7 +314,7 @@ _cairo_tee_surface_fill (void                               
*abstract_surface,
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
        status = _cairo_surface_wrapper_fill (&slaves[n],
-                                             op, source,
+                                             op, source, 0,
                                              path, fill_rule,
                                              tolerance, antialias,
                                              clip);
@@ -319,7 +323,7 @@ _cairo_tee_surface_fill (void                               
*abstract_surface,
     }
 
     return _cairo_surface_wrapper_fill (&surface->master,
-                                       op, source,
+                                       op, source, 0,
                                        path, fill_rule,
                                        tolerance, antialias,
                                        clip);
@@ -361,7 +365,7 @@ _cairo_tee_surface_show_text_glyphs (void               
*abstract_surface,
     for (n = 0; n < num_slaves; n++) {
        memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
        status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
-                                                         source,
+                                                         source, 0,
                                                          utf8, utf8_len,
                                                          glyphs_copy, 
num_glyphs,
                                                          clusters, 
num_clusters,
@@ -374,7 +378,7 @@ _cairo_tee_surface_show_text_glyphs (void               
*abstract_surface,
 
     memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
     status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
-                                                     source,
+                                                     source, 0,
                                                      utf8, utf8_len,
                                                      glyphs_copy, num_glyphs,
                                                      clusters, num_clusters,
-- 
GitLab



++++++ cairo-1.17.8-ft-font-missing-glyph.patch ++++++
>From 2766d9feeccd5d66e346b0abab38726b8e0aa1e9 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <[email protected]>
Date: Tue, 7 Mar 2023 19:40:21 +1030
Subject: [PATCH] ft: Use normal font size when detecting the format

The format may depend on the font size.

Fixes #643
---
 src/cairo-ft-font.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
index 22a6a622b..89af6193d 100644
--- a/src/cairo-ft-font.c
+++ b/src/cairo-ft-font.c
@@ -3314,11 +3314,13 @@ _cairo_ft_scaled_glyph_init_metrics 
(cairo_ft_scaled_font_t  *scaled_font,
     if (scaled_font->unscaled->have_color && 
scaled_font->base.options.color_mode != CAIRO_COLOR_MODE_NO_COLOR)
        color_flag = FT_LOAD_COLOR;
 #endif
+    /* Ensure use_em_size = FALSE as the format (bitmap or outline)
+     * may change with the size. */
     status = _cairo_ft_scaled_glyph_load_glyph (scaled_font,
                                                scaled_glyph,
                                                face,
                                                load_flags | color_flag,
-                                               !hint_metrics,
+                                               FALSE,
                                                vertical_layout);
     if (unlikely (status))
        return status;
@@ -3344,6 +3346,18 @@ _cairo_ft_scaled_glyph_init_metrics 
(cairo_ft_scaled_font_t  *scaled_font,
         glyph_priv->format =  CAIRO_FT_GLYPH_TYPE_BITMAP;
     }
 
+    /* If hinting is off, load the glyph with font size set the the em size. */
+    if (!hint_metrics) {
+       status = _cairo_ft_scaled_glyph_load_glyph (scaled_font,
+                                                   scaled_glyph,
+                                                   face,
+                                                   load_flags | color_flag,
+                                                   TRUE,
+                                                   vertical_layout);
+       if (unlikely (status))
+           return status;
+    }
+
     _cairo_ft_scaled_glyph_get_metrics (scaled_font,
                                        face,
                                        vertical_layout,
@@ -3369,6 +3383,7 @@ _cairo_ft_scaled_glyph_init_metrics 
(cairo_ft_scaled_font_t  *scaled_font,
     }
 
     if (glyph_priv->format == CAIRO_FT_GLYPH_TYPE_COLR_V1) {
+       /* Restore font size if previously loaded at em_size. */
        if (!hint_metrics) {
            status = _cairo_ft_scaled_glyph_load_glyph (scaled_font,
                                                        scaled_glyph,
-- 
GitLab



++++++ cairo-1.17.6.tar.xz -> cairo-1.17.8.tar.xz ++++++
/work/SRC/openSUSE:Factory/cairo/cairo-1.17.6.tar.xz 
/work/SRC/openSUSE:Factory/.cairo.new.31432/cairo-1.17.8.tar.xz differ: char 
25, line 1

Reply via email to