diff --git a/extra/pixman/PKGBUILD b/extra/pixman/PKGBUILD index aef5126c4..3a310762d 100644 --- a/extra/pixman/PKGBUILD +++ b/extra/pixman/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 147073 2012-01-21 15:12:23Z andyrtr $ +# $Id: PKGBUILD 149216 2012-02-06 13:29:48Z jgc $ # Maintainer: Jan de Groot # Contributor: Alexander Baldeck @@ -9,18 +9,21 @@ plugrel=1 pkgname=pixman pkgver=0.24.2 -pkgrel=1 -pkgdesc="Pixman library" +pkgrel=2 +pkgdesc="The pixel-manipulation library for X and cairo" arch=(i686 x86_64) url="http://xorg.freedesktop.org" license=('custom') depends=('glibc') options=('!libtool') -source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('233eed3cd16ee1b2a842140477503d2c68b74418') +source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2 +revert-reject-trapezoids-where-top-is-above-the-edges.patch) +sha1sums=('233eed3cd16ee1b2a842140477503d2c68b74418' + 'ee36251d47ccefd5e276cabdba9917fbb2be787a') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/revert-reject-trapezoids-where-top-is-above-the-edges.patch" [[ $CARCH = "arm" ]] && CONFIG="--disable-arm-simd --disable-arm-neon --disable-arm-iwmmxt" [[ $CARCH = "armv7h" ]] && CONFIG="--disable-arm-neon --disable-arm-iwmmxt" ./configure --prefix=/usr --disable-static $CONFIG diff --git a/extra/pixman/revert-reject-trapezoids-where-top-is-above-the-edges.patch b/extra/pixman/revert-reject-trapezoids-where-top-is-above-the-edges.patch new file mode 100644 index 000000000..e661db57c --- /dev/null +++ b/extra/pixman/revert-reject-trapezoids-where-top-is-above-the-edges.patch @@ -0,0 +1,47 @@ +From e5555d7a749c90288463ed1c294f58963c607e52 Mon Sep 17 00:00:00 2001 +From: Søren Sandmann Pedersen +Date: Wed, 25 Jan 2012 19:03:05 +0000 +Subject: Revert "Reject trapezoids where top (botttom) is above (below) the edges" + +Cairo 1.10 will sometimes generate trapezoids like this, so we can't +consider them invalid. Fixes bug 45009, reported by Michael Biebl. + +This reverts commit 2437ae80e5066dec9fe52f56b016bf136d7cea06. +--- +diff --git a/pixman/pixman.h b/pixman/pixman.h +index 20ff496..18d9513 100644 +--- a/pixman/pixman.h ++++ b/pixman/pixman.h +@@ -908,14 +908,10 @@ struct pixman_triangle + }; + + /* whether 't' is a well defined not obviously empty trapezoid */ +-#define pixman_trapezoid_valid(t) \ +- ((t)->left.p1.y != (t)->left.p2.y && \ +- (t)->right.p1.y != (t)->right.p2.y && \ +- (int) ((t)->bottom - (t)->top) > 0 && \ +- (t)->bottom <= (t)->left.p2.y && \ +- (t)->bottom <= (t)->right.p2.y && \ +- (t)->top >= (t)->left.p1.y && \ +- (t)->top >= (t)->right.p1.y) ++#define pixman_trapezoid_valid(t) \ ++ ((t)->left.p1.y != (t)->left.p2.y && \ ++ (t)->right.p1.y != (t)->right.p2.y && \ ++ (int) ((t)->bottom - (t)->top) > 0) + + struct pixman_span_fix + { +diff --git a/test/composite-traps-test.c b/test/composite-traps-test.c +index de518d8..ff03b50 100644 +--- a/test/composite-traps-test.c ++++ b/test/composite-traps-test.c +@@ -251,6 +251,6 @@ test_composite (int testnum, + int + main (int argc, const char *argv[]) + { +- return fuzzer_test_main("composite traps", 40000, 0x4346479C, ++ return fuzzer_test_main("composite traps", 40000, 0xE3112106, + test_composite, argc, argv); + } +-- +cgit v0.9.0.2-2-gbebe