[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