[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