From 0e0c0843b5adc6399cd989a9aa2616b659eb6b14 Mon Sep 17 00:00:00 2001 From: Tee KOBAYASHI Date: Fri, 4 Nov 2022 06:38:56 +0900 Subject: [PATCH] libcairo: Bump to 1.17.6 --- packages/libcairo/CVE-2018-19876.patch | 32 ------------------- packages/libcairo/build.sh | 22 +++++-------- .../cairo-1.16.0-pdf-add-missing-flush.patch | 31 ------------------ packages/libcairo/meson.build.patch | 20 ++++++++++++ 4 files changed, 28 insertions(+), 77 deletions(-) delete mode 100644 packages/libcairo/CVE-2018-19876.patch delete mode 100644 packages/libcairo/cairo-1.16.0-pdf-add-missing-flush.patch create mode 100644 packages/libcairo/meson.build.patch diff --git a/packages/libcairo/CVE-2018-19876.patch b/packages/libcairo/CVE-2018-19876.patch deleted file mode 100644 index 7add5842ba..0000000000 --- a/packages/libcairo/CVE-2018-19876.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645 - -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 - } - } - --- -GitLab - diff --git a/packages/libcairo/build.sh b/packages/libcairo/build.sh index 58c41c3864..de0b0dfaa1 100644 --- a/packages/libcairo/build.sh +++ b/packages/libcairo/build.sh @@ -2,27 +2,21 @@ TERMUX_PKG_HOMEPAGE=https://cairographics.org TERMUX_PKG_DESCRIPTION="Cairo 2D vector graphics library" TERMUX_PKG_LICENSE="LGPL-2.1" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=1.16.0 -TERMUX_PKG_REVISION=12 -TERMUX_PKG_SRCURL=https://fossies.org/linux/misc/cairo-$TERMUX_PKG_VERSION.tar.xz -TERMUX_PKG_SHA256=5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 +TERMUX_PKG_VERSION=1.17.6 +TERMUX_PKG_SRCURL=https://gitlab.freedesktop.org/cairo/cairo/-/archive/${TERMUX_PKG_VERSION}/cairo-${TERMUX_PKG_VERSION}.tar.bz2 +TERMUX_PKG_SHA256=90496d135c9ef7612c98f8ee358390cdec0825534573778a896ea021155599d2 TERMUX_PKG_DEPENDS="fontconfig, freetype, glib, libandroid-shmem, liblzo, libpixman, libpng, libx11, libxcb, libxext, libxrender, zlib" TERMUX_PKG_BREAKS="libcairo-dev, libcairo-gobject" TERMUX_PKG_REPLACES="libcairo-dev, libcairo-gobject" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" ---disable-gtk-doc-html ---disable-gl ---enable-gobject ---enable-pdf ---enable-svg ---enable-ps +-Dgl-backend=disabled +-Dpng=enabled +-Dzlib=enabled +-Dglib=enabled +-Dgtk_doc=false " -TERMUX_PKG_RM_AFTER_INSTALL="share/gtk-doc/html" - termux_step_pre_configure() { - autoreconf -fi - LDFLAGS+=" -landroid-shmem" } diff --git a/packages/libcairo/cairo-1.16.0-pdf-add-missing-flush.patch b/packages/libcairo/cairo-1.16.0-pdf-add-missing-flush.patch deleted file mode 100644 index 69fbac6490..0000000000 --- a/packages/libcairo/cairo-1.16.0-pdf-add-missing-flush.patch +++ /dev/null @@ -1,31 +0,0 @@ -https://gitlab.freedesktop.org/cairo/cairo/-/commit/4c8813f0eaacc32c27126ad2296951a626300b89 - -From 4c8813f0eaacc32c27126ad2296951a626300b89 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 25 Oct 2018 18:46:17 +1030 -Subject: [PATCH] pdf: add missing flush - -Issue #342 ---- - src/cairo-pdf-surface.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c -index 7eb61aa1e..939b2d2d7 100644 ---- a/src/cairo-pdf-surface.c -+++ b/src/cairo-pdf-surface.c -@@ -7711,6 +7711,11 @@ _cairo_pdf_surface_mask (void *abstract_surface, - * and most common, case to handle. */ - if (_cairo_pattern_is_constant_alpha (mask, &extents.bounded, &alpha) && - _can_paint_pattern (source)) { -+ -+ status = _cairo_pdf_operators_flush (&surface->pdf_operators); -+ if (unlikely (status)) -+ goto cleanup; -+ - _cairo_output_stream_printf (surface->output, "q\n"); - status = _cairo_pdf_surface_paint_pattern (surface, - op, --- -GitLab - diff --git a/packages/libcairo/meson.build.patch b/packages/libcairo/meson.build.patch new file mode 100644 index 0000000000..430b902215 --- /dev/null +++ b/packages/libcairo/meson.build.patch @@ -0,0 +1,20 @@ +--- a/meson.build ++++ b/meson.build +@@ -363,7 +363,7 @@ + + # Can skip the run check by providing the result in a cross file or + # native file as bool property value. +- prop = meson.get_external_property('ipc_rmid_deferred_release', 'auto') ++ prop = 'true' + # We don't know the type of prop (bool, string) but need to differentiate + # between a set value (bool) or the fallback value (string), so convert to + # a string and chec the string value. +@@ -890,7 +890,7 @@ + conf.set('ATOMIC_OP_NEEDS_MEMORY_BARRIER', 1) + endif + +-have_ld_preload = ['linux', 'freebsd', 'darwin', 'dragonfly'].contains(host_machine.system()) ++have_ld_preload = ['linux', 'android', 'freebsd', 'darwin', 'dragonfly'].contains(host_machine.system()) + + if have_ld_preload and zlib_dep.found() and conf.get('CAIRO_HAS_REAL_PTHREAD', 0) == 1 and conf.get('CAIRO_HAS_DLSYM', 0) == 1 + conf.set('CAIRO_HAS_TRACE', 1)