commit:     491f2cf154195e08ce6636bf8b0a94f4ba198442
Author:     Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  6 16:19:17 2016 +0000
Commit:     Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo <DOT> org>
CommitDate: Mon Jun  6 16:20:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=491f2cf1

x11-proto/xcb-proto: fix broken schema definition that caused tests to fail

Bug: https://bugs.gentoo.org/show_bug.cgi?id=584532

Package-Manager: portage-2.2.28

 .../files/xcb-proto-1.12-update-xml-schema.patch   | 120 +++++++++++++++++++++
 x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild       |  72 +++++++++++++
 2 files changed, 192 insertions(+)

diff --git a/x11-proto/xcb-proto/files/xcb-proto-1.12-update-xml-schema.patch 
b/x11-proto/xcb-proto/files/xcb-proto-1.12-update-xml-schema.patch
new file mode 100644
index 0000000..deb6673
--- /dev/null
+++ b/x11-proto/xcb-proto/files/xcb-proto-1.12-update-xml-schema.patch
@@ -0,0 +1,120 @@
+From 95a262e0e66cd88b9d7a133917b3ba70ace77301 Mon Sep 17 00:00:00 2001
+From: Jon Turney <[email protected]>
+Date: Wed, 3 Feb 2016 16:41:57 +0000
+Subject: Update XML schema to fix 'make check'
+
+Here is an attempt at updating the schema to add serialize attribute to pad
+element and required_start_align element.
+
+Not sure if I've added required_start_align element in the right place. The
+default case in the switch element is removed as it doesn't seem to be used, 
and
+otherwise makes the schema ambiguous.
+
+$ make check
+Making check in src
+make[1]: Entering directory '/jhbuild/x86_64-pc-cygwin/build/xcb/proto/src'
+make  check-local
+make[2]: Entering directory '/jhbuild/x86_64-pc-cygwin/build/xcb/proto/src'
+/usr/bin/xmllint --noout --schema /jhbuild/checkout/xcb/proto/src/xcb.xsd
+/jhbuild/checkout/xcb/proto/src/*.xml
+/jhbuild/checkout/xcb/proto/src/bigreq.xml validates
+/jhbuild/checkout/xcb/proto/src/composite.xml validates
+/jhbuild/checkout/xcb/proto/src/damage.xml validates
+/jhbuild/checkout/xcb/proto/src/dpms.xml validates
+/jhbuild/checkout/xcb/proto/src/dri2.xml validates
+/jhbuild/checkout/xcb/proto/src/dri3.xml validates
+/jhbuild/checkout/xcb/proto/src/ge.xml validates
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd ).
+/jhbuild/checkout/xcb/proto/src/glx.xml fails to validate
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd, exprfield, switch, reply, doc ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd, exprfield, switch, reply, doc ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd, doc ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( pad, field, list, fd, doc ).
+/jhbuild/checkout/xcb/proto/src/present.xml fails to validate
+/jhbuild/checkout/xcb/proto/src/randr.xml validates
+/jhbuild/checkout/xcb/proto/src/record.xml validates
+/jhbuild/checkout/xcb/proto/src/render.xml validates
+/jhbuild/checkout/xcb/proto/src/res.xml validates
+/jhbuild/checkout/xcb/proto/src/screensaver.xml validates
+/jhbuild/checkout/xcb/proto/src/shape.xml validates
+/jhbuild/checkout/xcb/proto/src/shm.xml validates
+/jhbuild/checkout/xcb/proto/src/sync.xml validates
+/jhbuild/checkout/xcb/proto/src/xc_misc.xml validates
+/jhbuild/checkout/xcb/proto/src/xevie.xml validates
+/jhbuild/checkout/xcb/proto/src/xf86dri.xml validates
+/jhbuild/checkout/xcb/proto/src/xf86vidmode.xml validates
+/jhbuild/checkout/xcb/proto/src/xfixes.xml validates
+/jhbuild/checkout/xcb/proto/src/xinerama.xml validates
+Element 'required_start_align': This element is not expected. Expected is one 
of ( bitcase, case, pad, field, list, fd ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( bitcase, case, pad, field, list, fd ).
+Element 'required_start_align': This element is not expected. Expected is one 
of ( bitcase, case, pad, field, list, fd ).
+/jhbuild/checkout/xcb/proto/src/xinput.xml fails to validate
+Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
+Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
+Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
+Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
+Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
+/jhbuild/checkout/xcb/proto/src/xkb.xml fails to validate
+/jhbuild/checkout/xcb/proto/src/xprint.xml validates
+/jhbuild/checkout/xcb/proto/src/xproto.xml validates
+/jhbuild/checkout/xcb/proto/src/xselinux.xml validates
+/jhbuild/checkout/xcb/proto/src/xtest.xml validates
+/jhbuild/checkout/xcb/proto/src/xv.xml validates
+/jhbuild/checkout/xcb/proto/src/xvmc.xml validates
+Makefile:534: recipe for target 'check-local' failed
+
+Signed-off-by: Jon Turney <[email protected]>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95494
+Reviewd-by: Ran Benita <[email protected]>
+Signed-off-by: Uli Schlachter <[email protected]>
+
+diff --git a/src/xcb.xsd b/src/xcb.xsd
+index c1dce3e..f0c5f44 100644
+--- a/src/xcb.xsd
++++ b/src/xcb.xsd
+@@ -44,6 +44,15 @@ authorization from the authors.
+     <xsd:complexType>
+       <xsd:attribute name="bytes" type="xsd:integer" use="optional" />
+       <xsd:attribute name="align" type="xsd:integer" use="optional" />
++      <xsd:attribute name="serialize" type="xsd:boolean" use="optional" />
++    </xsd:complexType>
++  </xsd:element>
++
++  <!-- Alignment -->
++  <xsd:element name="required_start_align" >
++    <xsd:complexType>
++      <xsd:attribute name="align" type="xsd:integer" use="required" />
++      <xsd:attribute name="offset" type="xsd:integer" use="optional" />
+     </xsd:complexType>
+   </xsd:element>
+ 
+@@ -76,14 +85,13 @@ authorization from the authors.
+     <xsd:sequence>
+       <!-- switch(expression) -->
+       <xsd:group ref="expression" minOccurs="1" maxOccurs="1" />
++      <xsd:element ref="required_start_align" minOccurs="0" maxOccurs="1" />
+       <xsd:choice>
+         <!-- bitcase expression - bit test -->
+         <xsd:element name="bitcase" type="caseexpr" minOccurs="0" 
maxOccurs="unbounded" />
+         <!-- case expression - value test -->
+         <xsd:element name="case" type="caseexpr" minOccurs="0" 
maxOccurs="unbounded" />
+       </xsd:choice>
+-      <!-- default: -->
+-      <xsd:group ref="fields" minOccurs="0" maxOccurs="1" />
+     </xsd:sequence>
+     <xsd:attribute name="name" type="xsd:string" use="required" />
+   </xsd:complexType>
+@@ -201,6 +209,7 @@ authorization from the authors.
+       <xsd:element ref="field" />
+       <xsd:element ref="list" />
+       <xsd:element ref="fd" />
++      <xsd:element ref="required_start_align" />
+     </xsd:choice>
+   </xsd:group>
+ 
+-- 
+cgit v0.10.2
+

diff --git a/x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild 
b/x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild
new file mode 100644
index 0000000..c59c1a4
--- /dev/null
+++ b/x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
+XORG_MULTILIB=yes
+
+inherit python-r1 xorg-2
+
+DESCRIPTION="X C-language Bindings protocol headers"
+HOMEPAGE="https://xcb.freedesktop.org/";
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/xcb/proto"
+[[ ${PV} != 9999* ]] && \
+       SRC_URI="https://xcb.freedesktop.org/dist/${P}.tar.bz2";
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86 ~ppc-aix ~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=""
+
+RESTRICT="test" #584532
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+       dev-libs/libxml2"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-make-whitespace-usage-consistent.patch
+       "${FILESDIR}"/${P}-print-is-a-function-and-needs-parentheses.patch
+       "${FILESDIR}"/${P}-update-xml-schema.patch
+)
+
+src_configure() {
+       python_setup
+       xorg-2_src_configure
+}
+
+multilib_src_configure() {
+       autotools-utils_src_configure
+
+       if multilib_is_native_abi; then
+               python_foreach_impl autotools-utils_src_configure
+       fi
+}
+
+multilib_src_compile() {
+       default
+
+       if multilib_is_native_abi; then
+               python_foreach_impl autotools-utils_src_compile -C xcbgen \
+                       top_builddir="${BUILD_DIR}"
+       fi
+}
+
+src_install() {
+       xorg-2_src_install
+
+       # pkg-config file hardcodes python sitedir, bug 486512
+       sed -i -e '/pythondir/s:=.*$:=/dev/null:' \
+               "${ED}"/usr/lib*/pkgconfig/xcb-proto.pc || die
+}
+
+multilib_src_install() {
+       default
+
+       if multilib_is_native_abi; then
+               python_foreach_impl autotools-utils_src_install -C xcbgen \
+                       top_builddir="${BUILD_DIR}"
+       fi
+}

Reply via email to