summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbsiegert <bsiegert>2016-04-23 17:51:10 +0000
committerbsiegert <bsiegert>2016-04-23 17:51:10 +0000
commitca623b4ae3e19867ba1516e4090f17cfc4286f4f (patch)
tree62f283922b193a47f3cdfb9eeafc9cb3bb62bc6a
parent452d4811a8cb67f09fbfa58fb09654b3e8336fdd (diff)
downloadpkgsrc-ca623b4ae3e19867ba1516e4090f17cfc4286f4f.tar.gz
Pullup ticket #4963 - requested by he
x11/pixman: build fix Revisions pulled up: - x11/pixman/distinfo 1.59 - x11/pixman/patches/patch-pixman_pixman-vmx.c 1.1 --- Module Name: pkgsrc Committed By: he Date: Thu Apr 21 21:39:36 UTC 2016 Modified Files: pkgsrc/x11/pixman: distinfo Added Files: pkgsrc/x11/pixman/patches: patch-pixman_pixman-vmx.c Log Message: Add a patch so that this builds on NetBSD/powerpc with altivec. Without this, we get "subscripted value is neither array nor pointer" error from the compiler. Since this is a build fix for powerpc platforms, no PKGREVISION bump.
-rw-r--r--x11/pixman/distinfo3
-rw-r--r--x11/pixman/patches/patch-pixman_pixman-vmx.c49
2 files changed, 51 insertions, 1 deletions
diff --git a/x11/pixman/distinfo b/x11/pixman/distinfo
index da402131834..06674378ae7 100644
--- a/x11/pixman/distinfo
+++ b/x11/pixman/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.58 2016/02/05 12:15:40 wiz Exp $
+$NetBSD: distinfo,v 1.58.2.1 2016/04/23 17:51:10 bsiegert Exp $
SHA1 (pixman-0.34.0.tar.bz2) = 367698744e74d6d4f363041482965b9ea7fbe4a5
RMD160 (pixman-0.34.0.tar.bz2) = 2e4b79160bc913dc0043f9c1710f91801bcb8734
@@ -9,3 +9,4 @@ SHA1 (patch-bb) = d47b1857771b8addb6897d45782ba2735a7aacbd
SHA1 (patch-bc) = 3e23e6c482ea193885f3f762af355ef2f692132b
SHA1 (patch-bd) = 1b1432f4a88d5486afdb4c0cad0808d3748fa522
SHA1 (patch-pixman_Makefile.in) = 7dabdc0e2c8c73780c4b005ef6f5055a550b9651
+SHA1 (patch-pixman_pixman-vmx.c) = d96dad41d94bf8dfb956afda00a5a175a9c1f6fc
diff --git a/x11/pixman/patches/patch-pixman_pixman-vmx.c b/x11/pixman/patches/patch-pixman_pixman-vmx.c
new file mode 100644
index 00000000000..725056c7ade
--- /dev/null
+++ b/x11/pixman/patches/patch-pixman_pixman-vmx.c
@@ -0,0 +1,49 @@
+$NetBSD: patch-pixman_pixman-vmx.c,v 1.1.2.2 2016/04/23 17:51:10 bsiegert Exp $
+
+Add a fix so that this builds on NetBSD/powerpc. Otherwise we get
+pixman-vmx.c:2936:5: error: subscripted value is neither array nor pointer
+
+--- pixman/pixman-vmx.c.orig 2016-01-04 09:13:54.000000000 +0000
++++ pixman/pixman-vmx.c
+@@ -2913,32 +2913,29 @@ scaled_nearest_scanline_vmx_8888_8888_OV
+
+ while (w >= 4)
+ {
+- vector unsigned int tmp;
+- uint32_t tmp1, tmp2, tmp3, tmp4;
++ union {
++ vector unsigned int tmp;
++ uint32_t tmp1[4];
++ } u;
+
+- tmp1 = *(ps + pixman_fixed_to_int (vx));
++ u.tmp1[0] = *(ps + pixman_fixed_to_int (vx));
+ vx += unit_x;
+ while (vx >= 0)
+ vx -= src_width_fixed;
+- tmp2 = *(ps + pixman_fixed_to_int (vx));
++ u.tmp1[1] = *(ps + pixman_fixed_to_int (vx));
+ vx += unit_x;
+ while (vx >= 0)
+ vx -= src_width_fixed;
+- tmp3 = *(ps + pixman_fixed_to_int (vx));
++ u.tmp1[2] = *(ps + pixman_fixed_to_int (vx));
+ vx += unit_x;
+ while (vx >= 0)
+ vx -= src_width_fixed;
+- tmp4 = *(ps + pixman_fixed_to_int (vx));
++ u.tmp1[3] = *(ps + pixman_fixed_to_int (vx));
+ vx += unit_x;
+ while (vx >= 0)
+ vx -= src_width_fixed;
+
+- tmp[0] = tmp1;
+- tmp[1] = tmp2;
+- tmp[2] = tmp3;
+- tmp[3] = tmp4;
+-
+- vsrc = combine4 ((const uint32_t *) &tmp, pm);
++ vsrc = combine4 ((const uint32_t *) &u.tmp, pm);
+
+ if (is_opaque (vsrc))
+ {