Date: Thursday, September 9, 2010 @ 17:56:54 Author: jgc Revision: 90247
upgpkg: cairo 1.10.0-2 Do not use server-side gradients. It hurts performance, and causes bad rendering on at least nvidia. Added: cairo/trunk/cairo-1.10.0-buggy_gradients.patch Modified: cairo/trunk/PKGBUILD ------------------------------------+ PKGBUILD | 9 ++++++--- cairo-1.10.0-buggy_gradients.patch | 13 +++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-09-09 21:00:14 UTC (rev 90246) +++ PKGBUILD 2010-09-09 21:56:54 UTC (rev 90247) @@ -4,7 +4,7 @@ pkgname=cairo pkgver=1.10.0 -pkgrel=1 +pkgrel=2 pkgdesc="Cairo vector graphics library" arch=(i686 x86_64) license=('LGPL' 'MPL') @@ -12,11 +12,14 @@ depends=('libpng>=1.4.0' 'libxrender' 'fontconfig>=2.8.0' 'pixman>=0.18.4' 'glib2>=2.24.0') makedepends=('pkgconfig') options=('!libtool') -source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz) -sha1sums=('efe7e47408d5188690228ccadc8523652f6bf702') +source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz + cairo-1.10.0-buggy_gradients.patch) +sha1sums=('efe7e47408d5188690228ccadc8523652f6bf702' + '8b843a9934e5112b6188e5bcf4adfc1fdaf9fa04') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/cairo-1.10.0-buggy_gradients.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static make Added: cairo-1.10.0-buggy_gradients.patch =================================================================== --- cairo-1.10.0-buggy_gradients.patch (rev 0) +++ cairo-1.10.0-buggy_gradients.patch 2010-09-09 21:56:54 UTC (rev 90247) @@ -0,0 +1,13 @@ +--- a/src/cairo-xlib-display.c.ubuntu 2010-08-04 11:57:49.000000000 +0200 ++++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200 +@@ -353,11 +353,7 @@ + /* Prior to Render 0.10, there is no protocol support for gradients and + * we call function stubs instead, which would silently consume the drawing. + */ +-#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 + display->buggy_gradients = TRUE; +-#else +- display->buggy_gradients = FALSE; +-#endif + display->buggy_pad_reflect = FALSE; + display->buggy_repeat = FALSE;