[arch-commits] Commit in libdrm/trunk (PKGBUILD git_fixes.diff list.h rbo.h)

andyrtr at archlinux.org andyrtr at archlinux.org
Wed Dec 7 17:31:21 UTC 2011


    Date: Wednesday, December 7, 2011 @ 12:31:21
  Author: andyrtr
Revision: 144600

upgpkg: libdrm 2.4.28-1

upstream update 2.4.28

Added:
  libdrm/trunk/git_fixes.diff
  libdrm/trunk/list.h
  libdrm/trunk/rbo.h
Modified:
  libdrm/trunk/PKGBUILD

----------------+
 PKGBUILD       |   20 ++++++--
 git_fixes.diff |   19 +++++++
 list.h         |  137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 rbo.h          |   50 ++++++++++++++++++++
 4 files changed, 221 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-12-07 15:40:43 UTC (rev 144599)
+++ PKGBUILD	2011-12-07 17:31:21 UTC (rev 144600)
@@ -2,7 +2,7 @@
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 
 pkgname=libdrm
-pkgver=2.4.27
+pkgver=2.4.28
 pkgrel=1
 pkgdesc="Userspace interface to kernel DRM services"
 arch=(i686 x86_64)
@@ -13,16 +13,26 @@
 url="http://dri.freedesktop.org/"
 source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
         no-pthread-stubs.patch
-        COPYING)
-md5sums=('0fba4f42735cd3d24dd7a8cde0023fbd'
+        COPYING
+	git_fixes.diff 
+	#missing files from http://cgit.freedesktop.org/mesa/drm/snapshot/drm-902ee661f1864aaf8325621085f6a1b5a6a3673a.tar.bz2 - https://bugs.freedesktop.org/show_bug.cgi?id=43538
+	rbo.h list.h)
+md5sums=('6488f64119c6439fa4038e9cd7b30b67'
          'c722c8406507b7e3a8da7a3030d1d9cf'
-         'ba65e71c481b94ef0fb6c23c7f21ffa1')
+         'ba65e71c481b94ef0fb6c23c7f21ffa1'
+         '671b87f9670e709e54a19cd292c6330d'
+         '073846ea43fb4d6130062c1897d92e40'
+         'ce867d3331862c2b87d1a37461b42dbe')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   patch -Np1 -i "${srcdir}/no-pthread-stubs.patch"
+
+  # add a missing file in the release tarball
+  patch -Np1 -i ${srcdir}/git_fixes.diff
+  cp ${srcdir}/{rbo,list}.h "${srcdir}/${pkgname}-${pkgver}"/tests/radeon/
   
-#  libtoolize --force
+  #libtoolize --force
   autoreconf --force --install
   ./configure --prefix=/usr \
       --enable-udev \

Added: git_fixes.diff
===================================================================
--- git_fixes.diff	                        (rev 0)
+++ git_fixes.diff	2011-12-07 17:31:21 UTC (rev 144600)
@@ -0,0 +1,19 @@
+From 902ee661f1864aaf8325621085f6a1b5a6a3673a Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Mon, 05 Dec 2011 21:24:48 +0000
+Subject: test/radeon: add missing files for dist
+
+---
+diff --git a/tests/radeon/Makefile.am b/tests/radeon/Makefile.am
+index 021ca72..1775669 100644
+--- a/tests/radeon/Makefile.am
++++ b/tests/radeon/Makefile.am
+@@ -9,4 +9,6 @@ noinst_PROGRAMS = \
+ 
+ radeon_ttm_SOURCES = \
+ 	rbo.c \
++	rbo.h \
++	list.h \
+ 	radeon_ttm.c
+--
+cgit v0.9.0.2-2-gbebe

