diff options
author | Mark Wright <gienah@gentoo.org> | 2013-11-23 11:50:01 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2013-11-23 11:50:01 +0000 |
commit | 938a42f5cda4964b88b73fa50372416ec1048db0 (patch) | |
tree | 76e2ed4af39810790721db07c4098ee1398410dd /x11-libs/libxcb | |
parent | Stable for sparc, wrt bug #491070 (diff) | |
download | gentoo-2-938a42f5cda4964b88b73fa50372416ec1048db0.tar.gz gentoo-2-938a42f5cda4964b88b73fa50372416ec1048db0.tar.bz2 gentoo-2-938a42f5cda4964b88b73fa50372416ec1048db0.zip |
Part of fix for bug 491496, thanks to Rion for reporting, thanks to gerardo for the libxcb-list-object-has-no-attribute-lenfield_name.patch. libxcb-1.9.1-conflicting-types-for-xcb_ge_event_t.patch by me. Fix bug 472032, thanks to Myckel Habets for reporting.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Diffstat (limited to 'x11-libs/libxcb')
4 files changed, 120 insertions, 1 deletions
diff --git a/x11-libs/libxcb/ChangeLog b/x11-libs/libxcb/ChangeLog index eebb9124ef5e..fa7940c5eed2 100644 --- a/x11-libs/libxcb/ChangeLog +++ b/x11-libs/libxcb/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for x11-libs/libxcb # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/ChangeLog,v 1.126 2013/11/12 02:40:23 mattst88 Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/ChangeLog,v 1.127 2013/11/23 11:50:01 gienah Exp $ + +*libxcb-1.9.1-r1 (23 Nov 2013) + + 23 Nov 2013; Mark Wright <gienah@gentoo.org> + +files/libxcb-1.9.1-conflicting-types-for-xcb_ge_event_t.patch, + +files/libxcb-1.9.1-list-object-has-no-attribute-lenfield_name.patch, + +libxcb-1.9.1-r1.ebuild: + Part of fix for bug 491496, thanks to Rion for reporting, thanks to gerardo + for the libxcb-list-object-has-no-attribute-lenfield_name.patch. libxcb-1.9.1 + -conflicting-types-for-xcb_ge_event_t.patch by me. Fix bug 472032, thanks to + Myckel Habets for reporting. 12 Nov 2013; Matt Turner <mattst88@gentoo.org> libxcb-1.9.3.ebuild: Update dependency on xcb-proto to make sure users get the fix for bug 490928. diff --git a/x11-libs/libxcb/files/libxcb-1.9.1-conflicting-types-for-xcb_ge_event_t.patch b/x11-libs/libxcb/files/libxcb-1.9.1-conflicting-types-for-xcb_ge_event_t.patch new file mode 100644 index 000000000000..2c884d79626f --- /dev/null +++ b/x11-libs/libxcb/files/libxcb-1.9.1-conflicting-types-for-xcb_ge_event_t.patch @@ -0,0 +1,18 @@ +--- libxcb-1.9.1-orig/src/xcb.h 2013-05-31 01:38:01.000000000 +1000 ++++ libxcb-1.9.1/src/xcb.h 2013-11-17 18:30:27.664675840 +1100 +@@ -143,6 +143,7 @@ + * An event as sent by the XGE extension. The length field specifies the + * number of 4-byte blocks trailing the struct. + */ ++#if 0 + typedef struct { + uint8_t response_type; /**< Type of the response */ + uint8_t pad0; /**< Padding */ +@@ -153,6 +154,7 @@ + uint32_t pad[5]; /**< Padding */ + uint32_t full_sequence; /**< full sequence */ + } xcb_ge_event_t; ++#endif + + /** + * @brief Generic error. diff --git a/x11-libs/libxcb/files/libxcb-1.9.1-list-object-has-no-attribute-lenfield_name.patch b/x11-libs/libxcb/files/libxcb-1.9.1-list-object-has-no-attribute-lenfield_name.patch new file mode 100644 index 000000000000..3ad63ffef2c7 --- /dev/null +++ b/x11-libs/libxcb/files/libxcb-1.9.1-list-object-has-no-attribute-lenfield_name.patch @@ -0,0 +1,29 @@ +diff --git a/src/c_client.py b/src/c_client.py +index ec66223..942e78a 100644 +--- a/src/c_client.py ++++ b/src/c_client.py +@@ -687,10 +687,20 @@ def _c_serialize_helper_switch(context, self, complex_name, + switch_expr = _c_accessor_get_expr(self.expr, None) + + for b in self.bitcases: +- bitcase_expr = _c_accessor_get_expr(b.type.expr, None) +- code_lines.append(' if(%s & %s) {' % (switch_expr, bitcase_expr)) +-# code_lines.append(' printf("switch %s: entering bitcase section %s (mask=%%%%d)...\\n", %s);' % +-# (self.name[-1], b.type.name[-1], bitcase_expr)) ++ len_expr = len(b.type.expr) ++ for n, expr in enumerate(b.type.expr): ++ bitcase_expr = _c_accessor_get_expr(expr, None) ++ # only one <enumref> in the <bitcase> ++ if len_expr == 1: ++ code_lines.append(' if(%s & %s) {' % (switch_expr, bitcase_expr)) ++ # multiple <enumref> in the <bitcase> ++ elif n == 0: # first ++ code_lines.append(' if((%s & %s) ||' % (switch_expr, bitcase_expr)) ++ elif len_expr == (n + 1): # last ++ code_lines.append(' (%s & %s)) {' % (switch_expr, bitcase_expr)) ++ else: # between first and last ++ code_lines.append(' (%s & %s) ||' % (switch_expr, bitcase_expr)) ++ + b_prefix = prefix + if b.type.has_name: + b_prefix = prefix + [(b.c_field_name, '.', b.type)] diff --git a/x11-libs/libxcb/libxcb-1.9.1-r1.ebuild b/x11-libs/libxcb/libxcb-1.9.1-r1.ebuild new file mode 100644 index 000000000000..d3fcdf312480 --- /dev/null +++ b/x11-libs/libxcb/libxcb-1.9.1-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/libxcb-1.9.1-r1.ebuild,v 1.1 2013/11/23 11:50:01 gienah Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) +PYTHON_REQ_USE=xml + +XORG_DOC=doc +XORG_MULTILIB=yes +inherit eutils python-single-r1 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 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="selinux xkb" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="dev-libs/libpthread-stubs[${MULTILIB_USEDEP}] + x11-libs/libXau[${MULTILIB_USEDEP}] + x11-libs/libXdmcp[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND} + dev-lang/python[xml] + dev-libs/libxslt + >=x11-proto/xcb-proto-1.9-r1[${MULTILIB_USEDEP},${PYTHON_USEDEP}] + ${PYTHON_DEPS}" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + # https://bugs.gentoo.org/show_bug.cgi?id=472032 + sed -e 's@x$(HTML_CHECK_RESULT)@xfalse@' \ + -i "${S}/tests/Makefile.am" \ + -i "${S}/tests/Makefile.in" \ + || die "Could not patch tests/Makefile.am and tests/Makefile.in to fix tests" + # http://patchwork.freedesktop.org/patch/15185/ + # Sounds like this commit is missing: + # c_client.py: Handle multiple expr. in a bitcase + # http://cgit.freedesktop.org/xcb/libxcb/commit/?id=e602b65 + epatch "${FILESDIR}/${PN}-1.9.1-list-object-has-no-attribute-lenfield_name.patch" + # https://bugs.freedesktop.org/show_bug.cgi?id=71502 + epatch "${FILESDIR}/${PN}-1.9.1-conflicting-types-for-xcb_ge_event_t.patch" +} + +src_configure() { + XORG_CONFIGURE_OPTIONS=( + $(use_enable doc build-docs) + $(use_enable selinux) + $(use_enable xkb) + --enable-xinput + ) + xorg-2_src_configure +} |