summaryrefslogtreecommitdiff
path: root/x11/pixman
diff options
context:
space:
mode:
authorbjs <bjs@pkgsrc.org>2008-09-16 21:22:34 +0000
committerbjs <bjs@pkgsrc.org>2008-09-16 21:22:34 +0000
commit956d4185b2aca9bc52aef2a49303fd32890ed726 (patch)
tree16b08d6a6e6f434317db56b6dc57860b7aa9ea99 /x11/pixman
parent843c79489817f604d948e335d2f93d113ef83789 (diff)
downloadpkgsrc-956d4185b2aca9bc52aef2a49303fd32890ed726.tar.gz
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.
Diffstat (limited to 'x11/pixman')
-rw-r--r--x11/pixman/Makefile6
-rw-r--r--x11/pixman/distinfo4
-rw-r--r--x11/pixman/patches/patch-af19
-rw-r--r--x11/pixman/patches/patch-ag23
4 files changed, 49 insertions, 3 deletions
diff --git a/x11/pixman/Makefile b/x11/pixman/Makefile
index 853d5518527..fd58f0c0498 100644
--- a/x11/pixman/Makefile
+++ b/x11/pixman/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.19 2008/09/06 20:13:13 bjs Exp $
+# $NetBSD: Makefile,v 1.20 2008/09/16 21:22:34 bjs Exp $
#
DISTNAME= pixman-0.11.10
+PKGREVISION= 1
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=lib/}
EXTRACT_SUFX= .tar.bz2
@@ -14,7 +15,7 @@ PKG_DESTDIR_SUPPORT= user-destdir
GNU_CONFIGURE= yes
USE_LIBTOOL= yes
-USE_TOOLS+= pkg-config perl diff awk
+USE_TOOLS+= pkg-config perl diff
###
### XXX Quiet, please!
###
@@ -45,6 +46,7 @@ post-extract:
${CP} ${FILESDIR}/pixman.sym ${WRKDIR}
.if defined(NM) && defined(PKG_DEVELOPER)
+.PHONY: gen-symfile
gen-symfile: build
${NM} -DP ${WRKSRC}/pixman/.libs/libpixman-1.so | \
${AWK} '/^pixman/ { print $$1 }' | \
diff --git a/x11/pixman/distinfo b/x11/pixman/distinfo
index cfb56d8fe6a..c073b9cdf91 100644
--- a/x11/pixman/distinfo
+++ b/x11/pixman/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.19 2008/09/06 20:09:15 bjs Exp $
+$NetBSD: distinfo,v 1.20 2008/09/16 21:22:34 bjs Exp $
SHA1 (pixman-0.11.10.tar.bz2) = d4468ac46056185b2d0a0fe94bc9a2e496d44365
RMD160 (pixman-0.11.10.tar.bz2) = 8d7350e8d9e995a1f977e03e7a66cdd19e851cb0
@@ -8,3 +8,5 @@ SHA1 (patch-ab) = e76a306cbf2975dec3020cd7a310941b3085782d
SHA1 (patch-ac) = c798e52ecd8fc2a5788552df0a0842f524705126
SHA1 (patch-ad) = b2fa221652bc5f8bec000e071417b0180816a451
SHA1 (patch-ae) = 5690db2799e3750d54cf1cb20bd5734a245f8eb8
+SHA1 (patch-af) = cbd2be6b3f5ae398c38255b974542ab2e4546f52
+SHA1 (patch-ag) = 61b5714db4e849fa7d40279f606e86e261270975
diff --git a/x11/pixman/patches/patch-af b/x11/pixman/patches/patch-af
new file mode 100644
index 00000000000..02c84e087fd
--- /dev/null
+++ b/x11/pixman/patches/patch-af
@@ -0,0 +1,19 @@
+$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;
diff --git a/x11/pixman/patches/patch-ag b/x11/pixman/patches/patch-ag
new file mode 100644
index 00000000000..ef3e633e827
--- /dev/null
+++ b/x11/pixman/patches/patch-ag
@@ -0,0 +1,23 @@
+$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);