summaryrefslogtreecommitdiffstats
path: root/abs/core/libxcb
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/libxcb')
-rw-r--r--abs/core/libxcb/PKGBUILD29
-rw-r--r--abs/core/libxcb/xcb_xlib-no-assert-on-lock.patch30
2 files changed, 59 insertions, 0 deletions
diff --git a/abs/core/libxcb/PKGBUILD b/abs/core/libxcb/PKGBUILD
new file mode 100644
index 0000000..b1eadee
--- /dev/null
+++ b/abs/core/libxcb/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=libxcb
+pkgver=1.1
+pkgrel=1
+pkgdesc="X11 client-side library"
+arch=(i686 x86_64)
+url="http://xcb.freedesktop.org/"
+depends=('xcb-proto>=1.1' 'libxdmcp' 'libxau')
+makedepends=('pkgconfig' 'libxslt' 'libpthread-stubs')
+options=('!libtool')
+license=('custom')
+source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2)
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --build=${CHOST} --host=${CHOST}
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+ # Remove pthread-stubs dependency from pc files,
+ # the stubs package doesn't provide any libs since our libc is complete.
+ sed -i -e 's/pthread-stubs//' ${startdir}/pkg/usr/lib/pkgconfig/*.pc
+
+ install -m644 -D ${startdir}/src/${pkgname}-${pkgver}/COPYING \
+ ${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING
+}
+md5sums=('9310b02433273d75d42f10da3c7455aa')
diff --git a/abs/core/libxcb/xcb_xlib-no-assert-on-lock.patch b/abs/core/libxcb/xcb_xlib-no-assert-on-lock.patch
new file mode 100644
index 0000000..a29361b
--- /dev/null
+++ b/abs/core/libxcb/xcb_xlib-no-assert-on-lock.patch
@@ -0,0 +1,30 @@
+--- src/xcb_xlib.c.orig 2006-11-25 22:03:30.000000000 +0000
++++ src/xcb_xlib.c 2006-11-25 22:19:28.000000000 +0000
+@@ -38,18 +38,20 @@
+ void xcb_xlib_lock(xcb_connection_t *c)
+ {
+ _xcb_lock_io(c);
+- assert(!c->xlib.lock);
+- c->xlib.lock = 1;
+- c->xlib.thread = pthread_self();
++ if (!c->xlib.lock) {
++ c->xlib.lock = 1;
++ c->xlib.thread = pthread_self();
++ }
+ _xcb_unlock_io(c);
+ }
+
+ void xcb_xlib_unlock(xcb_connection_t *c)
+ {
+ _xcb_lock_io(c);
+- assert(c->xlib.lock);
+- assert(pthread_equal(c->xlib.thread, pthread_self()));
+- c->xlib.lock = 0;
+- pthread_cond_broadcast(&c->xlib.cond);
++ if (c->xlib.lock) {
++ assert(pthread_equal(c->xlib.thread, pthread_self()));
++ c->xlib.lock = 0;
++ pthread_cond_broadcast(&c->xlib.cond);
++ }
+ _xcb_unlock_io(c);
+ }