diff options
Diffstat (limited to 'abs/core/libxcb')
-rw-r--r-- | abs/core/libxcb/PKGBUILD | 29 | ||||
-rw-r--r-- | abs/core/libxcb/xcb_xlib-no-assert-on-lock.patch | 30 |
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); + } |