Tue Sep 16 21:22:34 2008 UTC ()
Add two patches from GIT:

- Fix bug in pixman_image_is_opaque().
- Fix for bug 17477 (see patch-ag).

While here, add missing .PHONY attribute for gen-symfile target.

PKGREVISION++, but no recursive dependency bump necessary.


(bjs)
diff -r1.19 -r1.20 pkgsrc/x11/pixman/Makefile
diff -r1.19 -r1.20 pkgsrc/x11/pixman/distinfo
diff -r0 -r1.4 pkgsrc/x11/pixman/patches/patch-af
diff -r0 -r1.1 pkgsrc/x11/pixman/patches/patch-ag

cvs diff -r1.19 -r1.20 pkgsrc/x11/pixman/Makefile (expand / switch to unified diff)

--- pkgsrc/x11/pixman/Makefile 2008/09/06 20:13:13 1.19
+++ pkgsrc/x11/pixman/Makefile 2008/09/16 21:22:34 1.20
@@ -1,30 +1,31 @@ @@ -1,30 +1,31 @@
1# $NetBSD: Makefile,v 1.19 2008/09/06 20:13:13 bjs Exp $ 1# $NetBSD: Makefile,v 1.20 2008/09/16 21:22:34 bjs Exp $
2# 2#
3 3
4DISTNAME= pixman-0.11.10 4DISTNAME= pixman-0.11.10
 5PKGREVISION= 1
5CATEGORIES= x11 6CATEGORIES= x11
6MASTER_SITES= ${MASTER_SITE_XORG:=lib/} 7MASTER_SITES= ${MASTER_SITE_XORG:=lib/}
7EXTRACT_SUFX= .tar.bz2 8EXTRACT_SUFX= .tar.bz2
8 9
9MAINTAINER= bjs@NetBSD.org 10MAINTAINER= bjs@NetBSD.org
10HOMEPAGE= http://xorg.freedesktop.org/ 11HOMEPAGE= http://xorg.freedesktop.org/
11COMMENT= Library of low-level pixel manipulation routines 12COMMENT= Library of low-level pixel manipulation routines
12 13
13PKG_DESTDIR_SUPPORT= user-destdir 14PKG_DESTDIR_SUPPORT= user-destdir
14 15
15GNU_CONFIGURE= yes 16GNU_CONFIGURE= yes
16USE_LIBTOOL= yes 17USE_LIBTOOL= yes
17USE_TOOLS+= pkg-config perl diff awk 18USE_TOOLS+= pkg-config perl diff
18### 19###
19### XXX Quiet, please! 20### XXX Quiet, please!
20### 21###
21.if empty(USE_TOOLS:Mauto*) 22.if empty(USE_TOOLS:Mauto*)
22CONFIGURE_ENV+= AUTOCONF=${TRUE:Q} 23CONFIGURE_ENV+= AUTOCONF=${TRUE:Q}
23CONFIGURE_ENV+= AUTOHEADER=${TRUE:Q} 24CONFIGURE_ENV+= AUTOHEADER=${TRUE:Q}
24CONFIGURE_ENV+= ACLOCAL=${TRUE:Q} 25CONFIGURE_ENV+= ACLOCAL=${TRUE:Q}
25CONFIGURE_ENV+= AUTOMAKE=${TRUE:Q} 26CONFIGURE_ENV+= AUTOMAKE=${TRUE:Q}
26.endif 27.endif
27 28
28PKGCONFIG_OVERRIDE+= pixman-1.pc.in 29PKGCONFIG_OVERRIDE+= pixman-1.pc.in
29PKGCONFIG_OVERRIDE+= pixman-1-uninstalled.pc.in 30PKGCONFIG_OVERRIDE+= pixman-1-uninstalled.pc.in
30### 31###
@@ -35,21 +36,22 @@ PKGCONFIG_OVERRIDE+= pixman-1-uninstalle @@ -35,21 +36,22 @@ PKGCONFIG_OVERRIDE+= pixman-1-uninstalle
35### 36###
36### To regenerate the libtool symfile, invoke the 'gen-symfile' 37### To regenerate the libtool symfile, invoke the 'gen-symfile'
37### target, making sure to define PKG_DEVELOPER. This target 38### target, making sure to define PKG_DEVELOPER. This target
38### requires nm, awk, and tee. The new symfile will be in 39### requires nm, awk, and tee. The new symfile will be in
39### ${WRKDIR}. 40### ${WRKDIR}.
40### 41###
41MAKE_ENV+= PIXMAN_SYMFILE=${PIXMAN_SYMFILE:Q} 42MAKE_ENV+= PIXMAN_SYMFILE=${PIXMAN_SYMFILE:Q}
42PIXMAN_SYMFILE= ${WRKDIR}/pixman.sym 43PIXMAN_SYMFILE= ${WRKDIR}/pixman.sym
43 44
44post-extract: 45post-extract:
45 ${CP} ${FILESDIR}/pixman.sym ${WRKDIR} 46 ${CP} ${FILESDIR}/pixman.sym ${WRKDIR}
46 47
47.if defined(NM) && defined(PKG_DEVELOPER) 48.if defined(NM) && defined(PKG_DEVELOPER)
 49.PHONY: gen-symfile
