[arch-commits] Commit in lib32-cairo/repos (3 files)
Laurent Carlier
lcarlier at archlinux.org
Thu Feb 14 09:00:05 UTC 2019
Date: Thursday, February 14, 2019 @ 09:00:03
Author: lcarlier
Revision: 432176
archrelease: copy trunk to multilib-testing-x86_64
Added:
lib32-cairo/repos/multilib-testing-x86_64/
lib32-cairo/repos/multilib-testing-x86_64/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch
(from rev 432175, lib32-cairo/trunk/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch)
lib32-cairo/repos/multilib-testing-x86_64/PKGBUILD
(from rev 432175, lib32-cairo/trunk/PKGBUILD)
-----------------------------------------------------------------+
0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch | 32 ++++
PKGBUILD | 74 ++++++++++
2 files changed, 106 insertions(+)
Copied: lib32-cairo/repos/multilib-testing-x86_64/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch (from rev 432175, lib32-cairo/trunk/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch)
===================================================================
--- multilib-testing-x86_64/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch (rev 0)
+++ multilib-testing-x86_64/0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch 2019-02-14 09:00:03 UTC (rev 432176)
@@ -0,0 +1,32 @@
+From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <cgarcia at igalia.com>
+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
+
+Signed-off-by: Laurent Carlier <lordheavym at gmail.com>
+---
+ 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.20.1
+
Copied: lib32-cairo/repos/multilib-testing-x86_64/PKGBUILD (from rev 432175, lib32-cairo/trunk/PKGBUILD)
===================================================================
--- multilib-testing-x86_64/PKGBUILD (rev 0)
+++ multilib-testing-x86_64/PKGBUILD 2019-02-14 09:00:03 UTC (rev 432176)
@@ -0,0 +1,74 @@
+# Contributor: Ionut Biru <ibiru at archlinux.org>
+
+pkgname=lib32-cairo
+pkgver=1.16.0
+pkgrel=2
+pkgdesc="2D graphics library with support for multiple output devices (32-bit)"
+url="https://cairographics.org/"
+arch=(x86_64)
+license=(LGPL MPL)
+depends=(lib32-libpng lib32-libxrender lib32-libxext lib32-fontconfig lib32-pixman lib32-glib2
+ cairo)
+makedepends=(lib32-librsvg lib32-gtk2 gtk-doc valgrind git)
+checkdepends=(ttf-dejavu gsfonts)
+_commit=3ad43122b21a3299dd729dc8462d6b8f7f01142d # tags/1.16.0^0
+source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit"
+ 0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch)
+sha1sums=('SKIP'
+ '9850a5b06e300055676ad1f5dfa90ecba0fe623c')
+
+pkgver() {
+ cd cairo
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd cairo
+
+ # CVE-2018-19876
+ patch -Np1 -i ../0001-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch
+
+ # Update gtk-doc
+ cp /usr/share/aclocal/gtk-doc.m4 build/aclocal.gtk-doc.m4
+ cp /usr/share/gtk-doc/data/gtk-doc.make build/Makefile.am.gtk-doc
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd cairo
+ ./configure --prefix=/usr \
+ --libdir=/usr/lib32 \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-gl \
+ --enable-tee \
+ --enable-svg \
+ --enable-ps \
+ --enable-pdf \
+ --enable-gobject \
+ --disable-gtk-doc \
+ --enable-full-testing \
+ --enable-test-surfaces
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+check() {
+ cd cairo
+ # FIXME: tests don't pass
+ env CAIRO_TEST_TARGET=image \
+ CAIRO_TEST_TARGET_FORMAT=rgba \
+ CAIRO_TESTS='!pthread-show-text' make -k check || :
+}
+
+package() {
+ cd cairo
+ make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir"/usr/{include,bin}
+}
More information about the arch-commits
mailing list