From ea584ca6b864fb273c91bad0c8506dd7ab2a8a7a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Dec 11 2020 14:22:33 +0000 Subject: Update to 1.17.4 --- diff --git a/.gitignore b/.gitignore index 40b1e44..494f716 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ cairo-1.9.14.tar.gz /cairo-1.15.12.tar.xz /cairo-1.15.14.tar.xz /cairo-1.16.0.tar.xz +/cairo-1.17.4.tar.xz diff --git a/0001-cff-Allow-empty-array-of-operands-for-certain-operat.patch b/0001-cff-Allow-empty-array-of-operands-for-certain-operat.patch deleted file mode 100644 index ac9784b..0000000 --- a/0001-cff-Allow-empty-array-of-operands-for-certain-operat.patch +++ /dev/null @@ -1,116 +0,0 @@ -From ef959bc76e65ea0b0d4ba3ee50dfbce31c3484ad Mon Sep 17 00:00:00 2001 -From: Marek Kasik -Date: Fri, 27 Mar 2020 19:39:46 +0100 -Subject: [PATCH] cff: Allow empty array of operands for certain operators - -Operators BlueValues, OtherBlues, FamilyBlues, FamilyOtherBlues, -StemSnapH and StemSnapV have operands of type delta which can be -a number or an array of delta-encoded numbers. This array can be -empty according to freetype developers. -This commit checks whether current operator is among those listed -and permits empty operand in such case. ---- - src/cairo-cff-subset.c | 78 ++++++++++++++++++++++++++---------------- - 1 file changed, 49 insertions(+), 29 deletions(-) - -diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c -index 37727eddb..fce4195e9 100644 ---- a/src/cairo-cff-subset.c -+++ b/src/cairo-cff-subset.c -@@ -56,30 +56,36 @@ - - /* CFF Dict Operators. If the high byte is 0 the command is encoded - * with a single byte. */ --#define BASEFONTNAME_OP 0x0c16 --#define CIDCOUNT_OP 0x0c22 --#define CHARSET_OP 0x000f --#define CHARSTRINGS_OP 0x0011 --#define COPYRIGHT_OP 0x0c00 --#define DEFAULTWIDTH_OP 0x0014 --#define ENCODING_OP 0x0010 --#define FAMILYNAME_OP 0x0003 --#define FDARRAY_OP 0x0c24 --#define FDSELECT_OP 0x0c25 --#define FONTBBOX_OP 0x0005 --#define FONTMATRIX_OP 0x0c07 --#define FONTNAME_OP 0x0c26 --#define FULLNAME_OP 0x0002 --#define LOCAL_SUB_OP 0x0013 --#define NOMINALWIDTH_OP 0x0015 --#define NOTICE_OP 0x0001 --#define POSTSCRIPT_OP 0x0c15 --#define PRIVATE_OP 0x0012 --#define ROS_OP 0x0c1e --#define UNIQUEID_OP 0x000d --#define VERSION_OP 0x0000 --#define WEIGHT_OP 0x0004 --#define XUID_OP 0x000e -+#define BASEFONTNAME_OP 0x0c16 -+#define CIDCOUNT_OP 0x0c22 -+#define CHARSET_OP 0x000f -+#define CHARSTRINGS_OP 0x0011 -+#define COPYRIGHT_OP 0x0c00 -+#define DEFAULTWIDTH_OP 0x0014 -+#define ENCODING_OP 0x0010 -+#define FAMILYNAME_OP 0x0003 -+#define FDARRAY_OP 0x0c24 -+#define FDSELECT_OP 0x0c25 -+#define FONTBBOX_OP 0x0005 -+#define FONTMATRIX_OP 0x0c07 -+#define FONTNAME_OP 0x0c26 -+#define FULLNAME_OP 0x0002 -+#define LOCAL_SUB_OP 0x0013 -+#define NOMINALWIDTH_OP 0x0015 -+#define NOTICE_OP 0x0001 -+#define POSTSCRIPT_OP 0x0c15 -+#define PRIVATE_OP 0x0012 -+#define ROS_OP 0x0c1e -+#define UNIQUEID_OP 0x000d -+#define VERSION_OP 0x0000 -+#define WEIGHT_OP 0x0004 -+#define XUID_OP 0x000e -+#define BLUEVALUES_OP 0x0006 -+#define OTHERBLUES_OP 0x0007 -+#define FAMILYBLUES_OP 0x0008 -+#define FAMILYOTHERBLUES_OP 0x0009 -+#define STEMSNAPH_OP 0x0c0c -+#define STEMSNAPV_OP 0x0c0d - - #define NUM_STD_STRINGS 391 - -@@ -615,13 +621,27 @@ cff_dict_create_operator (int operator, - return _cairo_error (CAIRO_STATUS_NO_MEMORY); - - _cairo_dict_init_key (op, operator); -- op->operand = _cairo_malloc (size); -- if (unlikely (op->operand == NULL)) { -- free (op); -- return _cairo_error (CAIRO_STATUS_NO_MEMORY); -+ if (size != 0) { -+ op->operand = _cairo_malloc (size); -+ if (unlikely (op->operand == NULL)) { -+ free (op); -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); -+ } -+ memcpy (op->operand, operand, size); -+ } else { -+ op->operand = NULL; -+ /* Delta-encoded arrays can be empty. */ -+ if (operator != BLUEVALUES_OP && -+ operator != OTHERBLUES_OP && -+ operator != FAMILYBLUES_OP && -+ operator != FAMILYOTHERBLUES_OP && -+ operator != STEMSNAPH_OP && -+ operator != STEMSNAPV_OP) { -+ free (op); -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); -+ } - } - -- memcpy (op->operand, operand, size); - op->operand_length = size; - op->operand_offset = -1; - --- -2.26.0 - diff --git a/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch b/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch deleted file mode 100644 index 3709c5a..0000000 --- a/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >= 2.9 ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..981973f78 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } - --- -2.19.2 - diff --git a/cairo-composite_color_glyphs.patch b/cairo-composite_color_glyphs.patch deleted file mode 100644 index fe8860e..0000000 --- a/cairo-composite_color_glyphs.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 79ad01724161502e8d9d2bd384ff1f0174e5df6e Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Thu, 30 May 2019 07:30:55 -0400 -Subject: [PATCH] Fix a thinko in composite_color_glyphs - -We can't just move around the contents of the -passed-in string, we need to make a copy. This -was showing up as memory corruption in pango. - -See https://gitlab.gnome.org/GNOME/pango/issues/346 ---- - src/cairo-surface.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/src/cairo-surface.c b/src/cairo-surface.c -index c30f84087..e112b660a 100644 ---- a/src/cairo-surface.c -+++ b/src/cairo-surface.c -@@ -2820,6 +2820,7 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface, - const cairo_clip_t *clip) - { - cairo_int_status_t status; -+ char *utf8_copy = NULL; - - TRACE ((stderr, "%s\n", __FUNCTION__)); - if (unlikely (surface->status)) -@@ -2847,6 +2848,10 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface, - status = CAIRO_INT_STATUS_UNSUPPORTED; - - if (_cairo_scaled_font_has_color_glyphs (scaled_font)) { -+ utf8_copy = malloc (sizeof (char) * utf8_len); -+ memcpy (utf8_copy, utf8, sizeof (char) * utf8_len); -+ utf8 = utf8_copy; -+ - status = composite_color_glyphs (surface, op, - source, - (char *)utf8, &utf8_len, -@@ -2861,6 +2866,8 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface, - if (num_glyphs == 0) - goto DONE; - } -+ else -+ utf8_copy = NULL; - - /* The logic here is duplicated in _cairo_analysis_surface show_glyphs and - * show_text_glyphs. Keep in synch. */ -@@ -2918,6 +2925,9 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface, - surface->serial++; - } - -+ if (utf8_copy) -+ free (utf8_copy); -+ - return _cairo_surface_set_error (surface, status); - } - diff --git a/cairo.spec b/cairo.spec index 062ba36..98c16c7 100644 --- a/cairo.spec +++ b/cairo.spec @@ -10,28 +10,19 @@ %endif Name: cairo -Version: 1.16.0 -Release: 9%{?dist} +Version: 1.17.4 +Release: 1%{?dist} Summary: A 2D graphics library License: LGPLv2 or MPLv1.1 URL: http://cairographics.org -Source0: http://cairographics.org/releases/%{name}-%{version}.tar.xz +Source0: http://cairographics.org/snapshots/%{name}-%{version}.tar.xz Patch3: cairo-multilib.patch # https://gitlab.freedesktop.org/cairo/cairo/merge_requests/1 Patch4: 0001-Set-default-LCD-filter-to-FreeType-s-default.patch -# https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5 -Patch5: 0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch - -# https://github.com/matthiasclasen/cairo/commit/79ad01724161502e8d9d2bd384ff1f0174e5df6e -Patch6: cairo-composite_color_glyphs.patch - -# https://bugzilla.redhat.com/show_bug.cgi?id=1817958 -Patch7: 0001-cff-Allow-empty-array-of-operands-for-certain-operat.patch - BuildRequires: gcc BuildRequires: pkgconfig BuildRequires: libXrender-devel @@ -127,7 +118,6 @@ find $RPM_BUILD_ROOT -name '*.la' -delete %doc AUTHORS BIBLIOGRAPHY BUGS NEWS README %{_libdir}/libcairo.so.* %{_libdir}/libcairo-script-interpreter.so.* -%{_bindir}/cairo-sphinx %files devel %doc ChangeLog PORTING_GUIDE @@ -182,6 +172,9 @@ find $RPM_BUILD_ROOT -name '*.la' -delete %{_libdir}/cairo/ %changelog +* Fri Dec 11 2020 Kalev Lember - 1.17.4-1 +- Update to 1.17.4 + * Mon Jul 27 2020 Fedora Release Engineering - 1.16.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index a66c9cb..7a8abb3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cairo-1.16.0.tar.xz) = 9eb27c4cf01c0b8b56f2e15e651f6d4e52c99d0005875546405b64f1132aed12fbf84727273f493d84056a13105e065009d89e94a8bfaf2be2649e232b82377f +SHA512 (cairo-1.17.4.tar.xz) = 843dce4f1cb5d9fb0c33240dff658ba2723bf04697045d16669e4b7674a5287ef0eb3d960a688a129902fb714230263e35d085186dc220b65307b5ad7fa09d23