diff --git a/0001-Set-default-LCD-filter-to-FreeType-s-default.patch b/0001-Set-default-LCD-filter-to-FreeType-s-default.patch deleted file mode 100644 index 854eb0e1c448ae644141e57afbab4cc6b7c969d8..0000000000000000000000000000000000000000 --- a/0001-Set-default-LCD-filter-to-FreeType-s-default.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 12a5b7384f35d9a3f4c6b151fac4857444db3d6a Mon Sep 17 00:00:00 2001 -From: Nikolaus Waxweiler -Date: Sat, 10 Nov 2018 16:44:23 +0000 -Subject: [PATCH] Set default LCD filter to FreeType's default - ---- - src/cairo-ft-font.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..3c47dc12e 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -1404,7 +1404,7 @@ _render_glyph_outline (FT_Face face, - cairo_image_surface_t **surface) - { - int rgba = FC_RGBA_UNKNOWN; -- int lcd_filter = FT_LCD_FILTER_LEGACY; -+ int lcd_filter = FT_LCD_FILTER_DEFAULT; - FT_GlyphSlot glyphslot = face->glyph; - FT_Outline *outline = &glyphslot->outline; - FT_Bitmap bitmap; -@@ -1439,13 +1439,13 @@ _render_glyph_outline (FT_Face face, - case CAIRO_LCD_FILTER_NONE: - lcd_filter = FT_LCD_FILTER_NONE; - break; -- case CAIRO_LCD_FILTER_DEFAULT: - case CAIRO_LCD_FILTER_INTRA_PIXEL: - lcd_filter = FT_LCD_FILTER_LEGACY; - break; - case CAIRO_LCD_FILTER_FIR3: - lcd_filter = FT_LCD_FILTER_LIGHT; - break; -+ case CAIRO_LCD_FILTER_DEFAULT: - case CAIRO_LCD_FILTER_FIR5: - lcd_filter = FT_LCD_FILTER_DEFAULT; - break; -@@ -3416,7 +3416,6 @@ _cairo_ft_font_options_substitute (const cairo_font_options_t *options, - case CAIRO_LCD_FILTER_NONE: - lcd_filter = FT_LCD_FILTER_NONE; - break; -- case CAIRO_LCD_FILTER_DEFAULT: - case CAIRO_LCD_FILTER_INTRA_PIXEL: - lcd_filter = FT_LCD_FILTER_LEGACY; - break; -@@ -3424,6 +3423,7 @@ _cairo_ft_font_options_substitute (const cairo_font_options_t *options, - lcd_filter = FT_LCD_FILTER_LIGHT; - break; - default: -+ case CAIRO_LCD_FILTER_DEFAULT: - case CAIRO_LCD_FILTER_FIR5: - lcd_filter = FT_LCD_FILTER_DEFAULT; - break; --- -2.19.1 - diff --git a/cairo-1.17.6-meson-fixes.patch b/cairo-1.17.6-meson-fixes.patch deleted file mode 100644 index ea02448513c4f4a739cb9b7ead62353f13cf5a41..0000000000000000000000000000000000000000 --- a/cairo-1.17.6-meson-fixes.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff -urN cairo-1.17.6.old/doc/public/meson.build cairo-1.17.6/doc/public/meson.build ---- cairo-1.17.6.old/doc/public/meson.build 1970-01-01 01:00:00.000000000 +0100 -+++ cairo-1.17.6/doc/public/meson.build 2022-03-20 16:22:31.018317576 +0000 -@@ -0,0 +1,156 @@ -+gnome = import('gnome') -+ -+ignore_headers = [ -+ # Sub-directories -+ 'win32', -+ -+ # Internal headers -+ 'cairoint.h', -+ 'cairo-features.h', -+ 'cairo-features-win32.h', -+ -+ # Inlined API -+ 'cairo-box-inline.h', -+ 'cairo-clip-inline.h', -+ 'cairo-combsort-inline.h', -+ 'cairo-contour-inline.h', -+ 'cairo-error-inline.h', -+ 'cairo-image-surface-inline.h', -+ 'cairo-line-inline.h', -+ 'cairo-list-inline.h', -+ 'cairo-pattern-inline.h', -+ 'cairo-recording-surface-inline.h', -+ 'cairo-surface-inline.h', -+ 'cairo-surface-observer-inline.h', -+ 'cairo-surface-snapshot-inline.h', -+ 'cairo-surface-subsurface-inline.h', -+ -+ # Private headers -+ 'cairo-analysis-surface-private.h', -+ 'cairo-arc-private.h', -+ 'cairo-array-private.h', -+ 'cairo-atomic-private.h', -+ 'cairo-backend-private.h', -+ 'cairo-boxes-private.h', -+ 'cairo-cache-private.h', -+ 'cairo-clip-private.h', -+ 'cairo-compiler-private.h', -+ 'cairo-composite-rectangles-private.h', -+ 'cairo-compositor-private.h', -+ 'cairo-contour-private.h', -+ 'cairo-damage-private.h', -+ 'cairo-default-context-private.h', -+ 'cairo-deprecated.h', -+ 'cairo-device-private.h', -+ 'cairo-error-private.h', -+ 'cairo-fixed-private.h', -+ 'cairo-fixed-type-private.h', -+ 'cairo-fontconfig-private.h', -+ 'cairo-freed-pool-private.h', -+ 'cairo-freelist-private.h', -+ 'cairo-freelist-type-private.h', -+ 'cairo-ft-private.h', -+ 'cairo-gstate-private.h', -+ 'cairo-hash-private.h', -+ 'cairo-image-info-private.h', -+ 'cairo-image-surface-private.h', -+ 'cairo-line-private.h', -+ 'cairo-list-private.h', -+ 'cairo-malloc-private.h', -+ 'cairo-mempool-private.h', -+ 'cairo-mutex-impl-private.h', -+ 'cairo-mutex-list-private.h', -+ 'cairo-mutex-private.h', -+ 'cairo-mutex-type-private.h', -+ 'cairo-output-stream-private.h', -+ 'cairo-paginated-private.h', -+ 'cairo-paginated-surface-private.h', -+ 'cairo-path-fixed-private.h', -+ 'cairo-path-private.h', -+ 'cairo-pattern-private.h', -+ 'cairo-pdf-operators-private.h', -+ 'cairo-pdf-shading-private.h', -+ 'cairo-pdf-surface-private.h', -+ 'cairo-pixman-private.h', -+ 'cairo-private.h', -+ 'cairo-ps-surface-private.h', -+ 'cairo-quartz-private.h', -+ 'cairo-recording-surface-private.h', -+ 'cairo-reference-count-private.h', -+ 'cairo-region-private.h', -+ 'cairo-rtree-private.h', -+ 'cairo-scaled-font-private.h', -+ 'cairo-scaled-font-subsets-private.h', -+ 'cairo-script-private.h', -+ 'cairo-slope-private.h', -+ 'cairo-spans-compositor-private.h', -+ 'cairo-spans-private.h', -+ 'cairo-stroke-dash-private.h', -+ 'cairo-surface-backend-private.h', -+ 'cairo-surface-clipper-private.h', -+ 'cairo-surface-fallback-private.h', -+ 'cairo-surface-observer-private.h', -+ 'cairo-surface-offset-private.h', -+ 'cairo-surface-private.h', -+ 'cairo-surface-snapshot-private.h', -+ 'cairo-surface-subsurface-private.h', -+ 'cairo-surface-wrapper-private.h', -+ 'cairo-svg-surface-private.h', -+ 'cairo-tag-attributes-private.h', -+ 'cairo-tag-stack-private.h', -+ 'cairo-tee-surface-private.h', -+ 'cairo-time-private.h', -+ 'cairo-traps-private.h', -+ 'cairo-tristrip-private.h', -+ 'cairo-truetype-subset-private.h', -+ 'cairo-type1-private.h', -+ 'cairo-type3-glyph-surface-private.h', -+ 'cairo-types-private.h', -+ 'cairo-user-font-private.h', -+ 'cairo-wideint-private.h', -+ 'cairo-wideint-type-private.h', -+ 'cairo-xcb-private.h', -+ 'cairo-xlib-private.h', -+ 'cairo-xlib-surface-private.h', -+ 'cairo-xlib-xrender-private.h', -+ 'test-compositor-surface-private.h', -+] -+ -+ignore_decorators = [ -+ 'cairo_public', -+ 'cairo_private', -+] -+ -+docpath = get_option('prefix') / get_option('datadir') / 'gtk-doc/html' -+version_conf = configuration_data() -+version_conf.set('CAIRO_VERSION', meson.project_version()) -+configure_file( -+ input: 'version.xml.in', -+ output: 'version.xml', -+ configuration: version_conf -+) -+ -+gnome.gtkdoc('cairo', -+ main_xml: 'cairo-docs.xml', -+ namespace: 'cairo', -+ mode: 'sgml', -+ src_dir: doc_srcdir, -+ dependencies: libcairo_dep, -+ scan_args: [ -+ '--ignore-decorators=' + '|'.join(ignore_decorators), -+ '--ignore-headers=' + ' '.join(ignore_headers), -+ ], -+ content_files: [ -+ 'language-bindings.xml', -+ ], -+ expand_content_files: [ -+ 'language-bindings.xml', -+ ], -+ html_assets: [ -+ ], -+ fixxref_args: [ -+ '--html-dir=' + docpath, -+ ], -+ install: true, -+ check: true, -+) -diff -urN cairo-1.17.6.old/doc/public/version.xml.in cairo-1.17.6/doc/public/version.xml.in ---- cairo-1.17.6.old/doc/public/version.xml.in 1970-01-01 01:00:00.000000000 +0100 -+++ cairo-1.17.6/doc/public/version.xml.in 2022-03-20 16:33:04.015756161 +0000 -@@ -0,0 +1 @@ -+@CAIRO_VERSION@ -diff -urN cairo-1.17.6.old/meson-cc-tests/check-unused-result.c cairo-1.17.6/meson-cc-tests/check-unused-result.c ---- cairo-1.17.6.old/meson-cc-tests/check-unused-result.c 1970-01-01 01:00:00.000000000 +0100 -+++ cairo-1.17.6/meson-cc-tests/check-unused-result.c 2022-03-20 15:55:39.285562258 +0000 -@@ -0,0 +1,9 @@ -+__attribute__((__warn_unused_result__)) void f (void) {} -+__attribute__((__warn_unused_result__)) int g; -+ -+int main(int c, char **v) -+{ -+ (void)c; -+ (void)v; -+ return 0; -+} diff --git a/cairo-1.17.8-tee-surface-fix.patch b/cairo-1.17.8-tee-surface-fix.patch new file mode 100644 index 0000000000000000000000000000000000000000..df8f57311ae63852de94626eb6786a09d0903960 --- /dev/null +++ b/cairo-1.17.8-tee-surface-fix.patch @@ -0,0 +1,109 @@ +From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001 +From: Emmanuele Bassi +Date: Fri, 3 Feb 2023 15:40:12 +0100 +Subject: 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, +-- +cgit v1.2.1 + diff --git a/cairo-1.17.6.tar.xz b/cairo-1.17.8.tar.xz similarity index 78% rename from cairo-1.17.6.tar.xz rename to cairo-1.17.8.tar.xz index 7933594191e0c1cd3a0036373200d264a1ddebf3..4006ce2e3e0a6a4cacf4005f2362660c296fc823 100644 Binary files a/cairo-1.17.6.tar.xz and b/cairo-1.17.8.tar.xz differ diff --git a/cairo.spec b/cairo.spec index c465e7908649bcce44841bf9855a434a77316783..86dec28bdcd1f7438f1baa14dd90f385d5a30cce 100644 --- a/cairo.spec +++ b/cairo.spec @@ -1,17 +1,16 @@ -%define anolis_release 3 +%define anolis_release 1 Name: cairo -Version: 1.17.6 +Version: 1.17.8 Release: %{anolis_release}%{?dist} Summary: A 2D graphics library License: LGPLv2 or MPLv1.1 URL: http://cairographics.org -Source0: https://download.gnome.org/sources/%{name}/1.17/%{name}-%{version}.tar.xz -# https://gitlab.freedesktop.org/cairo/cairo/merge_requests/1 -Patch1: 0001-Set-default-LCD-filter-to-FreeType-s-default.patch -# https://gitlab.freedesktop.org/cairo/cairo/-/issues/547 -Patch2: cairo-1.17.6-meson-fixes.patch +Source0: https://cairographics.org/snapshots/%{name}-%{version}.tar.xz +# https://gitlab.freedesktop.org/cairo/cairo/-/issues/634 +# - https://cgit.freedesktop.org/cairo/commit/?id=5e42a5277eddafd312a73e355d7775a4401dae4e +Patch1: cairo-1.17.8-tee-surface-fix.patch BuildRequires: gcc BuildRequires: gtk-doc BuildRequires: meson >= 0.56.0 @@ -123,10 +122,9 @@ This package contains tools for working with the cairo graphics library. %{abidir}/libcairo-script-interpreter.dump %files doc -%doc AUTHORS BIBLIOGRAPHY BUGS NEWS README +%doc AUTHORS BUGS NEWS README.md doc/bibliography.md %files devel -%doc ChangeLog PORTING_GUIDE %dir %{_includedir}/cairo/ %{_includedir}/cairo/cairo-deprecated.h %{_includedir}/cairo/cairo-features.h @@ -179,6 +177,9 @@ This package contains tools for working with the cairo graphics library. %{abidir}/libcairo-trace.dump %changelog +* Mon Feb 6 2023 Funda Wang - 1.17.8-1 +- New version 1.17.8 + * Sun Jan 29 2023 Funda Wang - 1.17.6-3 - Build with meson - GL backends disabled by default as upstream