<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[149221] trunk/dports/x11/xorg-xcb-proto</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/149221">149221</a></dd>
<dt>Author</dt> <dd>jeremyhu@macports.org</dd>
<dt>Date</dt> <dd>2016-06-06 09:07:28 -0700 (Mon, 06 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>xorg-xcb-proto: Pull in fixes from git, including python 3 fixes</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsx11xorgxcbprotoPortfile">trunk/dports/x11/xorg-xcb-proto/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/dports/x11/xorg-xcb-proto/files/</li>
<li><a href="#trunkdportsx11xorgxcbprotofiles0001Makewhitespaceuseconsistentpatch">trunk/dports/x11/xorg-xcb-proto/files/0001-Make-whitespace-use-consistent.patch</a></li>
<li><a href="#trunkdportsx11xorgxcbprotofiles0002printisafunctionandneedsparenthesespatch">trunk/dports/x11/xorg-xcb-proto/files/0002-print-is-a-function-and-needs-parentheses.patch</a></li>
<li><a href="#trunkdportsx11xorgxcbprotofiles0003resFixQueryClientIdsreplysizepatch">trunk/dports/x11/xorg-xcb-proto/files/0003-res-Fix-QueryClientIds-reply-size.patch</a></li>
<li><a href="#trunkdportsx11xorgxcbprotofiles0004UpdateXMLschematofixmakecheckpatch">trunk/dports/x11/xorg-xcb-proto/files/0004-Update-XML-schema-to-fix-make-check.patch</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsx11xorgxcbprotoPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/x11/xorg-xcb-proto/Portfile (149220 => 149221)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/x11/xorg-xcb-proto/Portfile        2016-06-06 15:57:08 UTC (rev 149220)
+++ trunk/dports/x11/xorg-xcb-proto/Portfile        2016-06-06 16:07:28 UTC (rev 149221)
</span><span class="lines">@@ -4,6 +4,7 @@
</span><span class="cx"> 
</span><span class="cx"> name                xorg-xcb-proto
</span><span class="cx"> version                1.12
</span><ins>+revision        1
</ins><span class="cx"> categories        x11 devel
</span><span class="cx"> license                X11
</span><span class="cx"> maintainers        jeremyhu openmaintainer
</span><span class="lines">@@ -23,6 +24,13 @@
</span><span class="cx"> 
</span><span class="cx"> depends_run     port:libxml2
</span><span class="cx"> 
</span><ins>+patch.pre_args -p1
+patchfiles \
+    0001-Make-whitespace-use-consistent.patch \
+    0002-print-is-a-function-and-needs-parentheses.patch \
+    0003-res-Fix-QueryClientIds-reply-size.patch \
+    0004-Update-XML-schema-to-fix-make-check.patch
+
</ins><span class="cx"> # TODO: Remove after 2016-01-04.
</span><span class="cx"> variant python25 requires python27 description {Legacy variant} {}
</span><span class="cx"> variant python26 requires python27 description {Legacy variant} {}
</span></span></pre></div>
<a id="trunkdportsx11xorgxcbprotofiles0001Makewhitespaceuseconsistentpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/x11/xorg-xcb-proto/files/0001-Make-whitespace-use-consistent.patch (0 => 149221)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/x11/xorg-xcb-proto/files/0001-Make-whitespace-use-consistent.patch                                (rev 0)
+++ trunk/dports/x11/xorg-xcb-proto/files/0001-Make-whitespace-use-consistent.patch        2016-06-06 16:07:28 UTC (rev 149221)
</span><span class="lines">@@ -0,0 +1,211 @@
</span><ins>+From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001
+From: Thomas Klausner &lt;wiz@NetBSD.org&gt;
+Date: Thu, 19 May 2016 17:30:04 +0200
+Subject: [PATCH 1/4] Make whitespace use consistent.
+
+At least python-3.5.x complains about this forcefully.
+
+Signed-off-by: Thomas Klausner &lt;wiz@NetBSD.org&gt;
+Signed-off-by: Uli Schlachter &lt;psychon@znc.in&gt;
+---
+ xcbgen/align.py | 96 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/xcbgen/align.py b/xcbgen/align.py
+index 5e31838..d4c12ee 100644
+--- a/xcbgen/align.py
++++ b/xcbgen/align.py
+@@ -16,12 +16,12 @@ class Alignment(object):
+         return self.align == other.align and self.offset == other.offset

+     def __str__(self):
+-        return &quot;(align=%d, offset=%d)&quot; % (self.align, self.offset)
++        return &quot;(align=%d, offset=%d)&quot; % (self.align, self.offset)

+     @staticmethod
+     def for_primitive_type(size):
+-        # compute the required start_alignment based on the size of the type
+-        if size % 8 == 0:
++        # compute the required start_alignment based on the size of the type
++        if size % 8 == 0:
+             # do 8-byte primitives require 8-byte alignment in X11?
+             return Alignment(8,0)
+         elif size % 4 == 0:
+@@ -33,7 +33,7 @@ class Alignment(object):


+     def align_after_fixed_size(self, size):
+-        new_offset = (self.offset + size) % self.align
++        new_offset = (self.offset + size) % self.align
+         return Alignment(self.align, new_offset)


+@@ -41,7 +41,7 @@ class Alignment(object):
+         '''
+         Assuming the given external_align, checks whether
+         self is fulfilled for all cases.
+-        Returns True if yes, False otherwise.
++        Returns True if yes, False otherwise.
+         '''
+         if self.align == 1 and self.offset == 0:
+             # alignment 1 with offset 0 is always fulfilled
+@@ -55,9 +55,9 @@ class Alignment(object):
+             # the external align guarantees less alignment -&gt; not guaranteed
+             return False

+-        if external_align.align % self.align != 0:
++        if external_align.align % self.align != 0:
+             # the external align cannot be divided by our align
+-            # -&gt; not guaranteed
++            # -&gt; not guaranteed
+             # (this can only happen if there are alignments that are not
+             # a power of 2, which is highly discouraged. But better be
+             # safe and check for it)
+@@ -72,7 +72,7 @@ class Alignment(object):

+     def combine_with(self, other):
+         # returns the alignment that is guaranteed when
+-        # both, self or other, can happen
++        # both, self or other, can happen
+         new_align = gcd(self.align, other.align)
+         new_offset_candidate1 = self.offset % new_align
+         new_offset_candidate2 = other.offset % new_align
+@@ -83,8 +83,8 @@ class Alignment(object):
+             new_align = gcd(new_align, offset_diff)
+             new_offset_candidate1 = self.offset % new_align
+             new_offset_candidate2 = other.offset % new_align
+-            assert new_offset_candidate1 == new_offset_candidate2
+-            new_offset = new_offset_candidate1
++            assert new_offset_candidate1 == new_offset_candidate2
++            new_offset = new_offset_candidate1
+         # return the result
+         return Alignment(new_align, new_offset)

+@@ -92,44 +92,44 @@ class Alignment(object):
+ class AlignmentLog(object):

+     def __init__(self):
+-        self.ok_list = []
+-        self.fail_list = []
+-        self.verbosity = 1
++        self.ok_list = []
++        self.fail_list = []
++        self.verbosity = 1

+     def __str__(self):
+-        result = &quot;&quot;
++        result = &quot;&quot;

+-        # output the OK-list
+-        for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list:
+-            stacksize = len(callstack)
++        # output the OK-list
++        for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list:
++            stacksize = len(callstack)
+             indent = '  ' * stacksize
+-            if self.ok_callstack_is_relevant(callstack):
++            if self.ok_callstack_is_relevant(callstack):
+                 if field_name is None or field_name == &quot;&quot;:
+-                    result += (&quot;    %sok: %s:\n\t%sbefore: %s, after: %s\n&quot;
+-                        % (indent, str(type_obj), indent, str(align_before), str(align_after)))
+-                else:
+-                    result += (&quot;    %sok: field \&quot;%s\&quot; in %s:\n\t%sbefore: %s, after: %s\n&quot;
+-                        % (indent, str(field_name), str(type_obj),
+-                           indent, str(align_before), str(align_after)))
++                    result += (&quot;    %sok: %s:\n\t%sbefore: %s, after: %s\n&quot;
++                        % (indent, str(type_obj), indent, str(align_before), str(align_after)))
++                else:
++                    result += (&quot;    %sok: field \&quot;%s\&quot; in %s:\n\t%sbefore: %s, after: %s\n&quot;
++                        % (indent, str(field_name), str(type_obj),
++                           indent, str(align_before), str(align_after)))
+                 if self.verbosity &gt;= 1:
+-                    result += self.callstack_to_str(indent, callstack)
++                    result += self.callstack_to_str(indent, callstack)

+-        # output the fail-list
+-        for (align_before, field_name, type_obj, callstack, reason) in self.fail_list:
+-            stacksize = len(callstack)
++        # output the fail-list
++        for (align_before, field_name, type_obj, callstack, reason) in self.fail_list:
++            stacksize = len(callstack)
+             indent = '  ' * stacksize
+-            if field_name is None or field_name == &quot;&quot;:
+-                result += (&quot;    %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n&quot;
+-                    % (indent, str(align_before), indent, str(type_obj), indent, reason))
+-            else:
+-                result += (&quot;    %sfail: align %s is incompatible with\n\t%sfield \&quot;%s\&quot; in %s\n\t%sReason: %s\n&quot;
+-                    % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason))
++            if field_name is None or field_name == &quot;&quot;:
++                result += (&quot;    %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n&quot;
++                    % (indent, str(align_before), indent, str(type_obj), indent, reason))
++            else:
++                result += (&quot;    %sfail: align %s is incompatible with\n\t%sfield \&quot;%s\&quot; in %s\n\t%sReason: %s\n&quot;
++                    % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason))