Added: list.h
===================================================================
--- list.h	                        (rev 0)
+++ list.h	2011-12-07 17:31:21 UTC (rev 144600)
@@ -0,0 +1,137 @@
+/*
+ *
+ * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND. USA.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ */
+
+/**
+ * \file
+ * List macros heavily inspired by the Linux kernel
+ * list handling. No list looping yet.
+ *
+ * Is not threadsafe, so common operations need to
+ * be protected using an external mutex.
+ */
+#ifndef _U_DOUBLE_LIST_H_
+#define _U_DOUBLE_LIST_H_
+
+#include <stddef.h>
+
+struct list_head
+{
+    struct list_head *prev;
+    struct list_head *next;
+};
+
+static void list_inithead(struct list_head *item)
+{
+    item->prev = item;
+    item->next = item;
+}
+
+static void list_add(struct list_head *item, struct list_head *list)
+{
+    item->prev = list;
+    item->next = list->next;
+    list->next->prev = item;
+    list->next = item;
+}
+
+static void list_addtail(struct list_head *item, struct list_head *list)
+{
+    item->next = list;
+    item->prev = list->prev;
+    list->prev->next = item;
+    list->prev = item;
+}
+
+static void list_replace(struct list_head *from, struct list_head *to)
+{
+    to->prev = from->prev;
+    to->next = from->next;
+    from->next->prev = to;
+    from->prev->next = to;
+}
+
+static void list_del(struct list_head *item)
+{
+    item->prev->next = item->next;
+    item->next->prev = item->prev;
+}
+
+static void list_delinit(struct list_head *item)
+{
+    item->prev->next = item->next;
+    item->next->prev = item->prev;
+    item->next = item;
+    item->prev = item;
+}
+
+#define LIST_INITHEAD(__item) list_inithead(__item)
+#define LIST_ADD(__item, __list) list_add(__item, __list)
+#define LIST_ADDTAIL(__item, __list) list_addtail(__item, __list)
+#define LIST_REPLACE(__from, __to) list_replace(__from, __to)
+#define LIST_DEL(__item) list_del(__item)
+#define LIST_DELINIT(__item) list_delinit(__item)
+
+#define LIST_ENTRY(__type, __item, __field)   \
+    ((__type *)(((char *)(__item)) - offsetof(__type, __field)))
+
+#define LIST_IS_EMPTY(__list)                   \
+    ((__list)->next == (__list))
+
+#ifndef container_of
+#define container_of(ptr, sample, member)				\
+    (void *)((char *)(ptr)						\
+	     - ((char *)&(sample)->member - (char *)(sample)))
+#endif
+
+#define LIST_FOR_EACH_ENTRY(pos, head, member)				\
+   for (pos = container_of((head)->next, pos, member);			\
+	&pos->member != (head);						\
+	pos = container_of(pos->member.next, pos, member))
+
+#define LIST_FOR_EACH_ENTRY_SAFE(pos, storage, head, member)	\
+   for (pos = container_of((head)->next, pos, member),			\
+	storage = container_of(pos->member.next, pos, member);	\
+	&pos->member != (head);						\
+	pos = storage, storage = container_of(storage->member.next, storage, member))
+
+#define LIST_FOR_EACH_ENTRY_SAFE_REV(pos, storage, head, member)	\
+   for (pos = container_of((head)->prev, pos, member),			\
+	storage = container_of(pos->member.prev, pos, member);		\
+	&pos->member != (head);						\
+	pos = storage, storage = container_of(storage->member.prev, storage, member))
+
+#define LIST_FOR_EACH_ENTRY_FROM(pos, start, head, member)		\
+   for (pos = container_of((start), pos, member);			\
+	&pos->member != (head);						\
+	pos = container_of(pos->member.next, pos, member))
+
+#define LIST_FOR_EACH_ENTRY_FROM_REV(pos, start, head, member)		\
+   for (pos = container_of((start), pos, member);			\
+	&pos->member != (head);						\
+	pos = container_of(pos->member.prev, pos, member))
+
+#endif /*_U_DOUBLE_LIST_H_*/

Added: rbo.h
===================================================================
--- rbo.h	                        (rev 0)
+++ rbo.h	2011-12-07 17:31:21 UTC (rev 144600)
@@ -0,0 +1,50 @@
+/*
+ * Copyright © 2011 Red Hat
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Jerome Glisse <j.glisse at gmail.com>
+ */
+#ifndef RBO_H
+#define RBO_H
+
+#include "list.h"
+
+struct rbo {
+    struct list_head    list;
+    int                 fd;
+    unsigned            refcount;
+    unsigned            mapcount;
+    unsigned            handle;
+    unsigned            size;
+    unsigned            alignment;
+    void                *data;
+};
+
+struct rbo *rbo(int fd, unsigned handle, unsigned size,
+                unsigned alignment, void *ptr);
+int rbo_map(struct rbo *bo);
+void rbo_unmap(struct rbo *bo);
+struct rbo *rbo_incref(struct rbo *bo);
+struct rbo *rbo_decref(struct rbo *bo);
+int rbo_wait(struct rbo *bo);
+
+#endif




More information about the arch-commits mailing list