summaryrefslogtreecommitdiff
path: root/extra/r
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-02-09 00:07:22 -0800
committerroot <root@rshg054.dnsready.net>2013-02-09 00:07:22 -0800
commite9c244cac8e5dc1c59c7e8b7bc885fef04224b70 (patch)
tree64f1532d7e6e652c2ea5a0bb5efd7ea36f431535 /extra/r
parent7c92c5fcfb5653f63243842299e413672653d1ad (diff)
Sat Feb 9 00:07:22 PST 2013
Diffstat (limited to 'extra/r')
-rw-r--r--extra/r/PKGBUILD13
-rw-r--r--extra/r/x11.patch36
2 files changed, 45 insertions, 4 deletions
diff --git a/extra/r/PKGBUILD b/extra/r/PKGBUILD
index 2c63cf703..693f2904a 100644
--- a/extra/r/PKGBUILD
+++ b/extra/r/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 173847 2012-12-25 00:34:38Z foutrelis $
+# $Id: PKGBUILD 177618 2013-02-08 07:48:31Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
# Contributor: K. Piche <kpiche@rogers.com>
pkgname=r
pkgver=2.15.2
-pkgrel=2
+pkgrel=3
pkgdesc="Language and environment for statistical computing and graphics"
arch=('i686' 'x86_64')
license=('GPL')
@@ -20,12 +20,14 @@ options=('!makeflags' '!emptydirs')
source=("http://cran.r-project.org/src/base/R-2/R-${pkgver}.tar.gz"
'r.desktop'
'r.png'
- 'R.conf')
+ 'R.conf'
+ 'x11.patch')
install=r.install
sha1sums=('c80da687d66ee88d1e34fc1ae5c1bd525f9513dd'
'13aa29219bcaa102e575de8c1c8e0833d233e836'
'a69a07ec363440efc18ce0a7f2af103375dea978'
- '43668da6cfd1b4455a99f23e79e2059294dddac9')
+ '43668da6cfd1b4455a99f23e79e2059294dddac9'
+ 'a11b91d53645bd545fddc382c991096502e8ac67')
build() {
cd "${srcdir}/R-${pkgver}"
@@ -34,6 +36,9 @@ build() {
# set texmf dir correctly in makefile
sed -i 's|$(rsharedir)/texmf|${datarootdir}/texmf|' share/Makefile.in
+ # upstream patch fixing empty plots FS#32597
+ patch -Np0 -i ${srcdir}/x11.patch
+
./configure --prefix=/usr \
--libdir=/usr/lib \
--sysconfdir=/etc/R \
diff --git a/extra/r/x11.patch b/extra/r/x11.patch
new file mode 100644
index 000000000..3a02b28ea
--- /dev/null
+++ b/extra/r/x11.patch
@@ -0,0 +1,36 @@
+--- src/modules/X11/devX11.c (révision 61681)
++++ src/modules/X11/devX11.c (révision 61682)
+@@ -244,6 +244,7 @@
+ {
+ if(inclose || !xd || !xd->buffered || xd->holdlevel > 0) return;
+ cairo_paint(xd->xcc);
++ cairo_surface_flush(xd->xcs);
+ if (xd->type == WINDOW) XDefineCursor(display, xd->window, arrow_cursor);
+ XSync(display, 0);
+ xd->last = currentTime();
+@@ -753,8 +754,10 @@
+ #ifdef HAVE_WORKING_CAIRO
+ pX11Desc xd = (pX11Desc) dd->deviceSpecific;
+ /* We can use the buffered copy where we have it */
+- if(xd->buffered == 1) cairo_paint(xd->xcc);
+- else if (xd->buffered > 1)
++ if(xd->buffered == 1) {
++ cairo_paint(xd->xcc);
++ cairo_surface_flush(xd->xcs);
++ } else if (xd->buffered > 1)
+ /* rely on timer to repaint eventually */
+ xd->last_activity = currentTime();
+ else
+@@ -2691,7 +2694,11 @@
+ Cairo_update(xd);
+ return;
+ }
+- if(xd->buffered) cairo_paint(xd->xcc);
++ if(xd->buffered) {
++ cairo_paint(xd->xcc);
++ cairo_surface_flush(xd->xcs);
++ }
++
+ #endif
+ if(xd->type==WINDOW) XDefineCursor(display, xd->window, arrow_cursor);
+ XSync(display, 0);