Add a locking fix from upstream. Fixes more issues when xcb is enabled.
authorJoshua Baergen <joshuabaergen@gentoo.org>
Wed, 15 Nov 2006 03:04:49 +0000 (03:04 +0000)
committerJoshua Baergen <joshuabaergen@gentoo.org>
Wed, 15 Nov 2006 03:04:49 +0000 (03:04 +0000)
Package-Manager: portage-2.1.2_rc1-r6

x11-libs/libX11/ChangeLog
x11-libs/libX11/files/1.0.99.2-xcb_callback_fix.patch [new file with mode: 0644]
x11-libs/libX11/files/digest-libX11-1.0.99.2-r1 [new file with mode: 0644]
x11-libs/libX11/libX11-1.0.99.2-r1.ebuild [new file with mode: 0644]

index e7560232653fcb72df58503b31a29b925517524d..7759518676b18a982309ab83676c819744f0d853 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for x11-libs/libX11
 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libX11/ChangeLog,v 1.57 2006/11/04 06:15:56 joshuabaergen Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libX11/ChangeLog,v 1.58 2006/11/15 03:04:49 joshuabaergen Exp $
+
+*libX11-1.0.99.2-r1 (15 Nov 2006)
+
+  15 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+  +files/1.0.99.2-xcb_callback_fix.patch, -libX11-1.0.99.2.ebuild,
+  +libX11-1.0.99.2-r1.ebuild:
+  Add a locking fix from upstream.  Fixes more issues when xcb is enabled.
 
 *libX11-1.0.3-r1 (04 Nov 2006)
 
diff --git a/x11-libs/libX11/files/1.0.99.2-xcb_callback_fix.patch b/x11-libs/libX11/files/1.0.99.2-xcb_callback_fix.patch
new file mode 100644 (file)
index 0000000..f805c17
--- /dev/null
@@ -0,0 +1,23 @@
+commit 941f02ede63baa46f93ed8abccebe76fb29c0789
+Author: Lars Knoll <lars@trolltech.com>
+Date:   Wed Nov 8 12:17:41 2006 -0800
+
+    Don't hold the display lock around callbacks to the application.
+    
+    This fixes an XCB locking assertion failure, particularly with emacs.
+
+diff --git a/src/FilterEv.c b/src/FilterEv.c
+index 0117291..9fa1887 100644
+--- a/src/FilterEv.c
++++ b/src/FilterEv.c
+@@ -96,9 +96,9 @@ XFilterEvent(ev, window)
+       if (win == p->window) {
+           if ((mask & p->event_mask) ||
+               (ev->type >= p->start_type && ev->type <= p->end_type)) {
++              UnlockDisplay(ev->xany.display);
+               ret = (*(p->filter))(ev->xany.display, p->window, ev,
+                                     p->client_data);
+-              UnlockDisplay(ev->xany.display);
+               return(ret);
+           }
+       }
diff --git a/x11-libs/libX11/files/digest-libX11-1.0.99.2-r1 b/x11-libs/libX11/files/digest-libX11-1.0.99.2-r1
new file mode 100644 (file)
index 0000000..c27ad21
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 dd6926633daaf267ef39ad4f23622529 libX11-1.0.99.2.tar.bz2 1421714
+RMD160 1c9d280cc3f0b5f08f26bedecd9875e4d0a74981 libX11-1.0.99.2.tar.bz2 1421714
+SHA256 8d9f00f627bf70e835e191e2e0403d2420ec0482cbead4ea96acabce6c340bda libX11-1.0.99.2.tar.bz2 1421714
diff --git a/x11-libs/libX11/libX11-1.0.99.2-r1.ebuild b/x11-libs/libX11/libX11-1.0.99.2-r1.ebuild
new file mode 100644 (file)
index 0000000..676eef8
--- /dev/null
@@ -0,0 +1,37 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libX11/libX11-1.0.99.2-r1.ebuild,v 1.1 2006/11/15 03:04:49 joshuabaergen Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+inherit x-modular
+
+DESCRIPTION="X.Org X11 library"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="ipv6 xcb"
+RDEPEND=">=x11-libs/xtrans-1.0.1
+       x11-libs/libXau
+       x11-libs/libXdmcp
+       x11-proto/kbproto
+       x11-proto/inputproto
+       >=x11-proto/xproto-7.0.6
+       xcb? ( >=x11-libs/libxcb-0.9.92 )"
+DEPEND="${RDEPEND}
+       x11-proto/xf86bigfontproto
+       x11-proto/bigreqsproto
+       x11-proto/xextproto
+       x11-proto/xcmiscproto
+       >=x11-misc/util-macros-0.99.0_p20051007"
+
+CONFIGURE_OPTIONS="$(use_enable ipv6)
+       $(use_with xcb)"
+# xorg really doesn't like xlocale disabled.
+# $(use_enable nls xlocale)
+
+pkg_setup() {
+       if use xcb; then
+               PATCHES="${FILESDIR}/${PV}-xcb_callback_fix.patch"
+       fi
+}