summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2012-03-03 12:19:25 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2012-03-03 12:19:25 +0000
commite908a97e62746920ff24c048ae808a444cdfa2c6 (patch)
tree664dc28c46070026ef66a6d98980e6658200dc7f /x11-libs/libxcb
parentRun java-pkg-opt-2_pkg_setup to use jdk when compiling, bug #401803 by DrSlon... (diff)
downloadhistorical-e908a97e62746920ff24c048ae808a444cdfa2c6.tar.gz
historical-e908a97e62746920ff24c048ae808a444cdfa2c6.tar.bz2
historical-e908a97e62746920ff24c048ae808a444cdfa2c6.zip
Add patch to fix hang on BSD and OS X, bug #405951.
Package-Manager: portage-2.2.0_alpha89/cvs/Linux x86_64
Diffstat (limited to 'x11-libs/libxcb')
-rw-r--r--x11-libs/libxcb/ChangeLog8
-rw-r--r--x11-libs/libxcb/Manifest4
-rw-r--r--x11-libs/libxcb/files/libxcb-1.8-waitall-hang.patch54
-rw-r--r--x11-libs/libxcb/libxcb-1.8-r1.ebuild39
4 files changed, 103 insertions, 2 deletions
diff --git a/x11-libs/libxcb/ChangeLog b/x11-libs/libxcb/ChangeLog
index 0573d8156e3d..3dfef0178896 100644
--- a/x11-libs/libxcb/ChangeLog
+++ b/x11-libs/libxcb/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-libs/libxcb
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/ChangeLog,v 1.85 2012/02/08 23:49:11 chithanh Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/ChangeLog,v 1.86 2012/03/03 12:19:25 chithanh Exp $
+
+*libxcb-1.8-r1 (03 Mar 2012)
+
+ 03 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +libxcb-1.8-r1.ebuild, +files/libxcb-1.8-waitall-hang.patch:
+ Add patch to fix hang on BSD and OS X, bug #405951.
08 Feb 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
libxcb-1.7.ebuild, libxcb-1.8.ebuild:
diff --git a/x11-libs/libxcb/Manifest b/x11-libs/libxcb/Manifest
index 279661638940..a70a97d1cdd6 100644
--- a/x11-libs/libxcb/Manifest
+++ b/x11-libs/libxcb/Manifest
@@ -1,8 +1,10 @@
AUX libxcb-1.7-interix.patch 2963 RMD160 5df5ea09b03a4be7052114b0504d3d2a3017a49e SHA1 39e76ffd95cacd84fbda1f46e04171e5c5ba0301 SHA256 291cd66ba133f341e48f281578cd80dfa22c908b81990933e9feb616973b9587
+AUX libxcb-1.8-waitall-hang.patch 1659 RMD160 c96976cee1c309a06c5aa2c15303921e2853cf01 SHA1 45db67ccec41608b8090345929517ebe3df0ecdc SHA256 f1007ca0c13c82b8a5adf984892eea19c32059f2cea3da80b95391e9723908a5
AUX xcb-rebuilder.sh 1511 RMD160 81acde214faf7b4ed00a378c36ec5c43f19f3bc7 SHA1 7d2ef15c2449cb4c72d89059e063ce8ae228d014 SHA256 37910aacdcd793a22af2eea07741bbdde8c62096c67ab7530e72424fadd14bc7
DIST libxcb-1.7.tar.bz2 318619 RMD160 f6748b9751e339c2669a6b9322b421abbbff7afb SHA1 7540f0587907bce421914f0ddb813810cb2f36f8 SHA256 e776dc35e2a66094e7308ce2e045fb4e27cf3ca30ab1813a8fc08538140724df
DIST libxcb-1.8.tar.bz2 372730 RMD160 f6adad4fdd1773e604df5e7b556107c7fa620321 SHA1 18b76759d5bbb863777f37bf3aec23ebaa31d5be SHA256 25c3600bec104c5aa6e9f559bfe0011b0e223bde726b849b58f758c2d4e6fc5e
EBUILD libxcb-1.7.ebuild 1142 RMD160 fe501de9411ca172467ecc657b0d19ae13182e0f SHA1 35e5b3c19cbb48b3598d16f0f47da519a1c2e7c2 SHA256 5e46fd915c0dac79d0fd6c55737d34edd815b8da0b485d68eadf6a62b66ff9a0
+EBUILD libxcb-1.8-r1.ebuild 1144 RMD160 5674a45f1430f11a89221e77d094e79819f49a4a SHA1 a5d2a0ea5db5eb5e6cf1e26876f27fadd6fcc1f4 SHA256 53737bacc9df341b1dc84fd601755228436af2266bcde4cb71ae745da9503529
EBUILD libxcb-1.8.ebuild 1084 RMD160 0e34980de3ebd10ab1a1f1fd7efefda372199d9d SHA1 e06d695ea1c54a5c3b07f02e349bae7a50f02838 SHA256 926fb75f2953005a98e6fc9dff5da1b79aa1738c1abe0eaad2c0138e784ad4bf
-MISC ChangeLog 10007 RMD160 9da9709278744dad408a43d8a38a0816bea2375d SHA1 b66bd2fd5da8b4742ea8f275a842d77fe288b709 SHA256 8819d875e78746d1fd68002c01d339e7805406e1722dffaa84727533f0686564
+MISC ChangeLog 10224 RMD160 ba4ca27d311d766f13a677f5e60e154547553708 SHA1 dee6b0c8e3ffe455362b032a62289c8f6943a2e6 SHA256 df407a248304173ce286e65727d3f83f38dfd96d75910a4645b78063b6f917ef
MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055
diff --git a/x11-libs/libxcb/files/libxcb-1.8-waitall-hang.patch b/x11-libs/libxcb/files/libxcb-1.8-waitall-hang.patch
new file mode 100644
index 000000000000..ef929cf2c67c
--- /dev/null
+++ b/x11-libs/libxcb/files/libxcb-1.8-waitall-hang.patch
@@ -0,0 +1,54 @@
+From 2b5bc1d3299510e10a1733e5a3b326232c774b75 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Thu, 9 Feb 2012 23:54:55 +0100
+Subject: [PATCH] Stop using recv(MSG_WAITALL)
+
+In one case we don't actually want to fill up our buffer. In the other
+one we're looping over the recv() until we have all the data.
+
+Debian bug#659104
+
+Reported-by: Christoph Egger <christoph@debian.org>
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+---
+ src/xcb_in.c | 10 +++-------
+ 1 files changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/src/xcb_in.c b/src/xcb_in.c
+index 969cfc0..4d8d691 100644
+--- a/src/xcb_in.c
++++ b/src/xcb_in.c
+@@ -51,11 +51,6 @@
+ #define XCB_REPLY 1
+ #define XCB_XGE_EVENT 35
+
+-/* required for compiling for Win32 using MinGW */
+-#ifndef MSG_WAITALL
+-#define MSG_WAITALL 0
+-#endif
+-
+ struct event_list {
+ xcb_generic_event_t *event;
+ struct event_list *next;
+@@ -269,7 +264,7 @@ static int read_block(const int fd, void *buf, const ssize_t len)
+ int done = 0;
+ while(done < len)
+ {
+- int ret = recv(fd, ((char *) buf) + done, len - done,MSG_WAITALL);
++ int ret = recv(fd, ((char *) buf) + done, len - done, 0);
+ if(ret > 0)
+ done += ret;
+ #ifndef _WIN32
+@@ -661,7 +656,8 @@ void _xcb_in_replies_done(xcb_connection_t *c)
+
+ int _xcb_in_read(xcb_connection_t *c)
+ {
+- int n = recv(c->fd, c->in.queue + c->in.queue_len, sizeof(c->in.queue) - c->in.queue_len,MSG_WAITALL);
++ int n = recv(c->fd, c->in.queue + c->in.queue_len,
++ sizeof(c->in.queue) - c->in.queue_len, 0);
+ if(n > 0)
+ c->in.queue_len += n;
+ while(read_packet(c))
+--
+1.7.2.5
+
diff --git a/x11-libs/libxcb/libxcb-1.8-r1.ebuild b/x11-libs/libxcb/libxcb-1.8-r1.ebuild
new file mode 100644
index 000000000000..512d304949b4
--- /dev/null
+++ b/x11-libs/libxcb/libxcb-1.8-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/libxcb-1.8-r1.ebuild,v 1.1 2012/03/03 12:19:25 chithanh Exp $
+
+EAPI=3
+
+inherit python xorg-2
+
+DESCRIPTION="X C-language Bindings library"
+HOMEPAGE="http://xcb.freedesktop.org/"
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/xcb/libxcb"
+[[ ${PV} != 9999* ]] && \
+ SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc selinux"
+
+RDEPEND="x11-libs/libXau
+ x11-libs/libXdmcp
+ dev-libs/libpthread-stubs"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ dev-libs/libxslt
+ =dev-lang/python-2*[xml]
+ >=x11-proto/xcb-proto-1.7"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8-waitall-hang.patch
+)
+
+pkg_setup() {
+ python_set_active_version 2
+ xorg-2_pkg_setup
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_enable doc build-docs)
+ $(use_enable selinux)
+ --enable-xinput
+ )
+}