48gen-symfile: build 50gen-symfile: build
49 ${NM} -DP ${WRKSRC}/pixman/.libs/libpixman-1.so | \ 51 ${NM} -DP ${WRKSRC}/pixman/.libs/libpixman-1.so | \
50 ${AWK} '/^pixman/ { print $$1 }' | \ 52 ${AWK} '/^pixman/ { print $$1 }' | \
51 ${TOOLS_PLATFORM.tee} > ${WRKDIR}/pixman.sym && \ 53 ${TOOLS_PLATFORM.tee} > ${WRKDIR}/pixman.sym && \
52 ${DIFF} ${FILESDIR}/pixman.sym ${WRKDIR}/pixman.sym 54 ${DIFF} ${FILESDIR}/pixman.sym ${WRKDIR}/pixman.sym
53.endif 55.endif
54 56
55.include "../../mk/bsd.pkg.mk" 57.include "../../mk/bsd.pkg.mk"

cvs diff -r1.19 -r1.20 pkgsrc/x11/pixman/distinfo (expand / switch to unified diff)

--- pkgsrc/x11/pixman/distinfo 2008/09/06 20:09:15 1.19
+++ pkgsrc/x11/pixman/distinfo 2008/09/16 21:22:34 1.20
@@ -1,10 +1,12 @@ @@ -1,10 +1,12 @@
1$NetBSD: distinfo,v 1.19 2008/09/06 20:09:15 bjs Exp $ 1$NetBSD: distinfo,v 1.20 2008/09/16 21:22:34 bjs Exp $
2 2
3SHA1 (pixman-0.11.10.tar.bz2) = d4468ac46056185b2d0a0fe94bc9a2e496d44365 3SHA1 (pixman-0.11.10.tar.bz2) = d4468ac46056185b2d0a0fe94bc9a2e496d44365
4RMD160 (pixman-0.11.10.tar.bz2) = 8d7350e8d9e995a1f977e03e7a66cdd19e851cb0 4RMD160 (pixman-0.11.10.tar.bz2) = 8d7350e8d9e995a1f977e03e7a66cdd19e851cb0
5Size (pixman-0.11.10.tar.bz2) = 364132 bytes 5Size (pixman-0.11.10.tar.bz2) = 364132 bytes
6SHA1 (patch-aa) = 5129f82ee9907ed179315a4790667f0b825175bb 6SHA1 (patch-aa) = 5129f82ee9907ed179315a4790667f0b825175bb
7SHA1 (patch-ab) = e76a306cbf2975dec3020cd7a310941b3085782d 7SHA1 (patch-ab) = e76a306cbf2975dec3020cd7a310941b3085782d
8SHA1 (patch-ac) = c798e52ecd8fc2a5788552df0a0842f524705126 8SHA1 (patch-ac) = c798e52ecd8fc2a5788552df0a0842f524705126
9SHA1 (patch-ad) = b2fa221652bc5f8bec000e071417b0180816a451 9SHA1 (patch-ad) = b2fa221652bc5f8bec000e071417b0180816a451
10SHA1 (patch-ae) = 5690db2799e3750d54cf1cb20bd5734a245f8eb8 10SHA1 (patch-ae) = 5690db2799e3750d54cf1cb20bd5734a245f8eb8
 11SHA1 (patch-af) = cbd2be6b3f5ae398c38255b974542ab2e4546f52
 12SHA1 (patch-ag) = 61b5714db4e849fa7d40279f606e86e261270975

File Added: pkgsrc/x11/pixman/patches/Attic/patch-af
$NetBSD: patch-af,v 1.4 2008/09/16 21:22:34 bjs Exp $

git ref:00f3d6ef22b5a062323208fd540a17ca65dca42b (to vers 0.11.10)
 
Fix bug in pixman_image_is_opaque().

--- pixman/pixman-image.c.orig	2008-06-13 15:51:00.000000000 -0400
+++ pixman/pixman-image.c
@@ -818,6 +818,10 @@ pixman_image_is_opaque(pixman_image_t *i
 
         if (image->common.transform)
             return FALSE;
+
+	/* Gradients do not necessarily cover the entire compositing area */
+	if (image->type == LINEAR || image->type == CONICAL || image->type == RADIAL)
+	    return FALSE;
     }
 
      return TRUE;

File Added: pkgsrc/x11/pixman/patches/Attic/patch-ag
$NetBSD: patch-ag,v 1.1 2008/09/16 21:22:34 bjs Exp $

Fix for bug 17477.

over_2x128 was changing the alphaLo and alphaHi arguments, causing
stripes.

--- pixman/pixman-sse2.c.orig	2008-09-03 19:29:40.000000000 -0400
+++ pixman/pixman-sse2.c
@@ -244,9 +244,11 @@ invertColors_2x128 (__m128i dataLo, __m1
 static inline void
 over_2x128 (__m128i* srcLo, __m128i* srcHi, __m128i* alphaLo, __m128i* alphaHi, __m128i* dstLo, __m128i* dstHi)
 {
-    negate_2x128 (*alphaLo, *alphaHi, alphaLo, alphaHi);
+    __m128i t1, t2;
 
-    pixMultiply_2x128 (dstLo, dstHi, alphaLo, alphaHi, dstLo, dstHi);
+    negate_2x128 (*alphaLo, *alphaHi, &t1, &t2);
+
+    pixMultiply_2x128 (dstLo, dstHi, &t1, &t2, dstLo, dstHi);
 
     *dstLo = _mm_adds_epu8 (*srcLo, *dstLo);
     *dstHi = _mm_adds_epu8 (*srcHi, *dstHi);