[arch-commits] Commit in libdrm/repos (3 files)

Jan de Groot jgc at archlinux.org
Sun Feb 15 00:18:10 UTC 2009


    Date: Saturday, February 14, 2009 @ 19:18:10
  Author: jgc
Revision: 26985

Merged revisions 26956 via svnmerge from 
svn+ssh://svn.archlinux.org/srv/svn-packages/libdrm/trunk

........
  r26956 | jgc | 2009-02-14 23:05:31 +0000 (Sat, 14 Feb 2009) | 2 lines
  
  upgpkg: libdrm 2.3.1-3
      Fix FS#12821
........

Added:
  libdrm/repos/extra-i686/bug18922.patch
    (from rev 26956, libdrm/trunk/bug18922.patch)
Modified:
  libdrm/repos/extra-i686/	(properties)
  libdrm/repos/extra-i686/PKGBUILD

----------------+
 PKGBUILD       |    9 +++++--
 bug18922.patch |   65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 3 deletions(-)


Property changes on: libdrm/repos/extra-i686
___________________________________________________________________
Modified: svnmerge-integrated
   - /libdrm/trunk:1-19236
   + /libdrm/trunk:1-26984
Deleted: svn:mergeinfo
   - 

Modified: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2009-02-15 00:16:32 UTC (rev 26984)
+++ extra-i686/PKGBUILD	2009-02-15 00:18:10 UTC (rev 26985)
@@ -3,17 +3,20 @@
 
 pkgname=libdrm
 pkgver=2.3.1
-pkgrel=2
+pkgrel=3
 pkgdesc="Userspace interface to kernel DRM services"
 arch=(i686 x86_64)
 depends=('glibc')
 options=('!libtool' 'force')
 url="http://dri.freedesktop.org/"
-source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('620fe7dd02c3236c3e9881a3a238173d')
+source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+	bug18922.patch)
+md5sums=('620fe7dd02c3236c3e9881a3a238173d'
+	 '028d2832c159b618198e24a0a1e93701')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/bug18922.patch" || return 1
   ./configure --prefix=/usr || return 1
   make || return 1
   make DESTDIR="${pkgdir}" install || return 1

Copied: libdrm/repos/extra-i686/bug18922.patch (from rev 26956, libdrm/trunk/bug18922.patch)
===================================================================
--- extra-i686/bug18922.patch	                        (rev 0)
+++ extra-i686/bug18922.patch	2009-02-15 00:18:10 UTC (rev 26985)
@@ -0,0 +1,65 @@
+diff -Naur libdrm-2.3.1.orig/libdrm/Makefile.am libdrm-2.3.1/libdrm/Makefile.am
+--- libdrm-2.3.1.orig/libdrm/Makefile.am	2008-07-01 09:51:40.000000000 +0200
++++ libdrm-2.3.1/libdrm/Makefile.am	2009-01-17 13:10:33.000000000 +0100
+@@ -21,6 +21,7 @@
+ libdrm_la_LTLIBRARIES = libdrm.la
+ libdrm_ladir = $(libdir)
+ libdrm_la_LDFLAGS = -version-number 2:3:1 -no-undefined
++libdrm_la_LIBADD = -lrt
+ 
+ AM_CFLAGS = -I$(top_srcdir)/shared-core
+ libdrm_la_SOURCES = xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c
+diff -Naur libdrm-2.3.1.orig/libdrm/Makefile.in libdrm-2.3.1/libdrm/Makefile.in
+--- libdrm-2.3.1.orig/libdrm/Makefile.in	2008-07-01 09:55:48.000000000 +0200
++++ libdrm-2.3.1/libdrm/Makefile.in	2009-01-17 13:11:27.000000000 +0100
+@@ -73,7 +73,7 @@
+ 	"$(DESTDIR)$(libdrmincludedir)"
+ libdrm_laLTLIBRARIES_INSTALL = $(INSTALL)
+ LTLIBRARIES = $(libdrm_la_LTLIBRARIES)
+-libdrm_la_LIBADD =
++libdrm_la_LIBADD = -lrt
+ am_libdrm_la_OBJECTS = xf86drm.lo xf86drmHash.lo xf86drmRandom.lo \
+ 	xf86drmSL.lo
+ libdrm_la_OBJECTS = $(am_libdrm_la_OBJECTS)
+diff -Naur libdrm-2.3.1.orig/libdrm/xf86drm.c libdrm-2.3.1/libdrm/xf86drm.c
+--- libdrm-2.3.1.orig/libdrm/xf86drm.c	2008-07-01 09:51:40.000000000 +0200
++++ libdrm-2.3.1/libdrm/xf86drm.c	2009-01-17 13:10:33.000000000 +0100
+@@ -42,6 +42,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <signal.h>
++#include <time.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #define stat_t struct stat
+@@ -1851,13 +1852,30 @@
+  */
+ int drmWaitVBlank(int fd, drmVBlankPtr vbl)
+ {
++    struct timespec timeout, cur;
+     int ret;
+ 
++    ret = clock_gettime(CLOCK_MONOTONIC, &timeout);
++    if (ret < 0) {
++	fprintf(stderr, "clock_gettime failed: %s\n", strerror(ret));
++	goto out;
++    }
++    timeout.tv_sec++;
++
+     do {
+        ret = ioctl(fd, DRM_IOCTL_WAIT_VBLANK, vbl);
+        vbl->request.type &= ~DRM_VBLANK_RELATIVE;
++       clock_gettime(CLOCK_MONOTONIC, &cur);
++       /* Timeout after 1s */
++       if (cur.tv_sec > timeout.tv_sec + 1 ||
++	   cur.tv_sec == timeout.tv_sec && cur.tv_nsec >= timeout.tv_nsec) {
++	   errno = EBUSY;
++	   ret = -1;
++	   break;
++       }
+     } while (ret && errno == EINTR);
+ 
++out:
+     return ret;
+ }
+ 




More information about the arch-commits mailing list