+             if self.verbosity &gt;= 1:
+-                result += self.callstack_to_str(indent, callstack)
++                result += self.callstack_to_str(indent, callstack)


+-        return result
++        return result


+     def callstack_to_str(self, indent, callstack):
+@@ -137,41 +137,41 @@ class AlignmentLog(object):
+         for stack_elem in callstack:
+             result += &quot;\t  %s%s\n&quot; % (indent, str(stack_elem))
+         result += &quot;\t%s]\n&quot; % indent
+-        return result
++        return result


+     def ok_callstack_is_relevant(self, ok_callstack):
+         # determine whether an ok callstack is relevant for logging
+-        if self.verbosity &gt;= 2:
+-            return True
++        if self.verbosity &gt;= 2:
++            return True

+         # empty callstacks are always relevant
+-        if len(ok_callstack) == 0:
++        if len(ok_callstack) == 0:
+             return True

+-        # check whether the ok_callstack is a subset or equal to a fail_callstack
++        # check whether the ok_callstack is a subset or equal to a fail_callstack
+         for (align_before, field_name, type_obj, fail_callstack, reason) in self.fail_list:
+             if len(ok_callstack) &lt;= len(fail_callstack):
+                 zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)])
+-                is_subset = all([i == j for i, j in zipped])
+-                if is_subset:
++                is_subset = all([i == j for i, j in zipped])
++                if is_subset:
+                     return True

