Browse Source

[trunk] -> [testing] 'cairo-1.17.2+17+g52a7c79fd-2' add

master
artoo 2 years ago
parent
commit
71cd18a912
Signed by: artoo GPG Key ID: 3292CD0BB0DB310B
  1. 27
      cairo/repos/testing-x86_64/0001-image-compositor-Remove-the-right-glyph-from-pixman-.patch
  2. 71
      cairo/repos/testing-x86_64/PKGBUILD
  3. 27
      cairo/trunk/0001-image-compositor-Remove-the-right-glyph-from-pixman-.patch
  4. 11
      cairo/trunk/PKGBUILD

27
cairo/repos/testing-x86_64/0001-image-compositor-Remove-the-right-glyph-from-pixman-.patch

@ -0,0 +1,27 @@
From d0dccb92c520556aaa02bd1fdf8f2922cef00292 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sat, 5 Oct 2019 14:07:28 +0200
Subject: [PATCH] image compositor: Remove the right glyph from pixman's cache
We need to use the index including the phase. Otherwise we leave glyphs
in the cache that cause problems later as indices are reused.
---
src/cairo-image-compositor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
index 6fccb79f1..79ad69f68 100644
--- a/src/cairo-image-compositor.c
+++ b/src/cairo-image-compositor.c
@@ -841,7 +841,7 @@ _cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
if (global_glyph_cache) {
pixman_glyph_cache_remove (
global_glyph_cache, scaled_font,
- (void *)_cairo_scaled_glyph_index (scaled_glyph));
+ (void *)scaled_glyph->hash_entry.hash);
}
CAIRO_MUTEX_UNLOCK (_cairo_glyph_cache_mutex);
--
2.23.0

71
cairo/repos/testing-x86_64/PKGBUILD

@ -0,0 +1,71 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
pkgname=cairo
pkgver=1.17.2+17+g52a7c79fd
pkgrel=2
pkgdesc="2D graphics library with support for multiple output devices"
url="https://cairographics.org/"
arch=(x86_64)
license=(LGPL MPL)
depends=(libpng libxrender libxext fontconfig pixman glib2 lzo)
makedepends=(librsvg gtk2 poppler-glib libspectre gtk-doc valgrind git)
checkdepends=(ttf-dejavu gsfonts)
_commit=52a7c79fd4ff96bb5fac175f0199819b0f8c18fc # master
source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit"
0001-image-compositor-Remove-the-right-glyph-from-pixman-.patch)
sha256sums=('SKIP'
'262bf1cebc04eaae93dbfab56045ad800b3b027be303ca2611375645108f171f')
pkgver() {
cd cairo
git describe --tags | sed 's/-/+/g'
}
prepare() {
cd cairo
# https://bugs.archlinux.org/task/63856
patch -Np1 -i ../0001-image-compositor-Remove-the-right-glyph-from-pixman-.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
# Fix typo
sed -i 's/have_png/use_png/g' configure.ac
NOCONFIGURE=1 ./autogen.sh
}
build() {
cd cairo
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-static \
--disable-gl \
--enable-tee \
--enable-svg \
--enable-ps \
--enable-pdf \
--enable-gobject \
--enable-gtk-doc \
--enable-full-testing \
--enable-test-surfaces
sed -i '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
}

27
cairo/trunk/0001-image-compositor-Remove-the-right-glyph-from-pixman-.patch

@ -0,0 +1,27 @@
From d0dccb92c520556aaa02bd1fdf8f2922cef00292 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sat, 5 Oct 2019 14:07:28 +0200
Subject: [PATCH] image compositor: Remove the right glyph from pixman's cache
We need to use the index including the phase. Otherwise we leave glyphs
in the cache that cause problems later as indices are reused.
---
src/cairo-image-compositor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
index 6fccb79f1..79ad69f68 100644
--- a/src/cairo-image-compositor.c
+++ b/src/cairo-image-compositor.c
@@ -841,7 +841,7 @@ _cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
if (global_glyph_cache) {
pixman_glyph_cache_remove (
global_glyph_cache, scaled_font,
- (void *)_cairo_scaled_glyph_index (scaled_glyph));
+ (void *)scaled_glyph->hash_entry.hash);
}
CAIRO_MUTEX_UNLOCK (_cairo_glyph_cache_mutex);
--
2.23.0

11
cairo/trunk/PKGBUILD

@ -3,7 +3,7 @@
pkgname=cairo
pkgver=1.17.2+17+g52a7c79fd
pkgrel=1
pkgrel=2
pkgdesc="2D graphics library with support for multiple output devices"
url="https://cairographics.org/"
arch=(x86_64)
@ -12,8 +12,10 @@ depends=(libpng libxrender libxext fontconfig pixman glib2 lzo)
makedepends=(librsvg gtk2 poppler-glib libspectre gtk-doc valgrind git)
checkdepends=(ttf-dejavu gsfonts)
_commit=52a7c79fd4ff96bb5fac175f0199819b0f8c18fc # master
source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit")
sha256sums=('SKIP')
source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit"
0001-image-compositor-Remove-the-right-glyph-from-pixman-.patch)
sha256sums=('SKIP'
'262bf1cebc04eaae93dbfab56045ad800b3b027be303ca2611375645108f171f')
pkgver() {
cd cairo
@ -23,6 +25,9 @@ pkgver() {
prepare() {
cd cairo
# https://bugs.archlinux.org/task/63856
patch -Np1 -i ../0001-image-compositor-Remove-the-right-glyph-from-pixman-.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

Loading…
Cancel
Save