+         return False


+     def ok(self, align_before, field_name, type_obj, callstack, align_after):
+-        self.ok_list.append((align_before, field_name, type_obj, callstack, align_after))
++        self.ok_list.append((align_before, field_name, type_obj, callstack, align_after))

+     def fail(self, align_before, field_name, type_obj, callstack, reason):
+-        self.fail_list.append((align_before, field_name, type_obj, callstack, reason))
++        self.fail_list.append((align_before, field_name, type_obj, callstack, reason))

+     def append(self, other):
+-        self.ok_list.extend(other.ok_list)
+-        self.fail_list.extend(other.fail_list)
++        self.ok_list.extend(other.ok_list)
++        self.fail_list.extend(other.fail_list)

+     def ok_count(self):
+-        return len(self.ok_list)
++        return len(self.ok_list)



+-- 
+2.8.3
+
</ins></span></pre></div>
<a id="trunkdportsx11xorgxcbprotofiles0002printisafunctionandneedsparenthesespatch"></a>
<div class="addfile"><h4>Added: trunk/dports/x11/xorg-xcb-proto/files/0002-print-is-a-function-and-needs-parentheses.patch (0 => 149221)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/x11/xorg-xcb-proto/files/0002-print-is-a-function-and-needs-parentheses.patch                                (rev 0)
+++ trunk/dports/x11/xorg-xcb-proto/files/0002-print-is-a-function-and-needs-parentheses.patch        2016-06-06 16:07:28 UTC (rev 149221)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001
+From: Thomas Klausner &lt;wiz@NetBSD.org&gt;
+Date: Thu, 19 May 2016 17:30:05 +0200
+Subject: [PATCH 2/4] print() is a function and needs parentheses.
+
+Fixes build with python-3.x.
+
+Signed-off-by: Thomas Klausner &lt;wiz@NetBSD.org&gt;
+Signed-off-by: Uli Schlachter &lt;psychon@znc.in&gt;
+---
+ xcbgen/xtypes.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py
+index c3b5758..b83b119 100644
+--- a/xcbgen/xtypes.py
++++ b/xcbgen/xtypes.py
+@@ -501,7 +501,7 @@ class ComplexType(Type):
+                 int(required_start_align_element.get('align', &quot;4&quot;), 0),
+                 int(required_start_align_element.get('offset', &quot;0&quot;), 0))
+             if verbose_align_log:
+-                print &quot;Explicit start-align for %s: %s\n&quot; % (self, self.required_start_align)
++                print (&quot;Explicit start-align for %s: %s\n&quot; % (self, self.required_start_align))

+     def resolve(self, module):
+         if self.resolved:
+@@ -592,7 +592,7 @@ class ComplexType(Type):
+                 if verbose_align_log:
+                     print (&quot;calc_required_start_align: %s has start-align %s&quot;
+                         % (str(self), str(self.required_start_align)))
+-                    print &quot;Details:\n&quot; + str(log)
++                    print (&quot;Details:\n&quot; + str(log))
+                 if self.required_start_align.offset != 0:
+                     print ((&quot;WARNING: %s\n\thas start-align with non-zero offset: %s&quot;
+                         + &quot;\n\tsuggest to add explicit definition with:&quot;
+@@ -619,12 +619,12 @@ class ComplexType(Type):
+             for offset in range(0,align):
+                 align_candidate = Alignment(align, offset)
+                 if verbose_align_log:
+-                    print &quot;trying %s for %s&quot; % (str(align_candidate), str(self))
++                    print (&quot;trying %s for %s&quot; % (str(align_candidate), str(self)))
+                 my_log = AlignmentLog()
+                 if self.is_possible_start_align(align_candidate, callstack, my_log):
+                     log.append(my_log)
+                     if verbose_align_log:
+-                        print &quot;found start-align %s for %s&quot; % (str(align_candidate), str(self))
++                        print (&quot;found start-align %s for %s&quot; % (str(align_candidate), str(self)))
+                     return align_candidate
+                 else:
+                     my_ok_count = my_log.ok_count()
+@@ -641,7 +641,7 @@ class ComplexType(Type):
+         # none of the candidates applies
+         # this type has illegal internal aligns for all possible start_aligns
+         if verbose_align_log:
+-            print &quot;didn't find start-align for %s&quot; % str(self)
++            print (&quot;didn't find start-align for %s&quot; % str(self))
+         log.append(best_log)
+         return None

+@@ -900,7 +900,7 @@ class SwitchType(ComplexType):
+     # aux function for unchecked_get_alignment_after
+     def get_align_for_selected_case_field(self, case_field, start_align, callstack, log):
+         if verbose_align_log:
+-            print &quot;get_align_for_selected_case_field: %s, case_field = %s&quot; % (str(self), str(case_field))
++            print (&quot;get_align_for_selected_case_field: %s, case_field = %s&quot; % (str(self), str(case_field)))
+         total_align = start_align
+         for field in self.bitcases:
+             my_callstack = callstack[:]
+-- 
+2.8.3
+
</ins></span></pre></div>
<a id="trunkdportsx11xorgxcbprotofiles0003resFixQueryClientIdsreplysizepatch"></a>
<div class="addfile"><h4>Added: trunk/dports/x11/xorg-xcb-proto/files/0003-res-Fix-QueryClientIds-reply-size.patch (0 => 149221)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/x11/xorg-xcb-proto/files/0003-res-Fix-QueryClientIds-reply-size.patch                                (rev 0)
+++ trunk/dports/x11/xorg-xcb-proto/files/0003-res-Fix-QueryClientIds-reply-size.patch        2016-06-06 16:07:28 UTC (rev 149221)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+From f7948e355d85624c577d0fa63977b3bed4d6024f Mon Sep 17 00:00:00 2001
+From: Peter Harris &lt;pharris@opentext.com&gt;
+Date: Fri, 20 May 2016 19:13:34 -0400
+Subject: [PATCH 3/4] res: Fix QueryClientIds reply size
+
+The specification disagrees with itself, so use the part of the
+specification that matches the other implementations.
+
+Reviewed-by: Ran Benita &lt;ran234@gmail.com&gt;
+Signed-off-by: Peter Harris &lt;pharris@opentext.com&gt;
+---
+ src/res.xml | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/res.xml b/src/res.xml
+index 17e6f83..be32ca1 100644
+--- a/src/res.xml
++++ b/src/res.xml
+@@ -55,7 +55,15 @@ authorization from the authors.
+         &lt;field type=&quot;ClientIdSpec&quot; name=&quot;spec&quot; /&gt;
+         &lt;field type=&quot;CARD32&quot; name=&quot;length&quot; /&gt;
+         &lt;list type=&quot;CARD32&quot; name=&quot;value&quot;&gt;
+-            &lt;fieldref&gt;length&lt;/fieldref&gt;
++            &lt;!-- The specification says that the length is in units of CARD32,
++                 but the specification also says that the length is 4 when a
++                 single LocalClientPid is present (ie. the length is in bytes).
++                 The current server implementation sets the length to 4 when a
++                 single CARD32 is present on the wire (length is in bytes). --&gt;
++            &lt;op op=&quot;/&quot;&gt;
++                &lt;fieldref&gt;length&lt;/fieldref&gt;
++                &lt;value&gt;4&lt;/value&gt;
++            &lt;/op&gt;
+         &lt;/list&gt;
+     &lt;/struct&gt;

+-- 
+2.8.3
+
</ins></span></pre></div>
<a id="trunkdportsx11xorgxcbprotofiles0004UpdateXMLschematofixmakecheckpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/x11/xorg-xcb-proto/files/0004-Update-XML-schema-to-fix-make-check.patch (0 => 149221)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/x11/xorg-xcb-proto/files/0004-Update-XML-schema-to-fix-make-check.patch                                (rev 0)
+++ trunk/dports/x11/xorg-xcb-proto/files/0004-Update-XML-schema-to-fix-make-check.patch        2016-06-06 16:07:28 UTC (rev 149221)
</span><span class="lines">@@ -0,0 +1,123 @@
</span><ins>+From 95a262e0e66cd88b9d7a133917b3ba70ace77301 Mon Sep 17 00:00:00 2001
+From: Jon Turney &lt;jon.turney@dronecode.org.uk&gt;
+Date: Wed, 3 Feb 2016 16:41:57 +0000
+Subject: [PATCH 4/4] 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 &lt;jon.turney@dronecode.org.uk&gt;
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95494
+Reviewd-by: Ran Benita &lt;ran234@gmail.com&gt;
+Signed-off-by: Uli Schlachter &lt;psychon@znc.in&gt;
+---
+ src/xcb.xsd | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+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.
+     &lt;xsd:complexType&gt;
+       &lt;xsd:attribute name=&quot;bytes&quot; type=&quot;xsd:integer&quot; use=&quot;optional&quot; /&gt;
+       &lt;xsd:attribute name=&quot;align&quot; type=&quot;xsd:integer&quot; use=&quot;optional&quot; /&gt;
++      &lt;xsd:attribute name=&quot;serialize&quot; type=&quot;xsd:boolean&quot; use=&quot;optional&quot; /&gt;
++    &lt;/xsd:complexType&gt;
++  &lt;/xsd:element&gt;
++
++  &lt;!-- Alignment --&gt;
++  &lt;xsd:element name=&quot;required_start_align&quot; &gt;
++    &lt;xsd:complexType&gt;
++      &lt;xsd:attribute name=&quot;align&quot; type=&quot;xsd:integer&quot; use=&quot;required&quot; /&gt;
++      &lt;xsd:attribute name=&quot;offset&quot; type=&quot;xsd:integer&quot; use=&quot;optional&quot; /&gt;
+     &lt;/xsd:complexType&gt;
+   &lt;/xsd:element&gt;

+@@ -76,14 +85,13 @@ authorization from the authors.
+     &lt;xsd:sequence&gt;
+       &lt;!-- switch(expression) --&gt;
+       &lt;xsd:group ref=&quot;expression&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot; /&gt;
++      &lt;xsd:element ref=&quot;required_start_align&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;1&quot; /&gt;
+       &lt;xsd:choice&gt;
+         &lt;!-- bitcase expression - bit test --&gt;
+         &lt;xsd:element name=&quot;bitcase&quot; type=&quot;caseexpr&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot; /&gt;
+         &lt;!-- case expression - value test --&gt;
+         &lt;xsd:element name=&quot;case&quot; type=&quot;caseexpr&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot; /&gt;
+       &lt;/xsd:choice&gt;
+-      &lt;!-- default: --&gt;
+-      &lt;xsd:group ref=&quot;fields&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;1&quot; /&gt;
+     &lt;/xsd:sequence&gt;
+     &lt;xsd:attribute name=&quot;name&quot; type=&quot;xsd:string&quot; use=&quot;required&quot; /&gt;
+   &lt;/xsd:complexType&gt;
+@@ -201,6 +209,7 @@ authorization from the authors.
+       &lt;xsd:element ref=&quot;field&quot; /&gt;
+       &lt;xsd:element ref=&quot;list&quot; /&gt;
+       &lt;xsd:element ref=&quot;fd&quot; /&gt;
++      &lt;xsd:element ref=&quot;required_start_align&quot; /&gt;
+     &lt;/xsd:choice&gt;
+   &lt;/xsd:group&gt;

+-- 
+2.8.3
+
</ins></span></pre>
</div>
</div>

</body>
</html>